UNPKG

vuetify

Version:

Vue Material Component Framework

76 lines (73 loc) 1.92 kB
import { createVNode as _createVNode } from "vue"; // Styles import "./VChipGroup.css"; // Composables import { makeGroupProps, useGroup } from "../../composables/group.mjs"; import { makeTagProps } from "../../composables/tag.mjs"; import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; import { makeVariantProps } from "../../composables/variant.mjs"; import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities import { deepEqual, genericComponent, useRender } from "../../util/index.mjs"; import { toRef } from 'vue'; // Types export const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group'); export const VChipGroup = genericComponent()({ name: 'VChipGroup', props: { column: Boolean, filter: Boolean, valueComparator: { type: Function, default: deepEqual }, ...makeGroupProps({ selectedClass: 'v-chip--selected' }), ...makeTagProps(), ...makeThemeProps(), ...makeVariantProps({ variant: 'tonal' }) }, emits: { 'update:modelValue': value => true }, setup(props, _ref) { let { slots } = _ref; const { themeClasses } = provideTheme(props); const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol); provideDefaults({ VChip: { color: toRef(props, 'color'), disabled: toRef(props, 'disabled'), filter: toRef(props, 'filter'), variant: toRef(props, 'variant') } }); useRender(() => _createVNode(props.tag, { "class": ['v-chip-group', { 'v-chip-group--column': props.column }, themeClasses.value] }, { default: () => [slots.default?.({ isSelected, select, next, prev, selected: selected.value })] })); return {}; } }); //# sourceMappingURL=VChipGroup.mjs.map