button-group.vue 576 B

123456789101112131415161718192021222324
  1. <template>
  2. <div :class="`${ns.b('group')}`">
  3. <slot />
  4. </div>
  5. </template>
  6. <script lang="ts" setup>
  7. import { provide, reactive, toRef } from 'vue'
  8. import { buttonGroupContextKey } from '@kankan-components/tokens'
  9. import { useNamespace } from '@kankan-components/hooks'
  10. import { buttonGroupProps } from './button-group'
  11. defineOptions({
  12. name: 'KkButtonGroup',
  13. })
  14. const props = defineProps(buttonGroupProps)
  15. provide(
  16. buttonGroupContextKey,
  17. reactive({
  18. size: toRef(props, 'size'),
  19. type: toRef(props, 'type'),
  20. })
  21. )
  22. const ns = useNamespace('button')
  23. </script>