vuetify 3.3.2 → 3.3.3

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 (86) hide show
  1. package/dist/json/attributes.json +8 -8
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/web-types.json +26 -15
  4. package/dist/vuetify-labs.css +53 -61
  5. package/dist/vuetify-labs.d.ts +253 -119
  6. package/dist/vuetify-labs.esm.js +196 -82
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +195 -81
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +10 -8
  11. package/dist/vuetify.d.ts +254 -120
  12. package/dist/vuetify.esm.js +191 -78
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +190 -77
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +780 -771
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.d.mts +2 -2
  20. package/lib/blueprints/md1.d.mts +2 -2
  21. package/lib/blueprints/md2.d.mts +2 -2
  22. package/lib/blueprints/md3.d.mts +2 -2
  23. package/lib/components/VAppBar/index.d.mts +24 -8
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -11
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VBtn/VBtn.mjs +1 -1
  27. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  28. package/lib/components/VBtn/index.d.mts +24 -8
  29. package/lib/components/VCard/VCard.mjs +1 -1
  30. package/lib/components/VCard/VCard.mjs.map +1 -1
  31. package/lib/components/VCard/index.d.mts +44 -28
  32. package/lib/components/VCheckbox/VCheckbox.mjs +8 -1
  33. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  34. package/lib/components/VCheckbox/index.d.mts +7 -1
  35. package/lib/components/VChip/VChip.mjs +2 -2
  36. package/lib/components/VChip/VChip.mjs.map +1 -1
  37. package/lib/components/VChip/index.d.mts +48 -32
  38. package/lib/components/VCombobox/VCombobox.mjs +16 -8
  39. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  40. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  41. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  42. package/lib/components/VExpansionPanel/index.d.mts +56 -24
  43. package/lib/components/VField/VField.css +1 -0
  44. package/lib/components/VField/VField.sass +1 -0
  45. package/lib/components/VIcon/VIcon.mjs +2 -2
  46. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  47. package/lib/components/VList/VListItem.mjs +1 -1
  48. package/lib/components/VList/VListItem.mjs.map +1 -1
  49. package/lib/components/VList/index.d.mts +24 -8
  50. package/lib/components/VMenu/VMenu.mjs +29 -3
  51. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  52. package/lib/components/VOverlay/VOverlay.mjs +7 -4
  53. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  54. package/lib/components/VOverlay/useActivator.mjs +29 -35
  55. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  56. package/lib/components/VSelect/VSelect.mjs +15 -10
  57. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  58. package/lib/components/VSlider/VSliderThumb.mjs +2 -2
  59. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  60. package/lib/components/VTabs/VTabs.css +1 -0
  61. package/lib/components/VTabs/VTabs.sass +1 -0
  62. package/lib/components/VTabs/index.d.mts +24 -8
  63. package/lib/components/VTextarea/VTextarea.css +7 -7
  64. package/lib/components/VTextarea/VTextarea.sass +9 -9
  65. package/lib/components/index.d.mts +251 -117
  66. package/lib/composables/icons.mjs.map +1 -1
  67. package/lib/composables/theme.mjs +1 -1
  68. package/lib/composables/theme.mjs.map +1 -1
  69. package/lib/entry-bundler.mjs +1 -1
  70. package/lib/framework.mjs +1 -1
  71. package/lib/iconsets/mdi-svg.mjs +35 -35
  72. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  73. package/lib/index.d.mts +3 -3
  74. package/lib/labs/VDataTable/VDataTable.css +4 -14
  75. package/lib/labs/VDataTable/VDataTable.sass +6 -15
  76. package/lib/labs/VDataTable/VDataTableHeaders.mjs +2 -2
  77. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  78. package/lib/labs/VDataTable/composables/select.mjs +3 -2
  79. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  80. package/lib/util/bindProps.mjs +49 -0
  81. package/lib/util/bindProps.mjs.map +1 -0
  82. package/lib/util/helpers.mjs +3 -0
  83. package/lib/util/helpers.mjs.map +1 -1
  84. package/lib/util/index.mjs +1 -0
  85. package/lib/util/index.mjs.map +1 -1
  86. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VCard.mjs","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","subtitle","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","isLink","value","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","class","style","href","navigate","cover","src","loading","loader","item","actions","_resolveDirective"],"sources":["../../../src/components/VCard/VCard.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\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 { IconValue } from '@/composables/icons'\nimport { LoaderSlot, 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 { 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 { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n subtitle: String,\n text: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\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 link = useLink(props, attrs)\n\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n href={ link.href.value }\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable.value, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VCard.mjs","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","isLink","value","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","class","style","href","navigate","cover","src","loading","loader","item","actions","_resolveDirective"],"sources":["../../../src/components/VCard/VCard.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\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 { IconValue } from '@/composables/icons'\nimport { LoaderSlot, 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 { 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 { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: String,\n text: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\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 link = useLink(props, attrs)\n\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n href={ link.href.value }\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable.value, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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"}
@@ -336,7 +336,9 @@ declare const VCard: {
336
336
  rounded?: string | number | boolean | undefined;
337
337
  density?: Density | undefined;
338
338
  variant?: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"> | undefined;
339
- ripple?: boolean | undefined;
339
+ ripple?: boolean | {
340
+ class: string;
341
+ } | undefined;
340
342
  hover?: boolean | undefined;
341
343
  key?: string | number | symbol | undefined;
342
344
  location?: Anchor | undefined;
@@ -490,7 +492,9 @@ declare const VCard: {
490
492
  tag: string;
491
493
  density: Density;
492
494
  variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
493
- ripple: boolean;
495
+ ripple: boolean | {
496
+ class: string;
497
+ } | undefined;
494
498
  hover: boolean;
495
499
  } & {
496
500
  link?: boolean | undefined;
@@ -566,7 +570,9 @@ declare const VCard: {
566
570
  rounded: string | number | boolean;
567
571
  density: Density;
568
572
  variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
569
- ripple: boolean;
573
+ ripple: boolean | {
574
+ class: string;
575
+ } | undefined;
570
576
  hover: boolean;
571
577
  }, {}, string, vue.SlotsType<Partial<{
572
578
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -628,7 +634,9 @@ declare const VCard: {
628
634
  tag: string;
629
635
  density: Density;
630
636
  variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
631
- ripple: boolean;
637
+ ripple: boolean | {
638
+ class: string;
639
+ } | undefined;
632
640
  hover: boolean;
633
641
  } & {
634
642
  link?: boolean | undefined;
@@ -706,7 +714,9 @@ declare const VCard: {
706
714
  tag: string;
707
715
  density: Density;
708
716
  variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
709
- ripple: boolean;
717
+ ripple: boolean | {
718
+ class: string;
719
+ } | undefined;
710
720
  hover: boolean;
711
721
  } & {
712
722
  link?: boolean | undefined;
@@ -782,7 +792,9 @@ declare const VCard: {
782
792
  rounded: string | number | boolean;
783
793
  density: Density;
784
794
  variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
785
- ripple: boolean;
795
+ ripple: boolean | {
796
+ class: string;
797
+ } | undefined;
786
798
  hover: boolean;
787
799
  }, {}, string, vue.SlotsType<Partial<{
788
800
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -818,11 +830,11 @@ declare const VCard: {
818
830
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
819
831
  color: StringConstructor;
820
832
  variant: Omit<{
821
- type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
833
+ type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
822
834
  default: string;
823
835
  validator: (v: any) => boolean;
824
836
  }, "type" | "default"> & {
825
- type: vue.PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
837
+ type: PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
826
838
  default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
827
839
  };
828
840
  theme: StringConstructor;
@@ -832,17 +844,17 @@ declare const VCard: {
832
844
  };
833
845
  href: StringConstructor;
834
846
  replace: BooleanConstructor;
835
- to: vue.PropType<vue_router.RouteLocationRaw>;
847
+ to: PropType<vue_router.RouteLocationRaw>;
836
848
  exact: BooleanConstructor;
837
849
  rounded: {
838
850
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
839
851
  default: undefined;
840
852
  };
841
853
  position: {
842
- type: vue.PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
854
+ type: PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
843
855
  validator: (v: any) => boolean;
844
856
  };
845
- location: vue.PropType<Anchor>;
857
+ location: PropType<Anchor>;
846
858
  loading: (StringConstructor | BooleanConstructor)[];
847
859
  elevation: {
848
860
  type: (StringConstructor | NumberConstructor)[];
@@ -855,18 +867,18 @@ declare const VCard: {
855
867
  minWidth: (StringConstructor | NumberConstructor)[];
856
868
  width: (StringConstructor | NumberConstructor)[];
857
869
  density: {
858
- type: vue.PropType<Density>;
870
+ type: PropType<Density>;
859
871
  default: string;
860
872
  validator: (v: any) => boolean;
861
873
  };
862
- class: vue.PropType<any>;
874
+ class: PropType<any>;
863
875
  style: {
864
- type: vue.PropType<vue.StyleValue>;
876
+ type: PropType<vue.StyleValue>;
865
877
  default: null;
866
878
  };
867
879
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
868
880
  appendAvatar: StringConstructor;
869
- appendIcon: vue.PropType<IconValue>;
881
+ appendIcon: PropType<IconValue>;
870
882
  disabled: BooleanConstructor;
871
883
  flat: BooleanConstructor;
872
884
  hover: BooleanConstructor;
@@ -876,9 +888,11 @@ declare const VCard: {
876
888
  default: undefined;
877
889
  };
878
890
  prependAvatar: StringConstructor;
879
- prependIcon: vue.PropType<IconValue>;
891
+ prependIcon: PropType<IconValue>;
880
892
  ripple: {
881
- type: BooleanConstructor;
893
+ type: PropType<boolean | {
894
+ class: string;
895
+ } | undefined>;
882
896
  default: boolean;
883
897
  };
884
898
  subtitle: StringConstructor;
@@ -887,11 +901,11 @@ declare const VCard: {
887
901
  }, vue.ExtractPropTypes<{
888
902
  color: StringConstructor;
889
903
  variant: Omit<{
890
- type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
904
+ type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
891
905
  default: string;
892
906
  validator: (v: any) => boolean;
893
907
  }, "type" | "default"> & {
894
- type: vue.PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
908
+ type: PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
895
909
  default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
896
910
  };
897
911
  theme: StringConstructor;
@@ -901,17 +915,17 @@ declare const VCard: {
901
915
  };
902
916
  href: StringConstructor;
903
917
  replace: BooleanConstructor;
904
- to: vue.PropType<vue_router.RouteLocationRaw>;
918
+ to: PropType<vue_router.RouteLocationRaw>;
905
919
  exact: BooleanConstructor;
906
920
  rounded: {
907
921
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
908
922
  default: undefined;
909
923
  };
910
924
  position: {
911
- type: vue.PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
925
+ type: PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
912
926
  validator: (v: any) => boolean;
913
927
  };
914
- location: vue.PropType<Anchor>;
928
+ location: PropType<Anchor>;
915
929
  loading: (StringConstructor | BooleanConstructor)[];
916
930
  elevation: {
917
931
  type: (StringConstructor | NumberConstructor)[];
@@ -924,18 +938,18 @@ declare const VCard: {
924
938
  minWidth: (StringConstructor | NumberConstructor)[];
925
939
  width: (StringConstructor | NumberConstructor)[];
926
940
  density: {
927
- type: vue.PropType<Density>;
941
+ type: PropType<Density>;
928
942
  default: string;
929
943
  validator: (v: any) => boolean;
930
944
  };
931
- class: vue.PropType<any>;
945
+ class: PropType<any>;
932
946
  style: {
933
- type: vue.PropType<vue.StyleValue>;
947
+ type: PropType<vue.StyleValue>;
934
948
  default: null;
935
949
  };
936
950
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
937
951
  appendAvatar: StringConstructor;
938
- appendIcon: vue.PropType<IconValue>;
952
+ appendIcon: PropType<IconValue>;
939
953
  disabled: BooleanConstructor;
940
954
  flat: BooleanConstructor;
941
955
  hover: BooleanConstructor;
@@ -945,9 +959,11 @@ declare const VCard: {
945
959
  default: undefined;
946
960
  };
947
961
  prependAvatar: StringConstructor;
948
- prependIcon: vue.PropType<IconValue>;
962
+ prependIcon: PropType<IconValue>;
949
963
  ripple: {
950
- type: BooleanConstructor;
964
+ type: PropType<boolean | {
965
+ class: string;
966
+ } | undefined>;
951
967
  default: boolean;
952
968
  };
953
969
  subtitle: StringConstructor;
@@ -5,7 +5,8 @@ import "./VCheckbox.css";
5
5
  // Components
6
6
  import { makeVCheckboxBtnProps, VCheckboxBtn } from "./VCheckboxBtn.mjs";
7
7
  import { makeVInputProps, VInput } from "../VInput/VInput.mjs"; // Composables
8
- import { useFocus } from "../../composables/focus.mjs"; // Utilities
8
+ import { useFocus } from "../../composables/focus.mjs";
9
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
9
10
  import { computed } from 'vue';
10
11
  import { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
11
12
  export const makeVCheckboxProps = propsFactory({
@@ -17,6 +18,7 @@ export const VCheckbox = genericComponent()({
17
18
  inheritAttrs: false,
18
19
  props: makeVCheckboxProps(),
19
20
  emits: {
21
+ 'update:modelValue': value => true,
20
22
  'update:focused': focused => true
21
23
  },
22
24
  setup(props, _ref) {
@@ -24,6 +26,7 @@ export const VCheckbox = genericComponent()({
24
26
  attrs,
25
27
  slots
26
28
  } = _ref;
29
+ const model = useProxiedModel(props, 'modelValue');
27
30
  const {
28
31
  isFocused,
29
32
  focus,
@@ -38,6 +41,8 @@ export const VCheckbox = genericComponent()({
38
41
  return _createVNode(VInput, _mergeProps({
39
42
  "class": ['v-checkbox', props.class]
40
43
  }, inputAttrs, inputProps, {
44
+ "modelValue": model.value,
45
+ "onUpdate:modelValue": $event => model.value = $event,
41
46
  "id": id.value,
42
47
  "focused": isFocused.value,
43
48
  "style": props.style
@@ -56,6 +61,8 @@ export const VCheckbox = genericComponent()({
56
61
  "disabled": isDisabled.value,
57
62
  "readonly": isReadonly.value
58
63
  }, controlAttrs, {
64
+ "modelValue": model.value,
65
+ "onUpdate:modelValue": $event => model.value = $event,
59
66
  "onFocus": focus,
60
67
  "onBlur": blur
61
68
  }), slots);
@@ -1 +1 @@
1
- {"version":3,"file":"VCheckbox.mjs","names":["makeVCheckboxBtnProps","VCheckboxBtn","makeVInputProps","VInput","useFocus","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVCheckboxProps","VCheckbox","name","inheritAttrs","props","emits","focused","setup","_ref","attrs","slots","isFocused","focus","blur","uid","id","inputAttrs","controlAttrs","inputProps","_1","filterProps","checkboxProps","_2","_createVNode","_mergeProps","class","value","style","default","_ref2","messagesId","isDisabled","isReadonly"],"sources":["../../../src/components/VCheckbox/VCheckbox.tsx"],"sourcesContent":["// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VCheckboxSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline']),\n}, 'VCheckbox')\n\nexport const VCheckbox = genericComponent<VCheckboxSlots>()({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: makeVCheckboxProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { isFocused, focus, blur } = useFocus(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `checkbox-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [checkboxProps, _2] = VCheckboxBtn.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-checkbox',\n props.class,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <VCheckboxBtn\n { ...checkboxProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n onFocus={ focus }\n onBlur={ blur }\n v-slots={ slots }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,eAAe,EAAEC,MAAM,gCAEhC;AAAA,SACSC,QAAQ,uCAEjB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAElF;AAMA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7C,GAAGR,eAAe,EAAE;EACpB,GAAGO,IAAI,CAACT,qBAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMa,SAAS,GAAGN,gBAAgB,EAAkB,CAAC;EAC1DO,IAAI,EAAE,WAAW;EAEjBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEJ,kBAAkB,EAAE;EAE3BK,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAM;MAAEG,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGrB,QAAQ,CAACY,KAAK,CAAC;IAElD,MAAMU,GAAG,GAAGlB,MAAM,EAAE;IACpB,MAAMmB,EAAE,GAAGtB,QAAQ,CAAC,MAAMW,KAAK,CAACW,EAAE,IAAK,YAAWD,GAAI,EAAC,CAAC;IAExDf,SAAS,CAAC,MAAM;MACd,MAAM,CAACiB,UAAU,EAAEC,YAAY,CAAC,GAAGvB,gBAAgB,CAACe,KAAK,CAAC;MAC1D,MAAM,CAACS,UAAU,EAAEC,EAAE,CAAC,GAAG5B,MAAM,CAAC6B,WAAW,CAAChB,KAAK,CAAC;MAClD,MAAM,CAACiB,aAAa,EAAEC,EAAE,CAAC,GAAGjC,YAAY,CAAC+B,WAAW,CAAChB,KAAK,CAAC;MAE3D,OAAAmB,YAAA,CAAAhC,MAAA,EAAAiC,WAAA;QAAA,SAEW,CACL,YAAY,EACZpB,KAAK,CAACqB,KAAK;MACZ,GACIT,UAAU,EACVE,UAAU;QAAA,MACVH,EAAE,CAACW,KAAK;QAAA,WACHf,SAAS,CAACe,KAAK;QAAA,SACjBtB,KAAK,CAACuB;MAAK;QAGjB,GAAGjB,KAAK;QACRkB,OAAO,EAAEC,KAAA;UAAA,IAAC;YACRd,EAAE;YACFe,UAAU;YACVC,UAAU;YACVC;UACF,CAAC,GAAAH,KAAA;UAAA,OAAAN,YAAA,CAAAlC,YAAA,EAAAmC,WAAA,CAEQH,aAAa;YAAA,MACbN,EAAE,CAACW,KAAK;YAAA,oBACMI,UAAU,CAACJ,KAAK;YAAA,YACxBK,UAAU,CAACL,KAAK;YAAA,YAChBM,UAAU,CAACN;UAAK,GACtBT,YAAY;YAAA,WACPL,KAAK;YAAA,UACNC;UAAI,IACHH,KAAK;QAAA;MAElB;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VCheckbox.mjs","names":["makeVCheckboxBtnProps","VCheckboxBtn","makeVInputProps","VInput","useFocus","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVCheckboxProps","VCheckbox","name","inheritAttrs","props","emits","value","focused","setup","_ref","attrs","slots","model","isFocused","focus","blur","uid","id","inputAttrs","controlAttrs","inputProps","_1","filterProps","checkboxProps","_2","_createVNode","_mergeProps","class","$event","style","default","_ref2","messagesId","isDisabled","isReadonly"],"sources":["../../../src/components/VCheckbox/VCheckbox.tsx"],"sourcesContent":["// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VCheckboxSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline']),\n}, 'VCheckbox')\n\nexport const VCheckbox = genericComponent<VCheckboxSlots>()({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: makeVCheckboxProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n 'update:focused': (focused: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `checkbox-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [checkboxProps, _2] = VCheckboxBtn.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-checkbox',\n props.class,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <VCheckboxBtn\n { ...checkboxProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-model={ model.value }\n onFocus={ focus }\n onBlur={ blur }\n v-slots={ slots }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,eAAe,EAAEC,MAAM,gCAEhC;AAAA,SACSC,QAAQ;AAAA,SACRC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAElF;AAMA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7C,GAAGT,eAAe,EAAE;EACpB,GAAGQ,IAAI,CAACV,qBAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMc,SAAS,GAAGN,gBAAgB,EAAkB,CAAC;EAC1DO,IAAI,EAAE,WAAW;EAEjBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEJ,kBAAkB,EAAE;EAE3BK,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,gBAAgB,EAAGC,OAAgB,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,KAAK,GAAGpB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IAClD,MAAM;MAAES,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGxB,QAAQ,CAACa,KAAK,CAAC;IAElD,MAAMY,GAAG,GAAGpB,MAAM,EAAE;IACpB,MAAMqB,EAAE,GAAGxB,QAAQ,CAAC,MAAMW,KAAK,CAACa,EAAE,IAAK,YAAWD,GAAI,EAAC,CAAC;IAExDjB,SAAS,CAAC,MAAM;MACd,MAAM,CAACmB,UAAU,EAAEC,YAAY,CAAC,GAAGzB,gBAAgB,CAACgB,KAAK,CAAC;MAC1D,MAAM,CAACU,UAAU,EAAEC,EAAE,CAAC,GAAG/B,MAAM,CAACgC,WAAW,CAAClB,KAAK,CAAC;MAClD,MAAM,CAACmB,aAAa,EAAEC,EAAE,CAAC,GAAGpC,YAAY,CAACkC,WAAW,CAAClB,KAAK,CAAC;MAE3D,OAAAqB,YAAA,CAAAnC,MAAA,EAAAoC,WAAA;QAAA,SAEW,CACL,YAAY,EACZtB,KAAK,CAACuB,KAAK;MACZ,GACIT,UAAU,EACVE,UAAU;QAAA,cACLR,KAAK,CAACN,KAAK;QAAA,uBAAAsB,MAAA,IAAXhB,KAAK,CAACN,KAAK,GAAAsB,MAAA;QAAA,MAChBX,EAAE,CAACX,KAAK;QAAA,WACHO,SAAS,CAACP,KAAK;QAAA,SACjBF,KAAK,CAACyB;MAAK;QAGjB,GAAGlB,KAAK;QACRmB,OAAO,EAAEC,KAAA;UAAA,IAAC;YACRd,EAAE;YACFe,UAAU;YACVC,UAAU;YACVC;UACF,CAAC,GAAAH,KAAA;UAAA,OAAAN,YAAA,CAAArC,YAAA,EAAAsC,WAAA,CAEQH,aAAa;YAAA,MACbN,EAAE,CAACX,KAAK;YAAA,oBACM0B,UAAU,CAAC1B,KAAK;YAAA,YACxB2B,UAAU,CAAC3B,KAAK;YAAA,YAChB4B,UAAU,CAAC5B;UAAK,GACtBa,YAAY;YAAA,cACPP,KAAK,CAACN,KAAK;YAAA,uBAAAsB,MAAA,IAAXhB,KAAK,CAACN,KAAK,GAAAsB,MAAA;YAAA,WACXd,KAAK;YAAA,UACNC;UAAI,IACHJ,KAAK;QAAA;MAElB;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -149,6 +149,7 @@ declare const VCheckbox: {
149
149
  "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
150
150
  "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
151
151
  modelValue?: any;
152
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
152
153
  prependIcon?: IconValue | undefined;
153
154
  appendIcon?: IconValue | undefined;
154
155
  defaultsTarget?: string | undefined;
@@ -203,7 +204,7 @@ declare const VCheckbox: {
203
204
  }>;
204
205
  $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
205
206
  $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
206
- $emit: (event: "update:focused", focused: boolean) => void;
207
+ $emit: ((event: "update:modelValue", value: boolean) => void) & ((event: "update:focused", focused: boolean) => void);
207
208
  $el: any;
208
209
  $options: vue.ComponentOptionsBase<{
209
210
  error: boolean;
@@ -285,8 +286,10 @@ declare const VCheckbox: {
285
286
  }) => vue.VNodeChild) | undefined;
286
287
  "v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
287
288
  } & {
289
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
288
290
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
289
291
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
292
+ 'update:modelValue': (value: boolean) => boolean;
290
293
  'update:focused': (focused: boolean) => boolean;
291
294
  }, string, {
292
295
  error: boolean;
@@ -434,6 +437,7 @@ declare const VCheckbox: {
434
437
  }) => vue.VNodeChild) | undefined;
435
438
  "v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
436
439
  } & {
440
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
437
441
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
438
442
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
439
443
  __isFragment?: undefined;
@@ -519,8 +523,10 @@ declare const VCheckbox: {
519
523
  }) => vue.VNodeChild) | undefined;
520
524
  "v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
521
525
  } & {
526
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
522
527
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
523
528
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
529
+ 'update:modelValue': (value: boolean) => boolean;
524
530
  'update:focused': (focused: boolean) => boolean;
525
531
  }, string, {
526
532
  error: boolean;
@@ -25,7 +25,7 @@ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
25
25
  import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Directives
26
26
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
27
27
  import { computed } from 'vue';
28
- import { EventProp, genericComponent, propsFactory } from "../../util/index.mjs";
28
+ import { EventProp, genericComponent, propsFactory } from "../../util/index.mjs"; // Types
29
29
  export const makeVChipProps = propsFactory({
30
30
  activeClass: String,
31
31
  appendAvatar: String,
@@ -54,7 +54,7 @@ export const makeVChipProps = propsFactory({
54
54
  prependAvatar: String,
55
55
  prependIcon: IconValue,
56
56
  ripple: {
57
- type: Boolean,
57
+ type: [Boolean, Object],
58
58
  default: true
59
59
  },
60
60
  text: String,
@@ -1 +1 @@
1
- {"version":3,"file":"VChip.mjs","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","text","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","navigate","toggle","onKeyDown","key","preventDefault","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","hasColor","isSelected","_withDirectives","_createVNode","selectedClass","class","style","href","icon","_resolveDirective","_vShow","_Fragment","image","start","select","end","_mergeProps","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\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 { EventProp, genericComponent, propsFactory } from '@/util'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slot:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <div\n key=\"close\"\n class=\"v-chip__close\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </div>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VChip.mjs","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","navigate","toggle","onKeyDown","key","preventDefault","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","hasColor","isSelected","_withDirectives","_createVNode","selectedClass","class","style","href","icon","_resolveDirective","_vShow","_Fragment","image","start","select","end","_mergeProps","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\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 { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slot:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <div\n key=\"close\"\n class=\"v-chip__close\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </div>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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"}