@vuetify/nightly 3.4.10-dev.2024-01-10 → 3.4.10-dev.2024-01-16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +19 -2
  2. package/dist/json/attributes.json +265 -209
  3. package/dist/json/importMap.json +126 -126
  4. package/dist/json/tags.json +14 -0
  5. package/dist/json/web-types.json +560 -403
  6. package/dist/vuetify-labs.css +1712 -1706
  7. package/dist/vuetify-labs.d.ts +8344 -2173
  8. package/dist/vuetify-labs.esm.js +15375 -15299
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +15375 -15299
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2807 -2801
  13. package/dist/vuetify.d.ts +7283 -1112
  14. package/dist/vuetify.esm.js +15375 -15299
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +15375 -15299
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +791 -787
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -2
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/index.d.mts +1698 -0
  24. package/lib/components/VBanner/index.d.mts +4 -4
  25. package/lib/components/VBtn/VBtn.mjs +3 -1
  26. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  27. package/lib/components/VBtn/index.d.mts +21 -5
  28. package/lib/components/VCarousel/index.d.mts +9 -9
  29. package/lib/components/VChipGroup/VChipGroup.css +3 -3
  30. package/lib/components/VChipGroup/VChipGroup.mjs +22 -16
  31. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  32. package/lib/components/VChipGroup/VChipGroup.sass +4 -3
  33. package/lib/components/VChipGroup/index.d.mts +118 -1
  34. package/lib/components/VCombobox/VCombobox.mjs +9 -3
  35. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  36. package/lib/components/VCombobox/index.d.mts +1704 -0
  37. package/lib/components/VDataIterator/VDataIterator.mjs +2 -1
  38. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  39. package/lib/components/VDataIterator/index.d.mts +6 -0
  40. package/lib/components/VDataTable/VDataTable.mjs +2 -1
  41. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  42. package/lib/components/VDataTable/VDataTableFooter.css +9 -4
  43. package/lib/components/VDataTable/VDataTableFooter.sass +9 -4
  44. package/lib/components/VDataTable/_variables.scss +5 -0
  45. package/lib/components/VDataTable/composables/paginate.mjs +6 -2
  46. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  47. package/lib/components/VDataTable/index.d.mts +34 -28
  48. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  49. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  50. package/lib/components/VDatePicker/VDatePickerMonth.mjs +56 -11
  51. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  52. package/lib/components/VDatePicker/index.d.mts +34 -19
  53. package/lib/components/VFileInput/VFileInput.mjs +2 -2
  54. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  55. package/lib/components/VList/VListItem.css +1 -0
  56. package/lib/components/VList/VListItem.sass +1 -0
  57. package/lib/components/VList/_variables.scss +1 -0
  58. package/lib/components/VSelect/VSelect.mjs +5 -2
  59. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  60. package/lib/components/VSelect/index.d.mts +1689 -0
  61. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -3
  62. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  63. package/lib/components/VSlideGroup/index.d.mts +7 -7
  64. package/lib/components/VSlider/VSliderThumb.mjs +4 -3
  65. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  66. package/lib/components/VTabs/VTab.mjs +6 -6
  67. package/lib/components/VTabs/VTab.mjs.map +1 -1
  68. package/lib/components/VTabs/index.d.mts +1116 -17
  69. package/lib/components/VWindow/index.d.mts +7 -7
  70. package/lib/components/index.d.mts +8361 -2190
  71. package/lib/composables/calendar.mjs +1 -1
  72. package/lib/composables/calendar.mjs.map +1 -1
  73. package/lib/composables/date/adapters/vuetify.mjs +1 -2
  74. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  75. package/lib/composables/date/date.mjs +4 -4
  76. package/lib/composables/date/date.mjs.map +1 -1
  77. package/lib/composables/locale.mjs +47 -2
  78. package/lib/composables/locale.mjs.map +1 -1
  79. package/lib/entry-bundler.mjs +1 -1
  80. package/lib/framework.mjs +1 -1
  81. package/lib/index.d.mts +34 -34
  82. package/lib/locale/index.d.mts +2 -46
  83. package/lib/locale/index.mjs +0 -44
  84. package/lib/locale/index.mjs.map +1 -1
  85. package/lib/locale/km.mjs +2 -1
  86. package/lib/locale/km.mjs.map +1 -1
  87. package/lib/styles/main.css +78 -78
  88. package/lib/styles/settings/_utilities.scss +1 -0
  89. package/lib/util/helpers.mjs +1 -43
  90. package/lib/util/helpers.mjs.map +1 -1
  91. package/package.json +2 -1
  92. package/lib/components/VDatePicker/utils.mjs +0 -69
  93. package/lib/components/VDatePicker/utils.mjs.map +0 -1
  94. package/lib/util/dateTimeUtils.mjs +0 -115
  95. package/lib/util/dateTimeUtils.mjs.map +0 -1
@@ -45,8 +45,8 @@ declare const VBanner: {
45
45
  theme?: string | undefined;
46
46
  rounded?: string | number | boolean | undefined;
47
47
  bgColor?: string | undefined;
48
- lines?: "one" | "two" | "three" | undefined;
49
48
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
49
+ lines?: "one" | "two" | "three" | undefined;
50
50
  avatar?: string | undefined;
51
51
  } & {
52
52
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -90,8 +90,8 @@ declare const VBanner: {
90
90
  theme?: string | undefined;
91
91
  rounded?: string | number | boolean | undefined;
92
92
  bgColor?: string | undefined;
93
- lines?: "one" | "two" | "three" | undefined;
94
93
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
94
+ lines?: "one" | "two" | "three" | undefined;
95
95
  avatar?: string | undefined;
96
96
  } & {
97
97
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -162,8 +162,8 @@ declare const VBanner: {
162
162
  theme?: string | undefined;
163
163
  rounded?: string | number | boolean | undefined;
164
164
  bgColor?: string | undefined;
165
- lines?: "one" | "two" | "three" | undefined;
166
165
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
166
+ lines?: "one" | "two" | "three" | undefined;
167
167
  avatar?: string | undefined;
168
168
  } & {
169
169
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -218,8 +218,8 @@ declare const VBanner: {
218
218
  theme?: string | undefined;
219
219
  rounded?: string | number | boolean | undefined;
220
220
  bgColor?: string | undefined;
221
- lines?: "one" | "two" | "three" | undefined;
222
221
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
222
+ lines?: "one" | "two" | "three" | undefined;
223
223
  avatar?: string | undefined;
224
224
  } & {
225
225
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -223,7 +223,9 @@ export const VBtn = genericComponent()({
223
223
  }, null)])]
224
224
  }), [[_resolveDirective("ripple"), !isDisabled.value && props.ripple, null]]);
225
225
  });
226
- return {};
226
+ return {
227
+ group
228
+ };
227
229
  }
228
230
  });
229
231
  //# sourceMappingURL=VBtn.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VBtn.mjs","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","symbol","flat","icon","String","Function","Object","prependIcon","appendIcon","block","slim","stacked","ripple","text","tag","variant","VBtn","name","directives","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","hasColor","_withDirectives","_createVNode","selectedClass","loading","class","style","href","loader","_resolveDirective"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n const hasColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? props.text }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n size=\"23\"\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VBtn.mjs","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","symbol","flat","icon","String","Function","Object","prependIcon","appendIcon","block","slim","stacked","ripple","text","tag","variant","VBtn","name","directives","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","hasColor","_withDirectives","_createVNode","selectedClass","loading","class","style","href","loader","_resolveDirective"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n const hasColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? props.text }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n size=\"23\"\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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"}
@@ -35,6 +35,16 @@ interface GroupProvide {
35
35
  disabled: Ref<boolean | undefined>;
36
36
  getItemIndex: (value: unknown) => number;
37
37
  }
38
+ interface GroupItemProvide {
39
+ id: number;
40
+ isSelected: Ref<boolean>;
41
+ toggle: () => void;
42
+ select: (value: boolean) => void;
43
+ selectedClass: Ref<(string | undefined)[] | false>;
44
+ value: Ref<unknown>;
45
+ disabled: Ref<boolean | undefined>;
46
+ group: GroupProvide;
47
+ }
38
48
 
39
49
  type Density = null | 'default' | 'comfortable' | 'compact';
40
50
 
@@ -106,10 +116,12 @@ declare const VBtn: {
106
116
  "onGroup:selected"?: ((val: {
107
117
  value: boolean;
108
118
  }) => any) | undefined;
109
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
119
+ }, {
120
+ group: GroupItemProvide | null;
121
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
110
122
  'group:selected': (val: {
111
123
  value: boolean;
112
- }) => boolean;
124
+ }) => true;
113
125
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
114
126
  symbol: any;
115
127
  replace: boolean;
@@ -277,7 +289,9 @@ declare const VBtn: {
277
289
  "onGroup:selected"?: ((val: {
278
290
  value: boolean;
279
291
  }) => any) | undefined;
280
- }, {}, {}, {}, {}, {
292
+ }, {
293
+ group: GroupItemProvide | null;
294
+ }, {}, {}, {}, {
281
295
  symbol: any;
282
296
  replace: boolean;
283
297
  flat: boolean;
@@ -364,10 +378,12 @@ declare const VBtn: {
364
378
  "onGroup:selected"?: ((val: {
365
379
  value: boolean;
366
380
  }) => any) | undefined;
367
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
381
+ }, {
382
+ group: GroupItemProvide | null;
383
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
368
384
  'group:selected': (val: {
369
385
  value: boolean;
370
- }) => boolean;
386
+ }) => true;
371
387
  }, string, {
372
388
  symbol: any;
373
389
  replace: boolean;
@@ -124,10 +124,10 @@ declare const VCarousel: {
124
124
  tag: string;
125
125
  mandatory: NonNullable<boolean | "force">;
126
126
  selectedClass: string;
127
- continuous: boolean;
128
127
  nextIcon: IconValue;
129
128
  prevIcon: IconValue;
130
129
  showArrows: NonNullable<string | boolean>;
130
+ continuous: boolean;
131
131
  cycle: boolean;
132
132
  delimiterIcon: IconValue;
133
133
  hideDelimiters: boolean;
@@ -141,7 +141,7 @@ declare const VCarousel: {
141
141
  verticalDelimiters?: boolean | "left" | "right" | undefined;
142
142
  } & {}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
143
143
  'update:modelValue': (value: any) => boolean;
144
- }, "$children" | "v-slot:default" | "v-slots" | "v-slot:additional" | "modelValue" | "update:modelValue" | "v-slot:item" | "v-slot:next" | "v-slot:prev">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
144
+ }, "$children" | "v-slot:default" | "v-slots" | "v-slot:additional" | "modelValue" | "update:modelValue" | "v-slot:next" | "v-slot:prev" | "v-slot:item">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
145
145
  reverse: boolean;
146
146
  interval: string | number;
147
147
  height: string | number;
@@ -151,10 +151,10 @@ declare const VCarousel: {
151
151
  tag: string;
152
152
  mandatory: NonNullable<boolean | "force">;
153
153
  selectedClass: string;
154
- continuous: boolean;
155
154
  nextIcon: IconValue;
156
155
  prevIcon: IconValue;
157
156
  showArrows: NonNullable<string | boolean>;
157
+ continuous: boolean;
158
158
  cycle: boolean;
159
159
  delimiterIcon: IconValue;
160
160
  hideDelimiters: boolean;
@@ -177,10 +177,10 @@ declare const VCarousel: {
177
177
  mandatory: NonNullable<boolean | "force">;
178
178
  touch: boolean | TouchHandlers;
179
179
  selectedClass: string;
180
- continuous: boolean;
181
180
  nextIcon: IconValue;
182
181
  prevIcon: IconValue;
183
182
  showArrows: NonNullable<string | boolean>;
183
+ continuous: boolean;
184
184
  cycle: boolean;
185
185
  delimiterIcon: IconValue;
186
186
  hideDelimiters: boolean;
@@ -243,10 +243,10 @@ declare const VCarousel: {
243
243
  tag: string;
244
244
  mandatory: NonNullable<boolean | "force">;
245
245
  selectedClass: string;
246
- continuous: boolean;
247
246
  nextIcon: IconValue;
248
247
  prevIcon: IconValue;
249
248
  showArrows: NonNullable<string | boolean>;
249
+ continuous: boolean;
250
250
  cycle: boolean;
251
251
  delimiterIcon: IconValue;
252
252
  hideDelimiters: boolean;
@@ -269,10 +269,10 @@ declare const VCarousel: {
269
269
  mandatory: NonNullable<boolean | "force">;
270
270
  touch: boolean | TouchHandlers;
271
271
  selectedClass: string;
272
- continuous: boolean;
273
272
  nextIcon: IconValue;
274
273
  prevIcon: IconValue;
275
274
  showArrows: NonNullable<string | boolean>;
275
+ continuous: boolean;
276
276
  cycle: boolean;
277
277
  delimiterIcon: IconValue;
278
278
  hideDelimiters: boolean;
@@ -291,10 +291,10 @@ declare const VCarousel: {
291
291
  tag: string;
292
292
  mandatory: NonNullable<boolean | "force">;
293
293
  selectedClass: string;
294
- continuous: boolean;
295
294
  nextIcon: IconValue;
296
295
  prevIcon: IconValue;
297
296
  showArrows: NonNullable<string | boolean>;
297
+ continuous: boolean;
298
298
  cycle: boolean;
299
299
  delimiterIcon: IconValue;
300
300
  hideDelimiters: boolean;
@@ -308,7 +308,7 @@ declare const VCarousel: {
308
308
  verticalDelimiters?: boolean | "left" | "right" | undefined;
309
309
  } & {}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
310
310
  'update:modelValue': (value: any) => boolean;
311
- }, "$children" | "v-slot:default" | "v-slots" | "v-slot:additional" | "modelValue" | "update:modelValue" | "v-slot:item" | "v-slot:next" | "v-slot:prev">, string, {
311
+ }, "$children" | "v-slot:default" | "v-slots" | "v-slot:additional" | "modelValue" | "update:modelValue" | "v-slot:next" | "v-slot:prev" | "v-slot:item">, string, {
312
312
  reverse: boolean;
313
313
  interval: string | number;
314
314
  height: string | number;
@@ -319,10 +319,10 @@ declare const VCarousel: {
319
319
  mandatory: NonNullable<boolean | "force">;
320
320
  touch: boolean | TouchHandlers;
321
321
  selectedClass: string;
322
- continuous: boolean;
323
322
  nextIcon: IconValue;
324
323
  prevIcon: IconValue;
325
324
  showArrows: NonNullable<string | boolean>;
325
+ continuous: boolean;
326
326
  cycle: boolean;
327
327
  delimiterIcon: IconValue;
328
328
  hideDelimiters: boolean;
@@ -4,7 +4,6 @@
4
4
  min-width: 0;
5
5
  overflow-x: auto;
6
6
  padding: 4px 0;
7
- flex-wrap: wrap;
8
7
  }
9
8
  .v-chip-group .v-chip {
10
9
  margin: 4px 8px 4px 0;
@@ -13,7 +12,8 @@
13
12
  opacity: var(--v-activated-opacity);
14
13
  }
15
14
 
16
- .v-chip-group--column {
17
- flex-wrap: wrap;
15
+ .v-chip-group--column .v-slide-group__content {
18
16
  white-space: normal;
17
+ flex-wrap: wrap;
18
+ max-width: 100%;
19
19
  }
@@ -1,8 +1,9 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Styles
3
3
  import "./VChipGroup.css";
4
4
 
5
- // Composables
5
+ // Components
6
+ import { makeVSlideGroupProps, VSlideGroup } from "../VSlideGroup/VSlideGroup.mjs"; // Composables
6
7
  import { makeComponentProps } from "../../composables/component.mjs";
7
8
  import { provideDefaults } from "../../composables/defaults.mjs";
8
9
  import { makeGroupProps, useGroup } from "../../composables/group.mjs";
@@ -19,6 +20,7 @@ export const makeVChipGroupProps = propsFactory({
19
20
  type: Function,
20
21
  default: deepEqual
21
22
  },
23
+ ...makeVSlideGroupProps(),
22
24
  ...makeComponentProps(),
23
25
  ...makeGroupProps({
24
26
  selectedClass: 'v-chip--selected'
@@ -57,20 +59,24 @@ export const VChipGroup = genericComponent()({
57
59
  variant: toRef(props, 'variant')
58
60
  }
59
61
  });
60
- useRender(() => _createVNode(props.tag, {
61
- "class": ['v-chip-group', {
62
- 'v-chip-group--column': props.column
63
- }, themeClasses.value, props.class],
64
- "style": props.style
65
- }, {
66
- default: () => [slots.default?.({
67
- isSelected,
68
- select,
69
- next,
70
- prev,
71
- selected: selected.value
72
- })]
73
- }));
62
+ useRender(() => {
63
+ // TODO: fix type
64
+ const [slideGroupProps] = VSlideGroup.filterProps(props);
65
+ return _createVNode(VSlideGroup, _mergeProps(slideGroupProps, {
66
+ "class": ['v-chip-group', {
67
+ 'v-chip-group--column': props.column
68
+ }, themeClasses.value, props.class],
69
+ "style": props.style
70
+ }), {
71
+ default: () => [slots.default?.({
72
+ isSelected,
73
+ select,
74
+ next,
75
+ prev,
76
+ selected: selected.value
77
+ })]
78
+ });
79
+ });
74
80
  return {};
75
81
  }
76
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VChipGroup.mjs","names":["makeComponentProps","provideDefaults","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","toRef","deepEqual","genericComponent","propsFactory","useRender","VChipGroupSymbol","Symbol","for","makeVChipGroupProps","column","Boolean","filter","valueComparator","type","Function","default","selectedClass","variant","VChipGroup","name","props","emits","value","setup","_ref","slots","themeClasses","isSelected","select","next","prev","selected","VChip","color","disabled","_createVNode","tag","class","style"],"sources":["../../../src/components/VChipGroup/VChipGroup.tsx"],"sourcesContent":["// Styles\nimport './VChipGroup.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { deepEqual, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const makeVChipGroupProps = propsFactory({\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeComponentProps(),\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChipGroup')\n\ntype VChipGroupSlots = {\n default: {\n isSelected: (id: number) => boolean\n select: (id: number, value: boolean) => void\n next: () => void\n prev: () => void\n selected: readonly number[]\n }\n}\n\nexport const VChipGroup = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VChipGroupSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VChipGroup',\n\n props: makeVChipGroupProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n })}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB,yCAEzB;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAE7D;AAIA,OAAO,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAElE,OAAO,MAAMC,mBAAmB,GAAGL,YAAY,CAAC;EAC9CM,MAAM,EAAEC,OAAO;EACfC,MAAM,EAAED,OAAO;EACfE,eAAe,EAAE;IACfC,IAAI,EAAEC,QAAsC;IAC5CC,OAAO,EAAEd;EACX,CAAC;EAED,GAAGT,kBAAkB,CAAC,CAAC;EACvB,GAAGE,cAAc,CAAC;IAAEsB,aAAa,EAAE;EAAmB,CAAC,CAAC;EACxD,GAAGpB,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGE,gBAAgB,CAAC;IAAEkB,OAAO,EAAE;EAAQ,CAAU;AACnD,CAAC,EAAE,YAAY,CAAC;AAYhB,OAAO,MAAMC,UAAU,GAAGhB,gBAAgB,CAMK,CAAC,CAAC;EAC/CiB,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEZ,mBAAmB,CAAC,CAAC;EAE5Ba,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAG5B,YAAY,CAACsB,KAAK,CAAC;IAC5C,MAAM;MAAEO,UAAU;MAAEC,MAAM;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGpC,QAAQ,CAACyB,KAAK,EAAEf,gBAAgB,CAAC;IAEtFZ,eAAe,CAAC;MACduC,KAAK,EAAE;QACLC,KAAK,EAAEjC,KAAK,CAACoB,KAAK,EAAE,OAAO,CAAC;QAC5Bc,QAAQ,EAAElC,KAAK,CAACoB,KAAK,EAAE,UAAU,CAAC;QAClCT,MAAM,EAAEX,KAAK,CAACoB,KAAK,EAAE,QAAQ,CAAC;QAC9BH,OAAO,EAAEjB,KAAK,CAACoB,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFhB,SAAS,CAAC,MAAA+B,YAAA,CAAAf,KAAA,CAAAgB,GAAA;MAAA,SAEC,CACL,cAAc,EACd;QACE,sBAAsB,EAAEhB,KAAK,CAACX;MAChC,CAAC,EACDiB,YAAY,CAACJ,KAAK,EAClBF,KAAK,CAACiB,KAAK,CACZ;MAAA,SACOjB,KAAK,CAACkB;IAAK;MAAAvB,OAAA,EAAAA,CAAA,MAEjBU,KAAK,CAACV,OAAO,GAAG;QAChBY,UAAU;QACVC,MAAM;QACNC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,CAACT;MACrB,CAAC,CAAC;IAAA,EAEL,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VChipGroup.mjs","names":["makeVSlideGroupProps","VSlideGroup","makeComponentProps","provideDefaults","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","toRef","deepEqual","genericComponent","propsFactory","useRender","VChipGroupSymbol","Symbol","for","makeVChipGroupProps","column","Boolean","filter","valueComparator","type","Function","default","selectedClass","variant","VChipGroup","name","props","emits","value","setup","_ref","slots","themeClasses","isSelected","select","next","prev","selected","VChip","color","disabled","slideGroupProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VChipGroup/VChipGroup.tsx"],"sourcesContent":["// Styles\nimport './VChipGroup.sass'\n\n// Components\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { deepEqual, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const makeVChipGroupProps = propsFactory({\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeVSlideGroupProps(),\n ...makeComponentProps(),\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChipGroup')\n\ntype VChipGroupSlots = {\n default: {\n isSelected: (id: number) => boolean\n select: (id: number, value: boolean) => void\n next: () => void\n prev: () => void\n selected: readonly number[]\n }\n}\n\nexport const VChipGroup = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VChipGroupSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VChipGroup',\n\n props: makeVChipGroupProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n // TODO: fix type\n const [slideGroupProps] = VSlideGroup.filterProps(props) as any\n\n return (\n <VSlideGroup\n { ...slideGroupProps }\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n })}\n </VSlideGroup>\n )\n })\n\n return {}\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,oBAAoB,EAAEC,WAAW,0CAE1C;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB,yCAEzB;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAE7D;AAIA,OAAO,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAElE,OAAO,MAAMC,mBAAmB,GAAGL,YAAY,CAAC;EAC9CM,MAAM,EAAEC,OAAO;EACfC,MAAM,EAAED,OAAO;EACfE,eAAe,EAAE;IACfC,IAAI,EAAEC,QAAsC;IAC5CC,OAAO,EAAEd;EACX,CAAC;EAED,GAAGX,oBAAoB,CAAC,CAAC;EACzB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,cAAc,CAAC;IAAEsB,aAAa,EAAE;EAAmB,CAAC,CAAC;EACxD,GAAGpB,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGE,gBAAgB,CAAC;IAAEkB,OAAO,EAAE;EAAQ,CAAU;AACnD,CAAC,EAAE,YAAY,CAAC;AAYhB,OAAO,MAAMC,UAAU,GAAGhB,gBAAgB,CAMK,CAAC,CAAC;EAC/CiB,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEZ,mBAAmB,CAAC,CAAC;EAE5Ba,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAG5B,YAAY,CAACsB,KAAK,CAAC;IAC5C,MAAM;MAAEO,UAAU;MAAEC,MAAM;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGpC,QAAQ,CAACyB,KAAK,EAAEf,gBAAgB,CAAC;IAEtFZ,eAAe,CAAC;MACduC,KAAK,EAAE;QACLC,KAAK,EAAEjC,KAAK,CAACoB,KAAK,EAAE,OAAO,CAAC;QAC5Bc,QAAQ,EAAElC,KAAK,CAACoB,KAAK,EAAE,UAAU,CAAC;QAClCT,MAAM,EAAEX,KAAK,CAACoB,KAAK,EAAE,QAAQ,CAAC;QAC9BH,OAAO,EAAEjB,KAAK,CAACoB,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFhB,SAAS,CAAC,MAAM;MACd;MACA,MAAM,CAAC+B,eAAe,CAAC,GAAG5C,WAAW,CAAC6C,WAAW,CAAChB,KAAK,CAAQ;MAE/D,OAAAiB,YAAA,CAAA9C,WAAA,EAAA+C,WAAA,CAESH,eAAe;QAAA,SACb,CACL,cAAc,EACd;UACE,sBAAsB,EAAEf,KAAK,CAACX;QAChC,CAAC,EACDiB,YAAY,CAACJ,KAAK,EAClBF,KAAK,CAACmB,KAAK,CACZ;QAAA,SACOnB,KAAK,CAACoB;MAAK;QAAAzB,OAAA,EAAAA,CAAA,MAEjBU,KAAK,CAACV,OAAO,GAAG;UAChBY,UAAU;UACVC,MAAM;UACNC,IAAI;UACJC,IAAI;UACJC,QAAQ,EAAEA,QAAQ,CAACT;QACrB,CAAC,CAAC;MAAA;IAGR,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -7,7 +7,6 @@
7
7
  min-width: 0
8
8
  overflow-x: auto
9
9
  padding: $chip-group-padding
10
- flex-wrap: wrap // TODO: replace with slide-group
11
10
 
12
11
  .v-chip
13
12
  margin: $chip-group-margin
@@ -18,5 +17,7 @@
18
17
 
19
18
  // Modifiers
20
19
  .v-chip-group--column
21
- flex-wrap: wrap
22
- white-space: normal
20
+ .v-slide-group__content
21
+ white-space: normal
22
+ flex-wrap: wrap
23
+ max-width: 100%