@vuetify/nightly 3.7.15-master.2025-03-06 → 3.7.15-master.2025-03-08

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 (98) hide show
  1. package/CHANGELOG.md +33 -3
  2. package/dist/json/attributes.json +3107 -3103
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +3 -2
  6. package/dist/json/web-types.json +5945 -5924
  7. package/dist/vuetify-labs.css +3283 -3283
  8. package/dist/vuetify-labs.d.ts +314 -142
  9. package/dist/vuetify-labs.esm.js +144 -126
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +143 -125
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +3835 -3835
  14. package/dist/vuetify.d.ts +264 -150
  15. package/dist/vuetify.esm.js +90 -69
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +89 -68
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +221 -219
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAppBar/index.d.mts +15 -6
  23. package/lib/components/VAutocomplete/index.d.mts +2 -2
  24. package/lib/components/VBadge/VBadge.mjs +2 -2
  25. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  26. package/lib/components/VBtn/VBtn.mjs +6 -3
  27. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  28. package/lib/components/VBtn/index.d.mts +15 -6
  29. package/lib/components/VCard/VCard.mjs +12 -3
  30. package/lib/components/VCard/VCard.mjs.map +1 -1
  31. package/lib/components/VCard/VCardItem.mjs +11 -4
  32. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  33. package/lib/components/VCard/index.d.mts +75 -30
  34. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  35. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  36. package/lib/components/VChip/VChip.mjs +6 -3
  37. package/lib/components/VChip/VChip.mjs.map +1 -1
  38. package/lib/components/VChip/index.d.mts +15 -6
  39. package/lib/components/VCombobox/index.d.mts +2 -2
  40. package/lib/components/VDataTable/composables/headers.mjs +2 -2
  41. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/paginate.mjs +2 -2
  43. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  44. package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -21
  45. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  46. package/lib/components/VDatePicker/index.d.mts +3 -3
  47. package/lib/components/VFab/index.d.mts +15 -6
  48. package/lib/components/VList/VListItem.mjs +11 -5
  49. package/lib/components/VList/VListItem.mjs.map +1 -1
  50. package/lib/components/VList/index.d.mts +32 -14
  51. package/lib/components/VPagination/VPagination.mjs +3 -3
  52. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  53. package/lib/components/VParallax/VParallax.mjs +1 -1
  54. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  55. package/lib/components/VRating/VRating.mjs +1 -1
  56. package/lib/components/VRating/VRating.mjs.map +1 -1
  57. package/lib/components/VSelect/index.d.mts +2 -2
  58. package/lib/components/VSlider/slider.mjs +1 -1
  59. package/lib/components/VSlider/slider.mjs.map +1 -1
  60. package/lib/components/VSparkline/VBarline.mjs +1 -1
  61. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  62. package/lib/components/VTabs/index.d.mts +39 -24
  63. package/lib/components/VTextarea/VTextarea.mjs +2 -2
  64. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  65. package/lib/components/index.d.mts +209 -95
  66. package/lib/composables/stack.mjs +2 -2
  67. package/lib/composables/stack.mjs.map +1 -1
  68. package/lib/composables/validation.mjs +2 -2
  69. package/lib/composables/validation.mjs.map +1 -1
  70. package/lib/entry-bundler.mjs +1 -1
  71. package/lib/framework.mjs +1 -1
  72. package/lib/index.d.mts +55 -55
  73. package/lib/labs/VDateInput/VDateInput.mjs +3 -2
  74. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  75. package/lib/labs/VDateInput/index.d.mts +10 -10
  76. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  77. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  78. package/lib/labs/VFileUpload/index.d.mts +32 -14
  79. package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
  80. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  81. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  82. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  83. package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
  84. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  85. package/lib/labs/VTimePicker/index.d.mts +35 -13
  86. package/lib/labs/VTimePicker/shared.mjs +2 -0
  87. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  88. package/lib/labs/VTreeview/index.d.mts +32 -14
  89. package/lib/labs/components.d.mts +107 -49
  90. package/lib/locale/adapters/vuetify.mjs +1 -1
  91. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  92. package/lib/util/animation.mjs +8 -8
  93. package/lib/util/animation.mjs.map +1 -1
  94. package/lib/util/helpers.mjs +6 -4
  95. package/lib/util/helpers.mjs.map +1 -1
  96. package/package.json +1 -1
  97. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  98. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
@@ -536,7 +536,7 @@ declare const VAppBarNavIcon: {
536
536
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
537
537
  value?: any;
538
538
  loading?: string | boolean | undefined;
539
- text?: string | undefined;
539
+ text?: string | number | boolean | undefined;
540
540
  class?: any;
541
541
  theme?: string | undefined;
542
542
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -600,7 +600,7 @@ declare const VAppBarNavIcon: {
600
600
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
601
601
  value?: any;
602
602
  loading?: string | boolean | undefined;
603
- text?: string | undefined;
603
+ text?: string | number | boolean | undefined;
604
604
  class?: any;
605
605
  theme?: string | undefined;
606
606
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -639,6 +639,7 @@ declare const VAppBarNavIcon: {
639
639
  block: boolean;
640
640
  active: boolean;
641
641
  style: vue.StyleValue;
642
+ text: string | number | boolean;
642
643
  disabled: boolean;
643
644
  size: string | number;
644
645
  readonly: boolean;
@@ -698,7 +699,7 @@ declare const VAppBarNavIcon: {
698
699
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
699
700
  value?: any;
700
701
  loading?: string | boolean | undefined;
701
- text?: string | undefined;
702
+ text?: string | number | boolean | undefined;
702
703
  class?: any;
703
704
  theme?: string | undefined;
704
705
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -737,6 +738,7 @@ declare const VAppBarNavIcon: {
737
738
  block: boolean;
738
739
  active: boolean;
739
740
  style: vue.StyleValue;
741
+ text: string | number | boolean;
740
742
  disabled: boolean;
741
743
  size: string | number;
742
744
  readonly: boolean;
@@ -788,7 +790,7 @@ declare const VAppBarNavIcon: {
788
790
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
789
791
  value?: any;
790
792
  loading?: string | boolean | undefined;
791
- text?: string | undefined;
793
+ text?: string | number | boolean | undefined;
792
794
  class?: any;
793
795
  theme?: string | undefined;
794
796
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -827,6 +829,7 @@ declare const VAppBarNavIcon: {
827
829
  block: boolean;
828
830
  active: boolean;
829
831
  style: vue.StyleValue;
832
+ text: string | number | boolean;
830
833
  disabled: boolean;
831
834
  size: string | number;
832
835
  readonly: boolean;
@@ -934,7 +937,10 @@ declare const VAppBarNavIcon: {
934
937
  type: vue.PropType<RippleDirectiveBinding["value"]>;
935
938
  default: boolean;
936
939
  };
937
- text: StringConstructor;
940
+ text: {
941
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
942
+ default: undefined;
943
+ };
938
944
  }, vue.ExtractPropTypes<{
939
945
  color: StringConstructor;
940
946
  variant: Omit<Omit<{
@@ -1024,7 +1030,10 @@ declare const VAppBarNavIcon: {
1024
1030
  type: vue.PropType<RippleDirectiveBinding["value"]>;
1025
1031
  default: boolean;
1026
1032
  };
1027
- text: StringConstructor;
1033
+ text: {
1034
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
1035
+ default: undefined;
1036
+ };
1028
1037
  }>>;
1029
1038
  type VAppBarNavIcon = InstanceType<typeof VAppBarNavIcon>;
1030
1039
 
@@ -230,10 +230,10 @@ type ListItemSlot = {
230
230
  select: (value: boolean) => void;
231
231
  };
232
232
  type ListItemTitleSlot = {
233
- title?: string | number;
233
+ title?: string | number | boolean;
234
234
  };
235
235
  type ListItemSubtitleSlot = {
236
- subtitle?: string | number;
236
+ subtitle?: string | number | boolean;
237
237
  };
238
238
  type VListItemSlots = {
239
239
  prepend: ListItemSlot;
@@ -72,11 +72,11 @@ export const VBadge = genericComponent()({
72
72
  locationStyles
73
73
  } = useLocation(props, true, side => {
74
74
  const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
75
- return base + (['top', 'bottom'].includes(side) ? +(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? +(props.offsetX ?? 0) : 0);
75
+ return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
76
76
  });
77
77
  useRender(() => {
78
78
  const value = Number(props.content);
79
- const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
79
+ const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
80
80
  const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
81
81
  return _createVNode(props.tag, _mergeProps({
82
82
  "class": ['v-badge', {
@@ -1 +1 @@
1
- {"version":3,"file":"VBadge.mjs","names":["VIcon","useBackgroundColor","useTextColor","makeComponentProps","IconValue","useLocale","makeLocationProps","useLocation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","useTheme","makeTransitionProps","MaybeTransition","toRef","genericComponent","pickWithRest","propsFactory","useRender","makeVBadgeProps","bordered","Boolean","color","String","content","Number","dot","floating","icon","inline","label","type","default","max","modelValue","offsetX","offsetY","textColor","location","transition","VBadge","name","inheritAttrs","props","setup","ctx","backgroundColorClasses","backgroundColorStyles","roundedClasses","t","textColorClasses","textColorStyles","themeClasses","locationStyles","side","base","includes","value","isNaN","badgeAttrs","attrs","_createVNode","tag","_mergeProps","class","style","slots","_withDirectives","undefined","badge","_vShow"],"sources":["../../../src/components/VBadge/VBadge.tsx"],"sourcesContent":["// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, pickWithRest, propsFactory, useRender } from '@/util'\n\nexport type VBadgeSlots = {\n default: never\n badge: never\n}\n\nexport const makeVBadgeProps = propsFactory({\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: IconValue,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top end' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n}, 'VBadge')\n\nexport const VBadge = genericComponent<VBadgeSlots>()({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: makeVBadgeProps(),\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { t } = useLocale()\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n const { themeClasses } = useTheme()\n\n const { locationStyles } = useLocation(props, true, side => {\n const base = props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n\n return base + (\n ['top', 'bottom'].includes(side) ? +(props.offsetY ?? 0)\n : ['left', 'right'].includes(side) ? +(props.offsetX ?? 0)\n : 0\n )\n })\n\n useRender(() => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= +props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pickWithRest(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n props.class,\n ]}\n { ...attrs }\n style={ props.style }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n themeClasses.value,\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n props.inline ? {} : locationStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label={ t(props.label, value) }\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={ props.icon } />\n : content\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBadge.mjs","names":["VIcon","useBackgroundColor","useTextColor","makeComponentProps","IconValue","useLocale","makeLocationProps","useLocation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","useTheme","makeTransitionProps","MaybeTransition","toRef","genericComponent","pickWithRest","propsFactory","useRender","makeVBadgeProps","bordered","Boolean","color","String","content","Number","dot","floating","icon","inline","label","type","default","max","modelValue","offsetX","offsetY","textColor","location","transition","VBadge","name","inheritAttrs","props","setup","ctx","backgroundColorClasses","backgroundColorStyles","roundedClasses","t","textColorClasses","textColorStyles","themeClasses","locationStyles","side","base","includes","value","isNaN","badgeAttrs","attrs","_createVNode","tag","_mergeProps","class","style","slots","_withDirectives","undefined","badge","_vShow"],"sources":["../../../src/components/VBadge/VBadge.tsx"],"sourcesContent":["// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, pickWithRest, propsFactory, useRender } from '@/util'\n\nexport type VBadgeSlots = {\n default: never\n badge: never\n}\n\nexport const makeVBadgeProps = propsFactory({\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: IconValue,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top end' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n}, 'VBadge')\n\nexport const VBadge = genericComponent<VBadgeSlots>()({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: makeVBadgeProps(),\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { t } = useLocale()\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n const { themeClasses } = useTheme()\n\n const { locationStyles } = useLocation(props, true, side => {\n const base = props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n\n return base + (\n ['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0)\n : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0)\n : 0\n )\n })\n\n useRender(() => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= Number(props.max) ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pickWithRest(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n props.class,\n ]}\n { ...attrs }\n style={ props.style }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n themeClasses.value,\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n props.inline ? {} : locationStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label={ t(props.label, value) }\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={ props.icon } />\n : content\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK,8BAEd;AAAA,SACSC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB;AAAA,SAClBC,SAAS;AAAA,SACTC,SAAS;AAAA,SACTC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,mBAAmB,EAAEC,eAAe,4CAE7C;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,gBAAgB,EAAEC,YAAY,EAAEC,YAAY,EAAEC,SAAS;AAOhE,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,QAAQ,EAAEC,OAAO;EACjBC,KAAK,EAAEC,MAAM;EACbC,OAAO,EAAE,CAACC,MAAM,EAAEF,MAAM,CAAC;EACzBG,GAAG,EAAEL,OAAO;EACZM,QAAQ,EAAEN,OAAO;EACjBO,IAAI,EAAEzB,SAAS;EACf0B,MAAM,EAAER,OAAO;EACfS,KAAK,EAAE;IACLC,IAAI,EAAER,MAAM;IACZS,OAAO,EAAE;EACX,CAAC;EACDC,GAAG,EAAE,CAACR,MAAM,EAAEF,MAAM,CAAC;EACrBW,UAAU,EAAE;IACVH,IAAI,EAAEV,OAAO;IACbW,OAAO,EAAE;EACX,CAAC;EACDG,OAAO,EAAE,CAACV,MAAM,EAAEF,MAAM,CAAC;EACzBa,OAAO,EAAE,CAACX,MAAM,EAAEF,MAAM,CAAC;EACzBc,SAAS,EAAEd,MAAM;EAEjB,GAAGrB,kBAAkB,CAAC,CAAC;EACvB,GAAGG,iBAAiB,CAAC;IAAEiC,QAAQ,EAAE;EAAU,CAAU,CAAC;EACtD,GAAG/B,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGE,mBAAmB,CAAC;IAAE2B,UAAU,EAAE;EAA0B,CAAC;AAClE,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMC,MAAM,GAAGzB,gBAAgB,CAAc,CAAC,CAAC;EACpD0B,IAAI,EAAE,QAAQ;EAEdC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAExB,eAAe,CAAC,CAAC;EAExByB,KAAKA,CAAED,KAAK,EAAEE,GAAG,EAAE;IACjB,MAAM;MAAEC,sBAAsB;MAAEC;IAAsB,CAAC,GAAG/C,kBAAkB,CAACc,KAAK,CAAC6B,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEK;IAAe,CAAC,GAAGxC,UAAU,CAACmC,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAE,CAAC,GAAG7C,SAAS,CAAC,CAAC;IACzB,MAAM;MAAE8C,gBAAgB;MAAEC;IAAgB,CAAC,GAAGlD,YAAY,CAACa,KAAK,CAAC6B,KAAK,EAAE,WAAW,CAAC,CAAC;IACrF,MAAM;MAAES;IAAa,CAAC,GAAGzC,QAAQ,CAAC,CAAC;IAEnC,MAAM;MAAE0C;IAAe,CAAC,GAAG/C,WAAW,CAACqC,KAAK,EAAE,IAAI,EAAEW,IAAI,IAAI;MAC1D,MAAMC,IAAI,GAAGZ,KAAK,CAAChB,QAAQ,GACtBgB,KAAK,CAACjB,GAAG,GAAG,CAAC,GAAG,CAAC,GACjBiB,KAAK,CAACjB,GAAG,GAAG,CAAC,GAAG,EAAG;MAExB,OAAO6B,IAAI,IACT,CAAC,KAAK,EAAE,QAAQ,CAAC,CAACC,QAAQ,CAACF,IAAI,CAAC,GAAG7B,MAAM,CAACkB,KAAK,CAACP,OAAO,IAAI,CAAC,CAAC,GAC3D,CAAC,MAAM,EAAE,OAAO,CAAC,CAACoB,QAAQ,CAACF,IAAI,CAAC,GAAG7B,MAAM,CAACkB,KAAK,CAACR,OAAO,IAAI,CAAC,CAAC,GAC7D,CAAC,CACJ;IACH,CAAC,CAAC;IAEFjB,SAAS,CAAC,MAAM;MACd,MAAMuC,KAAK,GAAGhC,MAAM,CAACkB,KAAK,CAACnB,OAAO,CAAC;MACnC,MAAMA,OAAO,GAAI,CAACmB,KAAK,CAACV,GAAG,IAAIyB,KAAK,CAACD,KAAK,CAAC,GAAId,KAAK,CAACnB,OAAO,GACxDiC,KAAK,IAAIhC,MAAM,CAACkB,KAAK,CAACV,GAAG,CAAC,GAAGwB,KAAK,GAClC,GAAGd,KAAK,CAACV,GAAG,GAAG;MAEnB,MAAM,CAAC0B,UAAU,EAAEC,KAAK,CAAC,GAAG5C,YAAY,CAAC6B,GAAG,CAACe,KAAK,EAAyB,CACzE,aAAa,EACb,YAAY,EACZ,WAAW,EACX,MAAM,EACN,OAAO,CACR,CAAC;MAEF,OAAAC,YAAA,CAAAlB,KAAA,CAAAmB,GAAA,EAAAC,WAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,mBAAmB,EAAEpB,KAAK,CAACvB,QAAQ;UACnC,cAAc,EAAEuB,KAAK,CAACjB,GAAG;UACzB,mBAAmB,EAAEiB,KAAK,CAAChB,QAAQ;UACnC,iBAAiB,EAAEgB,KAAK,CAACd;QAC3B,CAAC,EACDc,KAAK,CAACqB,KAAK;MACZ,GACIJ,KAAK;QAAA,SACFjB,KAAK,CAACsB;MAAK;QAAAjC,OAAA,EAAAA,CAAA,MAAA6B,YAAA;UAAA;QAAA,IAGfhB,GAAG,CAACqB,KAAK,CAAClC,OAAO,GAAG,CAAC,EAAA6B,YAAA,CAAAhD,eAAA;UAAA,cAEO8B,KAAK,CAACJ;QAAU;UAAAP,OAAA,EAAAA,CAAA,MAAAmC,eAAA,CAAAN,YAAA,SAAAE,WAAA;YAAA,SAGnC,CACL,gBAAgB,EAChBX,YAAY,CAACK,KAAK,EAClBX,sBAAsB,CAACW,KAAK,EAC5BT,cAAc,CAACS,KAAK,EACpBP,gBAAgB,CAACO,KAAK,CACvB;YAAA,SACM,CACLV,qBAAqB,CAACU,KAAK,EAC3BN,eAAe,CAACM,KAAK,EACrBd,KAAK,CAACd,MAAM,GAAG,CAAC,CAAC,GAAGwB,cAAc,CAACI,KAAK,CACzC;YAAA;YAAA,cAEYR,CAAC,CAACN,KAAK,CAACb,KAAK,EAAE2B,KAAK,CAAC;YAAA;YAAA;UAAA,GAG7BE,UAAU,IAGbhB,KAAK,CAACjB,GAAG,GAAG0C,SAAS,GACnBvB,GAAG,CAACqB,KAAK,CAACG,KAAK,GAAGxB,GAAG,CAACqB,KAAK,CAACG,KAAK,GAAG,CAAC,GACrC1B,KAAK,CAACf,IAAI,GAAAiC,YAAA,CAAA9D,KAAA;YAAA,QAAiB4C,KAAK,CAACf;UAAI,WACrCJ,OAAO,MAAA8C,MAAA,EAvBF3B,KAAK,CAACT,UAAU;QAAA;MAAA;IA8BrC,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -25,7 +25,7 @@ import { makeTagProps } from "../../composables/tag.mjs";
25
25
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
26
26
  import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Directives
27
27
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
28
- import { computed, withDirectives } from 'vue';
28
+ import { computed, toDisplayString, withDirectives } from 'vue';
29
29
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
30
30
  export const makeVBtnProps = propsFactory({
31
31
  active: {
@@ -50,7 +50,10 @@ export const makeVBtnProps = propsFactory({
50
50
  type: [Boolean, Object],
51
51
  default: true
52
52
  },
53
- text: String,
53
+ text: {
54
+ type: [String, Number, Boolean],
55
+ default: undefined
56
+ },
54
57
  ...makeBorderProps(),
55
58
  ...makeComponentProps(),
56
59
  ...makeDensityProps(),
@@ -206,7 +209,7 @@ export const VBtn = genericComponent()({
206
209
  }
207
210
  }
208
211
  }, {
209
- default: () => [slots.default?.() ?? props.text]
212
+ default: () => [slots.default?.() ?? toDisplayString(props.text)]
210
213
  })]), !props.icon && hasAppend && _createVNode("span", {
211
214
  "key": "append",
212
215
  "class": "v-btn__append"
@@ -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","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","ripple","text","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","loader","center"],"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, withDirectives } 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 activeColor: String,\n baseColor: String,\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 readonly: 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 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 { 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\n const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\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\n return withDirectives(\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--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\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 sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\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 width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n Ripple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
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","toDisplayString","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","loader","center"],"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, toDisplayString, withDirectives } 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 activeColor: String,\n baseColor: String,\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 readonly: 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: {\n type: [String, Number, Boolean],\n default: undefined,\n },\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 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 { 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\n const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\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\n return withDirectives(\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--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\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 sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\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?.() ?? toDisplayString(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 width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n Ripple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
@@ -107,7 +107,7 @@ declare const VBtn: {
107
107
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
108
108
  value?: any;
109
109
  loading?: string | boolean | undefined;
110
- text?: string | undefined;
110
+ text?: string | number | boolean | undefined;
111
111
  class?: any;
112
112
  theme?: string | undefined;
113
113
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -181,7 +181,7 @@ declare const VBtn: {
181
181
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
182
182
  value?: any;
183
183
  loading?: string | boolean | undefined;
184
- text?: string | undefined;
184
+ text?: string | number | boolean | undefined;
185
185
  class?: any;
186
186
  theme?: string | undefined;
187
187
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -225,6 +225,7 @@ declare const VBtn: {
225
225
  block: boolean;
226
226
  active: boolean;
227
227
  style: vue.StyleValue;
228
+ text: string | number | boolean;
228
229
  disabled: boolean;
229
230
  size: string | number;
230
231
  readonly: boolean;
@@ -282,7 +283,7 @@ declare const VBtn: {
282
283
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
283
284
  value?: any;
284
285
  loading?: string | boolean | undefined;
285
- text?: string | undefined;
286
+ text?: string | number | boolean | undefined;
286
287
  class?: any;
287
288
  theme?: string | undefined;
288
289
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -328,6 +329,7 @@ declare const VBtn: {
328
329
  block: boolean;
329
330
  active: boolean;
330
331
  style: vue.StyleValue;
332
+ text: string | number | boolean;
331
333
  disabled: boolean;
332
334
  size: string | number;
333
335
  readonly: boolean;
@@ -377,7 +379,7 @@ declare const VBtn: {
377
379
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
378
380
  value?: any;
379
381
  loading?: string | boolean | undefined;
380
- text?: string | undefined;
382
+ text?: string | number | boolean | undefined;
381
383
  class?: any;
382
384
  theme?: string | undefined;
383
385
  to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
@@ -427,6 +429,7 @@ declare const VBtn: {
427
429
  block: boolean;
428
430
  active: boolean;
429
431
  style: vue.StyleValue;
432
+ text: string | number | boolean;
430
433
  disabled: boolean;
431
434
  size: string | number;
432
435
  readonly: boolean;
@@ -527,7 +530,10 @@ declare const VBtn: {
527
530
  type: PropType<RippleDirectiveBinding["value"]>;
528
531
  default: boolean;
529
532
  };
530
- text: StringConstructor;
533
+ text: {
534
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
535
+ default: undefined;
536
+ };
531
537
  }, vue.ExtractPropTypes<{
532
538
  color: StringConstructor;
533
539
  variant: Omit<{
@@ -611,7 +617,10 @@ declare const VBtn: {
611
617
  type: PropType<RippleDirectiveBinding["value"]>;
612
618
  default: boolean;
613
619
  };
614
- text: StringConstructor;
620
+ text: {
621
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
622
+ default: undefined;
623
+ };
615
624
  }>>;
616
625
  type VBtn = InstanceType<typeof VBtn>;
617
626
 
@@ -44,9 +44,18 @@ export const makeVCardProps = propsFactory({
44
44
  type: [Boolean, Object],
45
45
  default: true
46
46
  },
47
- subtitle: [String, Number],
48
- text: [String, Number],
49
- title: [String, Number],
47
+ subtitle: {
48
+ type: [String, Number, Boolean],
49
+ default: undefined
50
+ },
51
+ text: {
52
+ type: [String, Number, Boolean],
53
+ default: undefined
54
+ },
55
+ title: {
56
+ type: [String, Number, Boolean],
57
+ default: undefined
58
+ },
50
59
  ...makeBorderProps(),
51
60
  ...makeComponentProps(),
52
61
  ...makeDensityProps(),
@@ -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","Object","subtitle","Number","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","_mergeProps","class","style","navigate","linkProps","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, Number],\n text: [String, Number],\n title: [String, Number],\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 != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\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 != null)\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 onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n { ...link.linkProps }\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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","ignoreList":[]}
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","Number","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","_mergeProps","class","style","navigate","linkProps","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: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\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 != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\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 != null)\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 onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n { ...link.linkProps }\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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","ignoreList":[]}
@@ -8,14 +8,21 @@ import { VIcon } from "../VIcon/index.mjs"; // Composables
8
8
  import { makeComponentProps } from "../../composables/component.mjs";
9
9
  import { makeDensityProps } from "../../composables/density.mjs";
10
10
  import { IconValue } from "../../composables/icons.mjs"; // Utilities
11
+ import { toDisplayString } from 'vue';
11
12
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
12
13
  export const makeCardItemProps = propsFactory({
13
14
  appendAvatar: String,
14
15
  appendIcon: IconValue,
15
16
  prependAvatar: String,
16
17
  prependIcon: IconValue,
17
- subtitle: [String, Number],
18
- title: [String, Number],
18
+ subtitle: {
19
+ type: [String, Number, Boolean],
20
+ default: undefined
21
+ },
22
+ title: {
23
+ type: [String, Number, Boolean],
24
+ default: undefined
25
+ },
19
26
  ...makeComponentProps(),
20
27
  ...makeDensityProps()
21
28
  }, 'VCardItem');
@@ -65,11 +72,11 @@ export const VCardItem = genericComponent()({
65
72
  }, [hasTitle && _createVNode(VCardTitle, {
66
73
  "key": "title"
67
74
  }, {
68
- default: () => [slots.title?.() ?? props.title]
75
+ default: () => [slots.title?.() ?? toDisplayString(props.title)]
69
76
  }), hasSubtitle && _createVNode(VCardSubtitle, {
70
77
  "key": "subtitle"
71
78
  }, {
72
- default: () => [slots.subtitle?.() ?? props.subtitle]
79
+ default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
73
80
  }), slots.default?.()]), hasAppend && _createVNode("div", {
74
81
  "key": "append",
75
82
  "class": "v-card-item__append"
@@ -1 +1 @@
1
- {"version":3,"file":"VCardItem.mjs","names":["VCardSubtitle","VCardTitle","VAvatar","VDefaultsProvider","VIcon","makeComponentProps","makeDensityProps","IconValue","genericComponent","propsFactory","useRender","makeCardItemProps","appendAvatar","String","appendIcon","prependAvatar","prependIcon","subtitle","Number","title","VCardItem","name","props","setup","_ref","slots","hasPrependMedia","hasPrepend","prepend","hasAppendMedia","hasAppend","append","hasTitle","hasSubtitle","_createVNode","class","style","_Fragment","density","image","icon","default"],"sources":["../../../src/components/VCard/VCardItem.tsx"],"sourcesContent":["// Components\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardTitle } from './VCardTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VCardItemSlots = {\n default: never\n prepend: never\n append: never\n title: never\n subtitle: never\n}\n\nexport const makeCardItemProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: [String, Number],\n title: [String, Number],\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n}, 'VCardItem')\n\nexport const VCardItem = genericComponent<VCardItemSlots>()({\n name: 'VCardItem',\n\n props: makeCardItemProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasTitle = !!(props.title != null || slots.title)\n const hasSubtitle = !!(props.subtitle != null || slots.subtitle)\n\n return (\n <div\n class={[\n 'v-card-item',\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-card-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-card-item__content\">\n { hasTitle && (\n <VCardTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VCardTitle>\n )}\n\n { hasSubtitle && (\n <VCardSubtitle key=\"subtitle\">\n { slots.subtitle?.() ?? props.subtitle }\n </VCardSubtitle>\n )}\n\n { slots.default?.() }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-card-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCardItem = InstanceType<typeof VCardItem>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCardItem.mjs","names":["VCardSubtitle","VCardTitle","VAvatar","VDefaultsProvider","VIcon","makeComponentProps","makeDensityProps","IconValue","toDisplayString","genericComponent","propsFactory","useRender","makeCardItemProps","appendAvatar","String","appendIcon","prependAvatar","prependIcon","subtitle","type","Number","Boolean","default","undefined","title","VCardItem","name","props","setup","_ref","slots","hasPrependMedia","hasPrepend","prepend","hasAppendMedia","hasAppend","append","hasTitle","hasSubtitle","_createVNode","class","style","_Fragment","density","image","icon"],"sources":["../../../src/components/VCard/VCardItem.tsx"],"sourcesContent":["// Components\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardTitle } from './VCardTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VCardItemSlots = {\n default: never\n prepend: never\n append: never\n title: never\n subtitle: never\n}\n\nexport const makeCardItemProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n}, 'VCardItem')\n\nexport const VCardItem = genericComponent<VCardItemSlots>()({\n name: 'VCardItem',\n\n props: makeCardItemProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasTitle = !!(props.title != null || slots.title)\n const hasSubtitle = !!(props.subtitle != null || slots.subtitle)\n\n return (\n <div\n class={[\n 'v-card-item',\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-card-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-card-item__content\">\n { hasTitle && (\n <VCardTitle key=\"title\">\n { slots.title?.() ?? toDisplayString(props.title) }\n </VCardTitle>\n )}\n\n { hasSubtitle && (\n <VCardSubtitle key=\"subtitle\">\n { slots.subtitle?.() ?? toDisplayString(props.subtitle) }\n </VCardSubtitle>\n )}\n\n { slots.default?.() }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-card-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCardItem = InstanceType<typeof VCardItem>\n"],"mappings":"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","ignoreList":[]}