0.8.2 • Published 2 years ago

@viarotel-org/float-bubble v0.8.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

float-bubble

适用于 PC 端的 vue2/3 的浮动气泡组件 支持磁吸、自定义样式、贴边自动隐藏等功能

Floating bubble components suitable for VUE2/3 suitable for PC -end support magnetic suction, custom style, automatic hiding edges and other functions

Demo 演示地址

Install

npm install @viarotel-org/float-bubble

Example

// vue3
import FloatBubble from '@viarotel-org/float-bubble'

// vue2.7 以上
import FloatBubble from '@viarotel-org/float-bubble/vue2s'

// vue2.6 以下
import FloatBubble from '@viarotel-org/float-bubble/vue2'

// 导入样式
import '@viarotel-org/float-bubble/style'

// vue3
app.use(FloatBubble)

// vue2/2.7
Vue.use(FloatBubble)
<!-- template 中使用 -->
<div class="float-bubble-container">
  <FloatBubble
    ref="floatBubble"
    parent=".float-bubble-container"
    :magnet="magneted"
    :position="{
      right: 24,
      bottom: 'center',
    }"
    @adsorb="onAdsorb"
    @unadsorb="onUnadsorb"
  />
</div>

Theme

组件预设了默认的菜单主题通过以下的方法使用 注意: 如果通过 use 方式加载的组件那么 则已自动挂载 否则需要从包中手动安装该组件

<FloatBubble
  ref="floatBubble"
  parent=".float-bubble-container"
  :magnet="magneted"
  :gap="0"
  :position="{
    top: 'center',
    right: 0,
  }"
>
  <template #default="handler">
    <FloatBubbleTheme v-bind="handler" :data="menuData" />
  </template>
</FloatBubble>

Props

// FloatBubble 的默认 props
const defaultProps = {
  offset: {
    type: Object,
    default: () => ({
      x: 0,
      y: 0,
    }),
  },
  position: {
    type: Object,
    default: () => ({
      bottom: 24, // "center"
      right: 24,
    }),
  },
  gap: {
    type: [Number, Object],
    default: 24,
  },
  parent: {
    type: String,
    default: 'body',
  },
  magnet: {
    type: Boolean,
    default: true,
  },
  text: {
    type: String,
    default: '',
  },
  image: {
    type: String,
    default: '',
  },
  size: {
    type: String,
    default: '50px',
  },
  bubbleClass: {
    type: [String, Object],
    default: '',
  },
}

// FloatBubbleTheme 默认的 Props
const themeProps = {
  adsorbed: {
    type: Boolean,
    default: false,
  },
  adsorbType: {
    type: String,
    default: '',
  },
  setAdsorbed: {
    type: Function,
    default: () => () => {},
  },
  updateAdsorb: {
    type: Function,
    default: () => () => {},
  },
  data: {
    type: Array,
    default: () => [],
    demo: [
      {
        hover: '帮助中心',
        text: '帮助',
        icon: 'iconfont icon-help',
        class: 'text-[16px]',
        click: () => {},
      },
      {
        hover: '反馈问题',
        text: '反馈',
        icon: 'iconfont icon-fankui',
        class: 'text-[16px]',
        click: () => {},
      },
    ],
  },
}
0.8.2

2 years ago

0.8.0

2 years ago

0.7.7

2 years ago

0.7.6

2 years ago

0.7.5

2 years ago

0.7.4

2 years ago

0.7.3

2 years ago

0.7.2

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.9

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.5.2

2 years ago

0.4.5

2 years ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.9

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago