vuetify 3.0.0 → 3.0.2

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 (114) hide show
  1. package/dist/json/attributes.json +488 -524
  2. package/dist/json/importMap.json +64 -60
  3. package/dist/json/tags.json +0 -9
  4. package/dist/json/web-types.json +790 -898
  5. package/dist/vuetify.css +141 -142
  6. package/dist/vuetify.d.ts +4398 -3687
  7. package/dist/vuetify.esm.js +2400 -2345
  8. package/dist/vuetify.esm.js.map +1 -1
  9. package/dist/vuetify.js +2399 -2344
  10. package/dist/vuetify.js.map +1 -1
  11. package/dist/vuetify.min.css +2 -2
  12. package/dist/vuetify.min.js +798 -788
  13. package/dist/vuetify.min.js.map +1 -1
  14. package/lib/components/VAutocomplete/VAutocomplete.mjs +12 -4
  15. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  16. package/lib/components/VAutocomplete/index.d.ts +392 -158
  17. package/lib/components/VAvatar/VAvatar.mjs +1 -1
  18. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  19. package/lib/components/VBreadcrumbs/index.d.ts +2 -0
  20. package/lib/components/VBtn/index.d.ts +1 -0
  21. package/lib/components/VCard/VCard.css +0 -3
  22. package/lib/components/VCard/VCard.mjs +2 -1
  23. package/lib/components/VCard/VCard.mjs.map +1 -1
  24. package/lib/components/VCard/VCard.sass +0 -3
  25. package/lib/components/VCard/VCardItem.mjs +1 -2
  26. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  27. package/lib/components/VCard/index.d.ts +1 -0
  28. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  29. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  30. package/lib/components/VCheckbox/index.d.ts +1 -1
  31. package/lib/components/VChip/VChip.mjs +0 -1
  32. package/lib/components/VChip/VChip.mjs.map +1 -1
  33. package/lib/components/VChip/index.d.ts +1 -2
  34. package/lib/components/VCombobox/VCombobox.mjs +12 -4
  35. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  36. package/lib/components/VCombobox/index.d.ts +392 -158
  37. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +1 -1
  38. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  39. package/lib/components/VExpansionPanel/VExpansionPanel.css +2 -2
  40. package/lib/components/VExpansionPanel/VExpansionPanel.sass +2 -2
  41. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  42. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  43. package/lib/components/VField/index.d.ts +5 -5
  44. package/lib/components/VFileInput/index.d.ts +6 -6
  45. package/lib/components/VInput/VInput.mjs +1 -1
  46. package/lib/components/VInput/VInput.mjs.map +1 -1
  47. package/lib/components/VInput/index.d.ts +4 -4
  48. package/lib/components/VList/VList.mjs +3 -0
  49. package/lib/components/VList/VList.mjs.map +1 -1
  50. package/lib/components/VList/VListGroup.mjs +1 -1
  51. package/lib/components/VList/VListGroup.mjs.map +1 -1
  52. package/lib/components/VList/VListItem.mjs +3 -1
  53. package/lib/components/VList/VListItem.mjs.map +1 -1
  54. package/lib/components/VList/index.d.ts +19 -8
  55. package/lib/components/VNoSsr/VNoSsr.mjs +1 -3
  56. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  57. package/lib/components/VOverlay/VOverlay.mjs +3 -1
  58. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  59. package/lib/components/VOverlay/locationStrategies.mjs +17 -19
  60. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  61. package/lib/components/VOverlay/scrollStrategies.mjs +5 -1
  62. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  63. package/lib/components/VOverlay/useActivator.mjs +5 -1
  64. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  65. package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -0
  66. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  67. package/lib/components/VRadioGroup/index.d.ts +1 -1
  68. package/lib/components/VRangeSlider/index.d.ts +1 -1
  69. package/lib/components/VRating/VRating.mjs +7 -6
  70. package/lib/components/VRating/VRating.mjs.map +1 -1
  71. package/lib/components/VRating/index.d.ts +14 -14
  72. package/lib/components/VSelect/VSelect.mjs +16 -8
  73. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  74. package/lib/components/VSelect/index.d.ts +392 -158
  75. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
  76. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  77. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
  78. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  79. package/lib/components/VSlideGroup/VSlideGroup.css +1 -0
  80. package/lib/components/VSlideGroup/VSlideGroup.sass +1 -0
  81. package/lib/components/VSlider/index.d.ts +1 -1
  82. package/lib/components/VSwitch/index.d.ts +1 -1
  83. package/lib/components/VTable/VTable.css +9 -9
  84. package/lib/components/VTable/VTable.sass +20 -15
  85. package/lib/components/VTabs/index.d.ts +1 -0
  86. package/lib/components/VTextField/VTextField.mjs +23 -19
  87. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  88. package/lib/components/VTextField/index.d.ts +58 -58
  89. package/lib/components/VTextarea/index.d.ts +6 -6
  90. package/lib/components/VToolbar/VToolbar.css +1 -0
  91. package/lib/components/VToolbar/VToolbar.sass +1 -0
  92. package/lib/components/VValidation/index.d.ts +1 -1
  93. package/lib/components/index.d.ts +4145 -3435
  94. package/lib/components/transitions/index.mjs +1 -1
  95. package/lib/components/transitions/index.mjs.map +1 -1
  96. package/lib/composables/hydration.mjs +8 -4
  97. package/lib/composables/hydration.mjs.map +1 -1
  98. package/lib/composables/icons.mjs +6 -3
  99. package/lib/composables/icons.mjs.map +1 -1
  100. package/lib/composables/nested/nested.mjs +2 -2
  101. package/lib/composables/nested/nested.mjs.map +1 -1
  102. package/lib/composables/router.mjs +2 -2
  103. package/lib/composables/router.mjs.map +1 -1
  104. package/lib/composables/toggleScope.mjs +6 -2
  105. package/lib/composables/toggleScope.mjs.map +1 -1
  106. package/lib/entry-bundler.mjs +1 -1
  107. package/lib/framework.mjs +16 -10
  108. package/lib/framework.mjs.map +1 -1
  109. package/lib/index.d.ts +17 -16
  110. package/lib/util/defineComponent.mjs +10 -15
  111. package/lib/util/defineComponent.mjs.map +1 -1
  112. package/lib/util/helpers.mjs +10 -2
  113. package/lib/util/helpers.mjs.map +1 -1
  114. package/package.json +2 -2
@@ -24,7 +24,7 @@ export const makeVAvatarProps = propsFactory({
24
24
  ...makeVariantProps({
25
25
  variant: 'flat'
26
26
  })
27
- }, 'VAvatar');
27
+ }, 'v-avatar');
28
28
  export const VAvatar = defineComponent({
29
29
  name: 'VAvatar',
30
30
  props: makeVAvatarProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VAvatar.mjs","names":["VIcon","VImg","genOverlays","makeVariantProps","useVariant","IconValue","makeDensityProps","useDensity","makeRoundedProps","useRounded","makeSizeProps","useSize","makeTagProps","defineComponent","propsFactory","useRender","makeVAvatarProps","start","Boolean","end","icon","image","String","variant","VAvatar","name","props","setup","slots","colorClasses","colorStyles","variantClasses","densityClasses","roundedClasses","sizeClasses","sizeStyles","value","default"],"sources":["../../../src/components/VAvatar/VAvatar.tsx"],"sourcesContent":["// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAvatar')\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end,\n },\n colorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n sizeStyles.value,\n ]}\n >\n { props.image\n ? (<VImg key=\"image\" src={ props.image } alt=\"\" />)\n : props.icon\n ? (<VIcon key=\"icon\" icon={ props.icon } />)\n : slots.default?.()\n }\n\n { genOverlays(false, 'v-avatar') }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK;AAAA,SACLC,IAAI,6BAEb;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,SAAS;AAAA,SACTC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY,qCAErB;AAAA,SACSC,eAAe,EAAEC,YAAY,EAAEC,SAAS;AAEjD,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,KAAK,EAAEC,OAAO;EACdC,GAAG,EAAED,OAAO;EACZE,IAAI,EAAEf,SAAS;EACfgB,KAAK,EAAEC,MAAM;EAEb,GAAGhB,gBAAgB,EAAE;EACrB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,aAAa,EAAE;EAClB,GAAGE,YAAY,EAAE;EACjB,GAAGT,gBAAgB,CAAC;IAAEoB,OAAO,EAAE;EAAO,CAAC;AACzC,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMC,OAAO,GAAGX,eAAe,CAAC;EACrCY,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEV,gBAAgB,EAAE;EAEzBW,KAAK,CAAED,KAAK,QAAa;IAAA,IAAX;MAAEE;IAAM,CAAC;IACrB,MAAM;MAAEC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG3B,UAAU,CAACsB,KAAK,CAAC;IACvE,MAAM;MAAEM;IAAe,CAAC,GAAGzB,UAAU,CAACmB,KAAK,CAAC;IAC5C,MAAM;MAAEO;IAAe,CAAC,GAAGxB,UAAU,CAACiB,KAAK,CAAC;IAC5C,MAAM;MAAEQ,WAAW;MAAEC;IAAW,CAAC,GAAGxB,OAAO,CAACe,KAAK,CAAC;IAElDX,SAAS,CAAC;MAAA;MAAA;QAAA,SAEC,CACL,UAAU,EACV;UACE,iBAAiB,EAAEW,KAAK,CAACT,KAAK;UAC9B,eAAe,EAAES,KAAK,CAACP;QACzB,CAAC,EACDU,YAAY,CAACO,KAAK,EAClBJ,cAAc,CAACI,KAAK,EACpBH,cAAc,CAACG,KAAK,EACpBF,WAAW,CAACE,KAAK,EACjBL,cAAc,CAACK,KAAK,CACrB;QAAA,SACM,CACLN,WAAW,CAACM,KAAK,EACjBD,UAAU,CAACC,KAAK;MACjB;QAAA,gBAECV,KAAK,CAACL,KAAK;UAAA,OACE,OAAO;UAAA,OAAOK,KAAK,CAACL,KAAK;UAAA,OAAO;QAAE,WAC7CK,KAAK,CAACN,IAAI;UAAA,OACI,MAAM;UAAA,QAAQM,KAAK,CAACN;QAAI,6BACpCQ,KAAK,CAACS,OAAO,qBAAb,oBAAAT,KAAK,CAAY,EAGrB1B,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;MAAA;IAAA,CAEnC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VAvatar.mjs","names":["VIcon","VImg","genOverlays","makeVariantProps","useVariant","IconValue","makeDensityProps","useDensity","makeRoundedProps","useRounded","makeSizeProps","useSize","makeTagProps","defineComponent","propsFactory","useRender","makeVAvatarProps","start","Boolean","end","icon","image","String","variant","VAvatar","name","props","setup","slots","colorClasses","colorStyles","variantClasses","densityClasses","roundedClasses","sizeClasses","sizeStyles","value","default"],"sources":["../../../src/components/VAvatar/VAvatar.tsx"],"sourcesContent":["// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'v-avatar')\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end,\n },\n colorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n sizeStyles.value,\n ]}\n >\n { props.image\n ? (<VImg key=\"image\" src={ props.image } alt=\"\" />)\n : props.icon\n ? (<VIcon key=\"icon\" icon={ props.icon } />)\n : slots.default?.()\n }\n\n { genOverlays(false, 'v-avatar') }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK;AAAA,SACLC,IAAI,6BAEb;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,SAAS;AAAA,SACTC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY,qCAErB;AAAA,SACSC,eAAe,EAAEC,YAAY,EAAEC,SAAS;AAEjD,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,KAAK,EAAEC,OAAO;EACdC,GAAG,EAAED,OAAO;EACZE,IAAI,EAAEf,SAAS;EACfgB,KAAK,EAAEC,MAAM;EAEb,GAAGhB,gBAAgB,EAAE;EACrB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,aAAa,EAAE;EAClB,GAAGE,YAAY,EAAE;EACjB,GAAGT,gBAAgB,CAAC;IAAEoB,OAAO,EAAE;EAAO,CAAC;AACzC,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,MAAMC,OAAO,GAAGX,eAAe,CAAC;EACrCY,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEV,gBAAgB,EAAE;EAEzBW,KAAK,CAAED,KAAK,QAAa;IAAA,IAAX;MAAEE;IAAM,CAAC;IACrB,MAAM;MAAEC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG3B,UAAU,CAACsB,KAAK,CAAC;IACvE,MAAM;MAAEM;IAAe,CAAC,GAAGzB,UAAU,CAACmB,KAAK,CAAC;IAC5C,MAAM;MAAEO;IAAe,CAAC,GAAGxB,UAAU,CAACiB,KAAK,CAAC;IAC5C,MAAM;MAAEQ,WAAW;MAAEC;IAAW,CAAC,GAAGxB,OAAO,CAACe,KAAK,CAAC;IAElDX,SAAS,CAAC;MAAA;MAAA;QAAA,SAEC,CACL,UAAU,EACV;UACE,iBAAiB,EAAEW,KAAK,CAACT,KAAK;UAC9B,eAAe,EAAES,KAAK,CAACP;QACzB,CAAC,EACDU,YAAY,CAACO,KAAK,EAClBJ,cAAc,CAACI,KAAK,EACpBH,cAAc,CAACG,KAAK,EACpBF,WAAW,CAACE,KAAK,EACjBL,cAAc,CAACK,KAAK,CACrB;QAAA,SACM,CACLN,WAAW,CAACM,KAAK,EACjBD,UAAU,CAACC,KAAK;MACjB;QAAA,gBAECV,KAAK,CAACL,KAAK;UAAA,OACE,OAAO;UAAA,OAAOK,KAAK,CAACL,KAAK;UAAA,OAAO;QAAE,WAC7CK,KAAK,CAACN,IAAI;UAAA,OACI,MAAM;UAAA,QAAQM,KAAK,CAACN;QAAI,6BACpCQ,KAAK,CAACS,OAAO,qBAAb,oBAAAT,KAAK,CAAY,EAGrB1B,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;MAAA;IAAA,CAEnC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import * as vue from 'vue';
2
2
  import { JSXComponent, PropType } from 'vue';
3
+ // @ts-ignore
3
4
  import * as vue_router from 'vue-router';
5
+ // @ts-ignore
4
6
  import { RouteLocationRaw } from 'vue-router';
5
7
 
6
8
  declare type Density = null | 'default' | 'comfortable' | 'compact';
@@ -1,5 +1,6 @@
1
1
  import * as vue from 'vue';
2
2
  import { ComponentInternalInstance, Ref, ComputedRef, JSXComponent, PropType } from 'vue';
3
+ // @ts-ignore
3
4
  import * as vue_router from 'vue-router';
4
5
 
5
6
  interface GroupItem {
@@ -179,13 +179,10 @@
179
179
  min-width: 0;
180
180
  overflow-wrap: normal;
181
181
  overflow: hidden;
182
- overflow: hidden;
183
182
  padding: 0.5rem 1rem;
184
183
  text-overflow: ellipsis;
185
- text-overflow: ellipsis;
186
184
  text-transform: none;
187
185
  white-space: nowrap;
188
- white-space: nowrap;
189
186
  word-break: normal;
190
187
  word-wrap: break-word;
191
188
  }
@@ -123,7 +123,8 @@ export const VCard = defineComponent({
123
123
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
124
124
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
125
125
  "href": link.href.value,
126
- "onClick": isClickable.value && link.navigate
126
+ "onClick": isClickable.value && link.navigate,
127
+ "tabindex": props.disabled ? -1 : undefined
127
128
  }, {
128
129
  default: () => [hasImage && _createVNode(VDefaultsProvider, {
129
130
  "key": "image",
@@ -1 +1 @@
1
- {"version":3,"file":"VCard.mjs","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","defineComponent","useRender","computed","VCard","name","directives","props","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","subtitle","text","title","variant","setup","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","href","navigate","cover","src","loading","loader","item","actions"],"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// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\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'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { computed } from 'vue'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\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: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const 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 ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value }\n >\n { hasImage && (\n <VDefaultsProvider\n key=\"image\"\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n <div class=\"v-card__image\">\n { slots.image?.() ?? <VImg /> }\n </div>\n </VDefaultsProvider>\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":";AAAA;;AAEA;AACA;;AAEA;AAAA,SACSA,YAAY;AAAA,SACZC,SAAS;AAAA,SACTC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,IAAI,6BAEb;AAAA,SACSC,MAAM,6CAEf;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,SAAS;AAAA,SACTC,UAAU,EAAEC,eAAe,EAAEC,SAAS;AAAA,SACtCC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AAAA,SACSC,eAAe,EAAEC,SAAS;AACnC,SAASC,QAAQ,QAAQ,KAAK;AAE9B,OAAO,MAAMC,KAAK,GAAGH,eAAe,CAAC;EACnCI,IAAI,EAAE,OAAO;EAEbC,UAAU,EAAE;IAAEhC;EAAO,CAAC;EAEtBiC,KAAK,EAAE;IACLC,YAAY,EAAEC,MAAM;IACpBC,UAAU,EAAEhC,SAAS;IACrBiC,QAAQ,EAAEC,OAAO;IACjBC,IAAI,EAAED,OAAO;IACbE,KAAK,EAAEF,OAAO;IACdG,KAAK,EAAEN,MAAM;IACbO,IAAI,EAAE;MACJC,IAAI,EAAEL,OAAO;MACbM,OAAO,EAAEC;IACX,CAAC;IACDC,aAAa,EAAEX,MAAM;IACrBY,WAAW,EAAE3C,SAAS;IACtB4C,MAAM,EAAEV,OAAO;IACfW,QAAQ,EAAEd,MAAM;IAChBe,IAAI,EAAEf,MAAM;IACZgB,KAAK,EAAEhB,MAAM;IAEb,GAAGV,cAAc,EAAE;IACnB,GAAGjB,eAAe,EAAE;IACpB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,kBAAkB,EAAE;IACvB,GAAGR,eAAe,EAAE;IACpB,GAAGU,iBAAiB,EAAE;IACtB,GAAGE,iBAAiB,EAAE;IACtB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,eAAe,EAAE;IACpB,GAAGE,YAAY,EAAE;IACjB,GAAGtB,gBAAgB,CAAC;MAAEkD,OAAO,EAAE;IAAW,CAAC;EAC7C,CAAC;EAEDC,KAAK,CAAEpB,KAAK,QAAoB;IAAA,IAAlB;MAAEqB,KAAK;MAAEC;IAAM,CAAC;IAC5B,MAAM;MAAEC;IAAa,CAAC,GAAG9B,YAAY,CAACO,KAAK,CAAC;IAC5C,MAAM;MAAEwB;IAAc,CAAC,GAAGhD,SAAS,CAACwB,KAAK,CAAC;IAC1C,MAAM;MAAEyB,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAGzD,UAAU,CAAC8B,KAAK,CAAC;IACvE,MAAM;MAAE4B;IAAe,CAAC,GAAGlD,UAAU,CAACsB,KAAK,CAAC;IAC5C,MAAM;MAAE6B;IAAgB,CAAC,GAAGjD,YAAY,CAACoB,KAAK,CAAC;IAC/C,MAAM;MAAE8B;IAAiB,CAAC,GAAGhD,YAAY,CAACkB,KAAK,CAAC;IAChD,MAAM;MAAE+B;IAAc,CAAC,GAAGzD,SAAS,CAAC0B,KAAK,CAAC;IAC1C,MAAM;MAAEgC;IAAe,CAAC,GAAGhD,WAAW,CAACgB,KAAK,CAAC;IAC7C,MAAM;MAAEiC;IAAgB,CAAC,GAAG/C,WAAW,CAACc,KAAK,CAAC;IAC9C,MAAM;MAAEkC;IAAe,CAAC,GAAG9C,UAAU,CAACY,KAAK,CAAC;IAC5C,MAAMS,IAAI,GAAGnB,OAAO,CAACU,KAAK,EAAEqB,KAAK,CAAC;IAElC,MAAMc,MAAM,GAAGvC,QAAQ,CAAC,MAAMI,KAAK,CAACS,IAAI,KAAK,KAAK,IAAIA,IAAI,CAAC0B,MAAM,CAACC,KAAK,CAAC;IACxE,MAAMC,WAAW,GAAGzC,QAAQ,CAAC,MAC3B,CAACI,KAAK,CAACI,QAAQ,IACfJ,KAAK,CAACS,IAAI,KAAK,KAAK,KACnBT,KAAK,CAACS,IAAI,IAAIA,IAAI,CAAC4B,WAAW,CAACD,KAAK,CAAC,CACvC;IAEDzC,SAAS,CAAC,MAAM;MAAA;MACd,MAAM2C,GAAG,GAAGH,MAAM,CAACC,KAAK,GAAG,GAAG,GAAGpC,KAAK,CAACuC,GAAG;MAC1C,MAAMC,QAAQ,GAAG,CAAC,EAAElB,KAAK,CAACJ,KAAK,IAAIlB,KAAK,CAACkB,KAAK,CAAC;MAC/C,MAAMuB,WAAW,GAAG,CAAC,EAAEnB,KAAK,CAACN,QAAQ,IAAIhB,KAAK,CAACgB,QAAQ,CAAC;MACxD,MAAM0B,SAAS,GAAGF,QAAQ,IAAIC,WAAW;MACzC,MAAME,SAAS,GAAG,CAAC,EAAErB,KAAK,CAACsB,MAAM,IAAI5C,KAAK,CAACC,YAAY,IAAID,KAAK,CAACG,UAAU,CAAC;MAC5E,MAAM0C,UAAU,GAAG,CAAC,EAAEvB,KAAK,CAACwB,OAAO,IAAI9C,KAAK,CAACa,aAAa,IAAIb,KAAK,CAACc,WAAW,CAAC;MAChF,MAAMiC,QAAQ,GAAG,CAAC,EAAEzB,KAAK,CAACd,KAAK,IAAIR,KAAK,CAACQ,KAAK,CAAC;MAC/C,MAAMwC,WAAW,GAAGN,SAAS,IAAIG,UAAU,IAAIF,SAAS;MACxD,MAAMM,OAAO,GAAG,CAAC,EAAE3B,KAAK,CAACL,IAAI,IAAIjB,KAAK,CAACiB,IAAI,CAAC;MAE5C;QAAA,SAEW,CACL,QAAQ,EACR;UACE,kBAAkB,EAAEjB,KAAK,CAACI,QAAQ;UAClC,cAAc,EAAEJ,KAAK,CAACM,IAAI;UAC1B,eAAe,EAAEN,KAAK,CAACO,KAAK,IAAI,EAAEP,KAAK,CAACI,QAAQ,IAAIJ,KAAK,CAACM,IAAI,CAAC;UAC/D,cAAc,EAAE+B,WAAW,CAACD;QAC9B,CAAC,EACDb,YAAY,CAACa,KAAK,EAClBZ,aAAa,CAACY,KAAK,EACnBX,YAAY,CAACW,KAAK,EAClBR,cAAc,CAACQ,KAAK,EACpBN,gBAAgB,CAACM,KAAK,EACtBL,aAAa,CAACK,KAAK,EACnBH,eAAe,CAACG,KAAK,EACrBF,cAAc,CAACE,KAAK,EACpBT,cAAc,CAACS,KAAK,CACrB;QAAA,SACM,CACLV,WAAW,CAACU,KAAK,EACjBP,eAAe,CAACO,KAAK,EACrBJ,cAAc,CAACI,KAAK,CACrB;QAAA,QACM3B,IAAI,CAACyC,IAAI,CAACd,KAAK;QAAA,WACZC,WAAW,CAACD,KAAK,IAAI3B,IAAI,CAAC0C;MAAQ;QAAA,gBAG1CJ,QAAQ;UAAA,OAEF,OAAO;UAAA,YACD;YACRjF,IAAI,EAAE;cACJsF,KAAK,EAAE,IAAI;cACXC,GAAG,EAAErD,KAAK,CAACQ;YACb;UACF;QAAC;UAAA;YAAA,SAEU;UAAe,IACtB,iBAAAc,KAAK,CAACd,KAAK,qBAAX,kBAAAc,KAAK,CAAU,mCAAY;QAAA,EAGlC;UAAA,QAGM,QAAQ;UAAA,UACJ,CAAC,CAACtB,KAAK,CAACsD,OAAO;UAAA,SAChB,OAAOtD,KAAK,CAACsD,OAAO,KAAK,SAAS,GAAG1C,SAAS,GAAGZ,KAAK,CAACsD;QAAO,GAC7D;UAAE3C,OAAO,EAAEW,KAAK,CAACiC;QAAO,CAAC,GAGlCP,WAAW;UAAA,OAEL,MAAM;UAAA,iBACMhD,KAAK,CAACa,aAAa;UAAA,eACrBb,KAAK,CAACc,WAAW;UAAA,SACvBd,KAAK,CAACkB,KAAK;UAAA,YACRlB,KAAK,CAACgB,QAAQ;UAAA,gBACVhB,KAAK,CAACC,YAAY;UAAA,cACpBD,KAAK,CAACG;QAAU;UAG3BQ,OAAO,EAAEW,KAAK,CAACkC,IAAI;UACnBV,OAAO,EAAExB,KAAK,CAACwB,OAAO;UACtB5B,KAAK,EAAEI,KAAK,CAACJ,KAAK;UAClBF,QAAQ,EAAEM,KAAK,CAACN,QAAQ;UACxB4B,MAAM,EAAEtB,KAAK,CAACsB;QAAM,EAGzB,EAECK,OAAO;UAAA,OACQ;QAAM;UAAA,gBACjB,gBAAA3B,KAAK,CAACL,IAAI,qBAAV,iBAAAK,KAAK,CAAS,KAAItB,KAAK,CAACiB,IAAI;QAAA,EAEjC,oBAECK,KAAK,CAACX,OAAO,qBAAb,oBAAAW,KAAK,CAAY,EAEjBA,KAAK,CAACmC,OAAO,qCACU;UAAE9C,OAAO,EAAEW,KAAK,CAACmC;QAAQ,CAAC,CAClD,EAECzF,WAAW,CAACqE,WAAW,CAACD,KAAK,EAAE,QAAQ,CAAC;MAAA,mCAzD/BC,WAAW,CAACD,KAAK;IA4DlC,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VCard.mjs","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","Ripple","genOverlays","makeVariantProps","useVariant","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","defineComponent","useRender","computed","VCard","name","directives","props","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","subtitle","text","title","variant","setup","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","href","navigate","cover","src","loading","loader","item","actions"],"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// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\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'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { computed } from 'vue'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\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: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const 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 ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <VDefaultsProvider\n key=\"image\"\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n <div class=\"v-card__image\">\n { slots.image?.() ?? <VImg /> }\n </div>\n </VDefaultsProvider>\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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"}
@@ -110,13 +110,10 @@
110
110
  min-width: 0
111
111
  overflow-wrap: $card-title-overflow-wrap
112
112
  overflow: $card-title-overflow
113
- overflow: hidden
114
113
  padding: $card-title-padding
115
114
  text-overflow: $card-title-text-overflow
116
- text-overflow: ellipsis
117
115
  text-transform: $card-title-text-transform
118
116
  white-space: $card-title-white-space
119
- white-space: nowrap
120
117
  word-break: $card-title-word-break
121
118
  word-wrap: $card-title-word-wrap
122
119
 
@@ -6,8 +6,7 @@ import { VCardTitle } from "./VCardTitle.mjs";
6
6
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
7
7
  import { IconValue } from "../../composables/icons.mjs";
8
8
  import { makeDensityProps } from "../../composables/density.mjs"; // Utility
9
- import { defineComponent } from 'vue';
10
- import { useRender } from "../../util/index.mjs";
9
+ import { defineComponent, useRender } from "../../util/index.mjs";
11
10
  export const VCardItem = defineComponent({
12
11
  name: 'VCardItem',
13
12
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"VCardItem.mjs","names":["VAvatar","VCardSubtitle","VCardTitle","VDefaultsProvider","IconValue","makeDensityProps","defineComponent","useRender","VCardItem","name","props","appendAvatar","String","appendIcon","prependAvatar","prependIcon","subtitle","title","setup","slots","hasPrepend","prepend","hasAppend","append","hasTitle","hasSubtitle","density","icon","image","VIcon","default"],"sources":["../../../src/components/VCard/VCardItem.tsx"],"sourcesContent":["// Components\nimport { VAvatar } from '../VAvatar'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardTitle } from './VCardTitle'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps } from '@/composables/density'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VCardItem = defineComponent({\n name: 'VCardItem',\n\n props: {\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: String,\n title: String,\n\n ...makeDensityProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasPrepend = !!(props.prependAvatar || props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendAvatar || props.appendIcon || slots.append)\n const hasTitle = !!(props.title || slots.title)\n const hasSubtitle = !!(props.subtitle || slots.subtitle)\n\n return (\n <div class=\"v-card-item\">\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n }}\n >\n <div class=\"v-card-item__prepend\">\n { slots.prepend?.() ?? (<VAvatar />) }\n </div>\n </VDefaultsProvider>\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 <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n }}\n >\n <div class=\"v-card-item__append\">\n { slots.append?.() ?? (<VAvatar />) }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCardItem = InstanceType<typeof VCardItem>\n"],"mappings":";AAAA;AAAA,SACSA,OAAO;AAAA,SACPC,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,iBAAiB,0CAE1B;AAAA,SACSC,SAAS;AAAA,SACTC,gBAAgB,yCAEzB;AACA,SAASC,eAAe,QAAQ,KAAK;AAAA,SAC5BC,SAAS;AAElB,OAAO,MAAMC,SAAS,GAAGF,eAAe,CAAC;EACvCG,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAE;IACLC,YAAY,EAAEC,MAAM;IACpBC,UAAU,EAAET,SAAS;IACrBU,aAAa,EAAEF,MAAM;IACrBG,WAAW,EAAEX,SAAS;IACtBY,QAAQ,EAAEJ,MAAM;IAChBK,KAAK,EAAEL,MAAM;IAEb,GAAGP,gBAAgB;EACrB,CAAC;EAEDa,KAAK,CAAER,KAAK,QAAa;IAAA,IAAX;MAAES;IAAM,CAAC;IACrBZ,SAAS,CAAC,MAAM;MAAA;MACd,MAAMa,UAAU,GAAG,CAAC,EAAEV,KAAK,CAACI,aAAa,IAAIJ,KAAK,CAACK,WAAW,IAAII,KAAK,CAACE,OAAO,CAAC;MAChF,MAAMC,SAAS,GAAG,CAAC,EAAEZ,KAAK,CAACC,YAAY,IAAID,KAAK,CAACG,UAAU,IAAIM,KAAK,CAACI,MAAM,CAAC;MAC5E,MAAMC,QAAQ,GAAG,CAAC,EAAEd,KAAK,CAACO,KAAK,IAAIE,KAAK,CAACF,KAAK,CAAC;MAC/C,MAAMQ,WAAW,GAAG,CAAC,EAAEf,KAAK,CAACM,QAAQ,IAAIG,KAAK,CAACH,QAAQ,CAAC;MAExD;QAAA,SACa;MAAa,IACpBI,UAAU;QAAA,OAEJ,SAAS;QAAA,YACH;UACRpB,OAAO,EAAE;YACP0B,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACK,WAAW;YACvBa,KAAK,EAAElB,KAAK,CAACI;UACf,CAAC;UACDe,KAAK,EAAE;YACLH,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACK;UACd;QACF;MAAC;QAAA;UAAA,SAEU;QAAsB,IAC7B,mBAAAI,KAAK,CAACE,OAAO,qBAAb,oBAAAF,KAAK,CAAY,sCAAiB;MAAA,EAGzC;QAAA,SAEU;MAAsB,IAC7BK,QAAQ;QAAA,OACQ;MAAO;QAAA,gBACnB,iBAAAL,KAAK,CAACF,KAAK,qBAAX,kBAAAE,KAAK,CAAU,KAAIT,KAAK,CAACO,KAAK;MAAA,EAEnC,EAECQ,WAAW;QAAA,OACQ;MAAU;QAAA,gBACzB,oBAAAN,KAAK,CAACH,QAAQ,qBAAd,qBAAAG,KAAK,CAAa,KAAIT,KAAK,CAACM,QAAQ;MAAA,EAEzC,oBAECG,KAAK,CAACW,OAAO,qBAAb,oBAAAX,KAAK,CAAY,IAGnBG,SAAS;QAAA,OAEH,QAAQ;QAAA,YACF;UACRtB,OAAO,EAAE;YACP0B,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACG,UAAU;YACtBe,KAAK,EAAElB,KAAK,CAACC;UACf,CAAC;UACDkB,KAAK,EAAE;YACLH,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACG;UACd;QACF;MAAC;QAAA;UAAA,SAEU;QAAqB,IAC5B,kBAAAM,KAAK,CAACI,MAAM,qBAAZ,mBAAAJ,KAAK,CAAW,sCAAiB;MAAA,EAGxC;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VCardItem.mjs","names":["VAvatar","VCardSubtitle","VCardTitle","VDefaultsProvider","IconValue","makeDensityProps","defineComponent","useRender","VCardItem","name","props","appendAvatar","String","appendIcon","prependAvatar","prependIcon","subtitle","title","setup","slots","hasPrepend","prepend","hasAppend","append","hasTitle","hasSubtitle","density","icon","image","VIcon","default"],"sources":["../../../src/components/VCard/VCardItem.tsx"],"sourcesContent":["// Components\nimport { VAvatar } from '../VAvatar'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardTitle } from './VCardTitle'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps } from '@/composables/density'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\n\nexport const VCardItem = defineComponent({\n name: 'VCardItem',\n\n props: {\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: String,\n title: String,\n\n ...makeDensityProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasPrepend = !!(props.prependAvatar || props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendAvatar || props.appendIcon || slots.append)\n const hasTitle = !!(props.title || slots.title)\n const hasSubtitle = !!(props.subtitle || slots.subtitle)\n\n return (\n <div class=\"v-card-item\">\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n }}\n >\n <div class=\"v-card-item__prepend\">\n { slots.prepend?.() ?? (<VAvatar />) }\n </div>\n </VDefaultsProvider>\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 <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n }}\n >\n <div class=\"v-card-item__append\">\n { slots.append?.() ?? (<VAvatar />) }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCardItem = InstanceType<typeof VCardItem>\n"],"mappings":";AAAA;AAAA,SACSA,OAAO;AAAA,SACPC,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,iBAAiB,0CAE1B;AAAA,SACSC,SAAS;AAAA,SACTC,gBAAgB,yCAEzB;AAAA,SACSC,eAAe,EAAEC,SAAS;AAEnC,OAAO,MAAMC,SAAS,GAAGF,eAAe,CAAC;EACvCG,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAE;IACLC,YAAY,EAAEC,MAAM;IACpBC,UAAU,EAAET,SAAS;IACrBU,aAAa,EAAEF,MAAM;IACrBG,WAAW,EAAEX,SAAS;IACtBY,QAAQ,EAAEJ,MAAM;IAChBK,KAAK,EAAEL,MAAM;IAEb,GAAGP,gBAAgB;EACrB,CAAC;EAEDa,KAAK,CAAER,KAAK,QAAa;IAAA,IAAX;MAAES;IAAM,CAAC;IACrBZ,SAAS,CAAC,MAAM;MAAA;MACd,MAAMa,UAAU,GAAG,CAAC,EAAEV,KAAK,CAACI,aAAa,IAAIJ,KAAK,CAACK,WAAW,IAAII,KAAK,CAACE,OAAO,CAAC;MAChF,MAAMC,SAAS,GAAG,CAAC,EAAEZ,KAAK,CAACC,YAAY,IAAID,KAAK,CAACG,UAAU,IAAIM,KAAK,CAACI,MAAM,CAAC;MAC5E,MAAMC,QAAQ,GAAG,CAAC,EAAEd,KAAK,CAACO,KAAK,IAAIE,KAAK,CAACF,KAAK,CAAC;MAC/C,MAAMQ,WAAW,GAAG,CAAC,EAAEf,KAAK,CAACM,QAAQ,IAAIG,KAAK,CAACH,QAAQ,CAAC;MAExD;QAAA,SACa;MAAa,IACpBI,UAAU;QAAA,OAEJ,SAAS;QAAA,YACH;UACRpB,OAAO,EAAE;YACP0B,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACK,WAAW;YACvBa,KAAK,EAAElB,KAAK,CAACI;UACf,CAAC;UACDe,KAAK,EAAE;YACLH,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACK;UACd;QACF;MAAC;QAAA;UAAA,SAEU;QAAsB,IAC7B,mBAAAI,KAAK,CAACE,OAAO,qBAAb,oBAAAF,KAAK,CAAY,sCAAiB;MAAA,EAGzC;QAAA,SAEU;MAAsB,IAC7BK,QAAQ;QAAA,OACQ;MAAO;QAAA,gBACnB,iBAAAL,KAAK,CAACF,KAAK,qBAAX,kBAAAE,KAAK,CAAU,KAAIT,KAAK,CAACO,KAAK;MAAA,EAEnC,EAECQ,WAAW;QAAA,OACQ;MAAU;QAAA,gBACzB,oBAAAN,KAAK,CAACH,QAAQ,qBAAd,qBAAAG,KAAK,CAAa,KAAIT,KAAK,CAACM,QAAQ;MAAA,EAEzC,oBAECG,KAAK,CAACW,OAAO,qBAAb,oBAAAX,KAAK,CAAY,IAGnBG,SAAS;QAAA,OAEH,QAAQ;QAAA,YACF;UACRtB,OAAO,EAAE;YACP0B,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACG,UAAU;YACtBe,KAAK,EAAElB,KAAK,CAACC;UACf,CAAC;UACDkB,KAAK,EAAE;YACLH,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACG;UACd;QACF;MAAC;QAAA;UAAA,SAEU;QAAqB,IAC5B,kBAAAM,KAAK,CAACI,MAAM,qBAAZ,mBAAAJ,KAAK,CAAW,sCAAiB;MAAA,EAGxC;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import * as vue from 'vue';
2
2
  import { JSXComponent, PropType } from 'vue';
3
+ // @ts-ignore
3
4
  import * as vue_router from 'vue-router';
4
5
 
5
6
  declare type Density = null | 'default' | 'comfortable' | 'compact';
@@ -15,7 +15,7 @@ export const makeVCheckboxBtnProps = propsFactory({
15
15
  falseIcon: '$checkboxOff',
16
16
  trueIcon: '$checkboxOn'
17
17
  })
18
- }, 'VCheckboxBtn');
18
+ }, 'v-checkbox-btn');
19
19
  export const VCheckboxBtn = defineComponent({
20
20
  name: 'VCheckboxBtn',
21
21
  props: makeVCheckboxBtnProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VCheckboxBtn.mjs","names":["makeSelectionControlProps","VSelectionControl","IconValue","useProxiedModel","computed","defineComponent","pick","propsFactory","useRender","makeVCheckboxBtnProps","indeterminate","Boolean","indeterminateIcon","type","default","falseIcon","trueIcon","VCheckboxBtn","name","props","emits","value","val","setup","slots","model","onChange","v","undefined","filterCheckboxBtnProps","Object","keys"],"sources":["../../../src/components/VCheckbox/VCheckboxBtn.tsx"],"sourcesContent":["// Components\nimport { makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\n\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n\n ...makeSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn',\n }),\n}, 'VCheckboxBtn')\n\nexport const VCheckboxBtn = defineComponent({\n name: 'VCheckboxBtn',\n\n props: makeVCheckboxBtnProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n\n function onChange (v: any) {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n const falseIcon = computed(() => {\n return props.indeterminate\n ? props.indeterminateIcon\n : props.falseIcon\n })\n\n const trueIcon = computed(() => {\n return props.indeterminate\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n useRender(() => (\n <VSelectionControl\n { ...props }\n v-model={ model.value }\n class=\"v-checkbox-btn\"\n type=\"checkbox\"\n inline\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ props.indeterminate ? 'mixed' : undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VCheckboxBtn = InstanceType<typeof VCheckboxBtn>\n\nexport function filterCheckboxBtnProps (props: ExtractPropTypes<ReturnType<typeof makeVCheckboxBtnProps>>) {\n return pick(props, Object.keys(VCheckboxBtn.props) as any)\n}\n"],"mappings":";AAAA;AAAA,SACSA,yBAAyB,EAAEC,iBAAiB,sDAErD;AAAA,SACSC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,eAAe,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAEvD;AAGA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,aAAa,EAAEC,OAAO;EACtBC,iBAAiB,EAAE;IACjBC,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EAED,GAAGd,yBAAyB,CAAC;IAC3Be,SAAS,EAAE,cAAc;IACzBC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMC,YAAY,GAAGZ,eAAe,CAAC;EAC1Ca,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAEV,qBAAqB,EAAE;EAE9BW,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK,IAAI;IACzC,sBAAsB,EAAGC,GAAY,IAAK;EAC5C,CAAC;EAEDC,KAAK,CAAEJ,KAAK,QAAa;IAAA,IAAX;MAAEK;IAAM,CAAC;IACrB,MAAMd,aAAa,GAAGP,eAAe,CAACgB,KAAK,EAAE,eAAe,CAAC;IAC7D,MAAMM,KAAK,GAAGtB,eAAe,CAACgB,KAAK,EAAE,YAAY,CAAC;IAElD,SAASO,QAAQ,CAAEC,CAAM,EAAE;MACzB,IAAIjB,aAAa,CAACW,KAAK,EAAE;QACvBX,aAAa,CAACW,KAAK,GAAG,KAAK;MAC7B;IACF;IAEA,MAAMN,SAAS,GAAGX,QAAQ,CAAC,MAAM;MAC/B,OAAOe,KAAK,CAACT,aAAa,GACtBS,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACJ,SAAS;IACrB,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGZ,QAAQ,CAAC,MAAM;MAC9B,OAAOe,KAAK,CAACT,aAAa,GACtBS,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACH,QAAQ;IACpB,CAAC,CAAC;IAEFR,SAAS,CAAC,kDAEDW,KAAK;MAAA,cACAM,KAAK,CAACJ,KAAK;MAAA,kCAAXI,KAAK,CAACJ,KAAK,WAICK,QAAQ;MAAA,SAHxB,gBAAgB;MAAA,QACjB,UAAU;MAAA;MAAA,aAGHX,SAAS,CAACM,KAAK;MAAA,YAChBL,QAAQ,CAACK,KAAK;MAAA,gBACVF,KAAK,CAACT,aAAa,GAAG,OAAO,GAAGkB;IAAS,IAC9CJ,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC;AAIF,OAAO,SAASK,sBAAsB,CAAEV,KAAiE,EAAE;EACzG,OAAOb,IAAI,CAACa,KAAK,EAAEW,MAAM,CAACC,IAAI,CAACd,YAAY,CAACE,KAAK,CAAC,CAAQ;AAC5D"}
1
+ {"version":3,"file":"VCheckboxBtn.mjs","names":["makeSelectionControlProps","VSelectionControl","IconValue","useProxiedModel","computed","defineComponent","pick","propsFactory","useRender","makeVCheckboxBtnProps","indeterminate","Boolean","indeterminateIcon","type","default","falseIcon","trueIcon","VCheckboxBtn","name","props","emits","value","val","setup","slots","model","onChange","v","undefined","filterCheckboxBtnProps","Object","keys"],"sources":["../../../src/components/VCheckbox/VCheckboxBtn.tsx"],"sourcesContent":["// Components\nimport { makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\n\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n\n ...makeSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn',\n }),\n}, 'v-checkbox-btn')\n\nexport const VCheckboxBtn = defineComponent({\n name: 'VCheckboxBtn',\n\n props: makeVCheckboxBtnProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n\n function onChange (v: any) {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n const falseIcon = computed(() => {\n return props.indeterminate\n ? props.indeterminateIcon\n : props.falseIcon\n })\n\n const trueIcon = computed(() => {\n return props.indeterminate\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n useRender(() => (\n <VSelectionControl\n { ...props }\n v-model={ model.value }\n class=\"v-checkbox-btn\"\n type=\"checkbox\"\n inline\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ props.indeterminate ? 'mixed' : undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VCheckboxBtn = InstanceType<typeof VCheckboxBtn>\n\nexport function filterCheckboxBtnProps (props: ExtractPropTypes<ReturnType<typeof makeVCheckboxBtnProps>>) {\n return pick(props, Object.keys(VCheckboxBtn.props) as any)\n}\n"],"mappings":";AAAA;AAAA,SACSA,yBAAyB,EAAEC,iBAAiB,sDAErD;AAAA,SACSC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,eAAe,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAEvD;AAGA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,aAAa,EAAEC,OAAO;EACtBC,iBAAiB,EAAE;IACjBC,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EAED,GAAGd,yBAAyB,CAAC;IAC3Be,SAAS,EAAE,cAAc;IACzBC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMC,YAAY,GAAGZ,eAAe,CAAC;EAC1Ca,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAEV,qBAAqB,EAAE;EAE9BW,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK,IAAI;IACzC,sBAAsB,EAAGC,GAAY,IAAK;EAC5C,CAAC;EAEDC,KAAK,CAAEJ,KAAK,QAAa;IAAA,IAAX;MAAEK;IAAM,CAAC;IACrB,MAAMd,aAAa,GAAGP,eAAe,CAACgB,KAAK,EAAE,eAAe,CAAC;IAC7D,MAAMM,KAAK,GAAGtB,eAAe,CAACgB,KAAK,EAAE,YAAY,CAAC;IAElD,SAASO,QAAQ,CAAEC,CAAM,EAAE;MACzB,IAAIjB,aAAa,CAACW,KAAK,EAAE;QACvBX,aAAa,CAACW,KAAK,GAAG,KAAK;MAC7B;IACF;IAEA,MAAMN,SAAS,GAAGX,QAAQ,CAAC,MAAM;MAC/B,OAAOe,KAAK,CAACT,aAAa,GACtBS,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACJ,SAAS;IACrB,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGZ,QAAQ,CAAC,MAAM;MAC9B,OAAOe,KAAK,CAACT,aAAa,GACtBS,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACH,QAAQ;IACpB,CAAC,CAAC;IAEFR,SAAS,CAAC,kDAEDW,KAAK;MAAA,cACAM,KAAK,CAACJ,KAAK;MAAA,kCAAXI,KAAK,CAACJ,KAAK,WAICK,QAAQ;MAAA,SAHxB,gBAAgB;MAAA,QACjB,UAAU;MAAA;MAAA,aAGHX,SAAS,CAACM,KAAK;MAAA,YAChBL,QAAQ,CAACK,KAAK;MAAA,gBACVF,KAAK,CAACT,aAAa,GAAG,OAAO,GAAGkB;IAAS,IAC9CJ,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC;AAIF,OAAO,SAASK,sBAAsB,CAAEV,KAAiE,EAAE;EACzG,OAAOb,IAAI,CAACa,KAAK,EAAEW,MAAM,CAACC,IAAI,CAACd,YAAY,CAACE,KAAK,CAAC,CAAQ;AAC5D"}
@@ -176,8 +176,8 @@ declare const VCheckbox: vue.DefineComponent<{
176
176
  messages: string | string[];
177
177
  density: Density;
178
178
  ripple: boolean;
179
- errorMessages: string | string[];
180
179
  focused: boolean;
180
+ errorMessages: string | string[];
181
181
  maxErrors: string | number;
182
182
  rules: ValidationRule[];
183
183
  falseIcon: (string & {}) | IconValue;
@@ -78,7 +78,6 @@ export const VChip = defineComponent({
78
78
  },
79
79
  emits: {
80
80
  'click:close': e => true,
81
- 'update:active': value => true,
82
81
  'update:modelValue': value => true,
83
82
  'group:selected': val => true
84
83
  },
@@ -1 +1 @@
1
- {"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","Ripple","defineComponent","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","pill","prependAvatar","prependIcon","ripple","text","modelValue","tag","variant","emits","e","value","val","setup","attrs","emit","slots","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","onCloseClick","Tag","isLink","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","isClickable","disabled","onClickFunc","toggle","undefined","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\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 { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\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: Boolean,\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 ...makeBorderProps(),\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 },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: boolean) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\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\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link)\n const onClickFunc = props.link ? props.link : group?.toggle\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,\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 ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && onClickFunc }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\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\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\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":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","Ripple","defineComponent","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","pill","prependAvatar","prependIcon","ripple","text","modelValue","tag","variant","emits","e","value","val","setup","attrs","emit","slots","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","onCloseClick","Tag","isLink","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","isClickable","disabled","onClickFunc","toggle","undefined","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\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 { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\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: Boolean,\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 ...makeBorderProps(),\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 },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\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\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link)\n const onClickFunc = props.link ? props.link : group?.toggle\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,\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 ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && onClickFunc }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\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\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":";AAAA;AACA;AACA;;AAEA;AAAA,SACSA,OAAO;AAAA,SACPC,gBAAgB;AAAA,SAChBC,iBAAiB;AAAA,SACjBC,kBAAkB;AAAA,SAClBC,KAAK,8BAEd;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe,EAAEC,OAAO;AAAA,SACxBC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,eAAe;AAAA,SACfC,SAAS,uCAElB;AAAA,SACSC,MAAM,6CAEf;AAAA,SACSC,eAAe;AAExB,OAAO,MAAMC,KAAK,GAAGD,eAAe,CAAC;EACnCE,IAAI,EAAE,OAAO;EAEbC,UAAU,EAAE;IAAEJ;EAAO,CAAC;EAEtBK,KAAK,EAAE;IACLC,WAAW,EAAEC,MAAM;IACnBC,YAAY,EAAED,MAAM;IACpBE,UAAU,EAAEV,SAAS;IACrBW,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAE;MACTC,IAAI,EAAEd,SAAS;MACfe,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAE;MACVF,IAAI,EAAEN,MAAM;MACZO,OAAO,EAAE;IACX,CAAC;IACDE,SAAS,EAAEL,OAAO;IAClBM,MAAM,EAAEN,OAAO;IACfO,UAAU,EAAE;MACVL,IAAI,EAAEN,MAAM;MACZO,OAAO,EAAE;IACX,CAAC;IACDK,KAAK,EAAER,OAAO;IACdS,IAAI,EAAET,OAAO;IACbU,IAAI,EAAEV,OAAO;IACbW,aAAa,EAAEf,MAAM;IACrBgB,WAAW,EAAExB,SAAS;IACtByB,MAAM,EAAE;MACNX,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAE;IACX,CAAC;IACDW,IAAI,EAAElB,MAAM;IACZmB,UAAU,EAAE;MACVb,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAE;IACX,CAAC;IAED,GAAGjC,eAAe,EAAE;IACpB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,eAAe,EAAE;IACpB,GAAGE,aAAa,EAAE;IAClB,GAAGE,YAAY,CAAC;MAAEgC,GAAG,EAAE;IAAO,CAAC,CAAC;IAChC,GAAG/B,cAAc,EAAE;IACnB,GAAGjB,gBAAgB,CAAC;MAAEiD,OAAO,EAAE;IAAQ,CAAC;EAC1C,CAAC;EAEDC,KAAK,EAAE;IACL,aAAa,EAAGC,CAAQ,IAAK,IAAI;IACjC,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAK,CAAE5B,KAAK,QAA0B;IAAA,IAAxB;MAAE6B,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC;IAClC,MAAM;MAAEC;IAAc,CAAC,GAAGvD,SAAS,CAACuB,KAAK,CAAC;IAC1C,MAAM;MAAEiC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG5D,UAAU,CAACyB,KAAK,CAAC;IACvE,MAAM;MAAEoC;IAAe,CAAC,GAAGzD,UAAU,CAACqB,KAAK,CAAC;IAC5C,MAAM;MAAEqC;IAAiB,CAAC,GAAGxD,YAAY,CAACmB,KAAK,CAAC;IAChD,MAAM;MAAEsC;IAAe,CAAC,GAAGrD,UAAU,CAACe,KAAK,CAAC;IAC5C,MAAM;MAAEuC;IAAY,CAAC,GAAGlD,OAAO,CAACW,KAAK,CAAC;IACtC,MAAM;MAAEwC;IAAa,CAAC,GAAGhD,YAAY,CAACQ,KAAK,CAAC;IAE5C,MAAMyC,QAAQ,GAAGhD,eAAe,CAACO,KAAK,EAAE,YAAY,CAAC;IACrD,MAAM0C,KAAK,GAAG3D,YAAY,CAACiB,KAAK,EAAE/B,gBAAgB,EAAE,KAAK,CAAC;IAC1D,MAAM8C,IAAI,GAAG5B,OAAO,CAACa,KAAK,EAAE6B,KAAK,CAAC;IAElC,SAASc,YAAY,CAAElB,CAAQ,EAAE;MAC/BgB,QAAQ,CAACf,KAAK,GAAG,KAAK;MAEtBI,IAAI,CAAC,aAAa,EAAEL,CAAC,CAAC;IACxB;IAEA,OAAO,MAAM;MAAA;MACX,MAAMmB,GAAG,GAAI7B,IAAI,CAAC8B,MAAM,CAACnB,KAAK,GAAI,GAAG,GAAG1B,KAAK,CAACsB,GAAG;MACjD,MAAMwB,SAAS,GAAG,CAAC,EAAEf,KAAK,CAACgB,MAAM,IAAI/C,KAAK,CAACI,UAAU,IAAIJ,KAAK,CAACG,YAAY,CAAC;MAC5E,MAAM6C,QAAQ,GAAG,CAAC,EAAEjB,KAAK,CAACkB,KAAK,IAAIjD,KAAK,CAACK,QAAQ,CAAC;MAClD,MAAM6C,SAAS,GAAG,CAAC,EAAEnB,KAAK,CAACnB,MAAM,IAAIZ,KAAK,CAACY,MAAM,CAAC,IAAI8B,KAAK;MAC3D,MAAMS,UAAU,GAAG,CAAC,EAAEpB,KAAK,CAACqB,OAAO,IAAIpD,KAAK,CAACkB,WAAW,IAAIlB,KAAK,CAACiB,aAAa,CAAC;MAChF,MAAMoC,QAAQ,GAAG,CAACX,KAAK,IAAIA,KAAK,CAACY,UAAU,CAAC5B,KAAK;MACjD,MAAM6B,WAAW,GAAG,CAACvD,KAAK,CAACwD,QAAQ,KAAK,CAAC,CAACd,KAAK,IAAI3B,IAAI,CAACwC,WAAW,CAAC7B,KAAK,IAAI1B,KAAK,CAACe,IAAI,CAAC;MACxF,MAAM0C,WAAW,GAAGzD,KAAK,CAACe,IAAI,GAAGf,KAAK,CAACe,IAAI,GAAG2B,KAAK,oBAALA,KAAK,CAAEgB,MAAM;MAE3D,OAAOjB,QAAQ,CAACf,KAAK;QAAA,SAEV,CACL,QAAQ,EACR;UACE,kBAAkB,EAAE1B,KAAK,CAACwD,QAAQ;UAClC,eAAe,EAAExD,KAAK,CAACc,KAAK;UAC5B,cAAc,EAAEyC,WAAW;UAC3B,gBAAgB,EAAEL,SAAS;UAC3B,cAAc,EAAElD,KAAK,CAACgB;QACxB,CAAC,EACDwB,YAAY,CAACd,KAAK,EAClBM,aAAa,CAACN,KAAK,EACnB2B,QAAQ,GAAGpB,YAAY,CAACP,KAAK,GAAGiC,SAAS,EACzCvB,cAAc,CAACV,KAAK,EACpBW,gBAAgB,CAACX,KAAK,EACtBY,cAAc,CAACZ,KAAK,EACpBa,WAAW,CAACb,KAAK,EACjBS,cAAc,CAACT,KAAK,EACpBgB,KAAK,oBAALA,KAAK,CAAEkB,aAAa,CAAClC,KAAK,CAC3B;QAAA,SACM,CACL2B,QAAQ,GAAGnB,WAAW,CAACR,KAAK,GAAGiC,SAAS,CACzC;QAAA,YACU3D,KAAK,CAACwD,QAAQ,IAAIG,SAAS;QAAA,aAC1B3D,KAAK,CAACW,SAAS;QAAA,QACpBI,IAAI,CAAC8C,IAAI,CAACnC,KAAK;QAAA,WAEZ6B,WAAW,IAAIE;MAAW;QAAA,gBAElCpF,WAAW,CAACkF,WAAW,EAAE,QAAQ,CAAC,EAElCL,SAAS;UAAA,OAEH,QAAQ;UAAA,YACF;YACR9E,KAAK,EAAE;cAAE0F,IAAI,EAAE9D,KAAK,CAACa;YAAW;UAClC;QAAC;UAAA;YAAA;cAAA,SAIS;YAAgB,IAGpBkB,KAAK,CAACnB,MAAM,GAAGmB,KAAK,CAACnB,MAAM,EAAE,kCAAc,cAFpC8B,KAAK,CAACY,UAAU,CAAC5B,KAAK;UAAA;QAAA,EAMtC,EAECyB,UAAU;UAAA,OAEJ,SAAS;UAAA,YACH;YACRnF,OAAO,EAAE;cACP+F,KAAK,EAAE/D,KAAK,CAACiB;YACf,CAAC;YACD7C,KAAK,EAAE;cACL0F,IAAI,EAAE9D,KAAK,CAACkB;YACd;UACF;QAAC;UAAA,gBAECa,KAAK,CAACqB,OAAO;YAAA,SAEA;UAAiB,IACxBrB,KAAK,CAACqB,OAAO,EAAE,KAGnBpD,KAAK,CAACiB,aAAa;YAAA;UAAA,WACnBjB,KAAK,CAACkB,WAAW;YAAA;UAAA,WACjByC,SAAS;QAAA,EAGhB,EAEC,mBAAA5B,KAAK,CAACtB,OAAO,qBAAb,oBAAAsB,KAAK,EAAW;UAChBuB,UAAU,EAAEZ,KAAK,oBAALA,KAAK,CAAEY,UAAU,CAAC5B,KAAK;UACnCkC,aAAa,EAAElB,KAAK,oBAALA,KAAK,CAAEkB,aAAa,CAAClC,KAAK;UACzCsC,MAAM,EAAEtB,KAAK,oBAALA,KAAK,CAAEsB,MAAM;UACrBN,MAAM,EAAEhB,KAAK,oBAALA,KAAK,CAAEgB,MAAM;UACrBhC,KAAK,EAAEgB,KAAK,oBAALA,KAAK,CAAEhB,KAAK,CAACA,KAAK;UACzB8B,QAAQ,EAAExD,KAAK,CAACwD;QAClB,CAAC,CAAC,KAAIxD,KAAK,CAACoB,IAAI,EAEd0B,SAAS;UAAA,OAEH,QAAQ;UAAA,YACF;YACR9E,OAAO,EAAE;cACP+F,KAAK,EAAE/D,KAAK,CAACG;YACf,CAAC;YACD/B,KAAK,EAAE;cACL0F,IAAI,EAAE9D,KAAK,CAACI;YACd;UACF;QAAC;UAAA,gBAEC2B,KAAK,CAACgB,MAAM;YAAA,SAEC;UAAgB,IACvBhB,KAAK,CAACgB,MAAM,EAAE,KAGlB/C,KAAK,CAACG,YAAY;YAAA;UAAA,WAClBH,KAAK,CAACI,UAAU;YAAA;UAAA,WAChBuD,SAAS;QAAA,EAGhB,EAECX,QAAQ;UAAA,OAEF,OAAO;UAAA,YACD;YACR5E,KAAK,EAAE;cACL0F,IAAI,EAAE9D,KAAK,CAACO,SAAS;cACrB0D,IAAI,EAAE;YACR;UACF;QAAC;UAAA;YAAA,SAGO,eAAe;YAAA,WACXtB;UAAY,IAEpBZ,KAAK,CAACkB,KAAK,GAAGlB,KAAK,CAACkB,KAAK,EAAE,kCAAc;QAAA,EAGhD;MAAA,mCAnGWM,WAAW,IAAIvD,KAAK,CAACmB,MAAM,EAAE,IAAI,GAqGhD;IACH,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import * as vue_router from 'vue-router';
2
3
  import * as vue from 'vue';
3
4
  import { JSXComponent, PropType } from 'vue';
@@ -84,7 +85,6 @@ declare const VChip: vue.DefineComponent<{
84
85
  };
85
86
  }, () => false | JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
86
87
  'click:close': (e: Event) => true;
87
- 'update:active': (value: boolean) => true;
88
88
  'update:modelValue': (value: boolean) => true;
89
89
  'group:selected': (val: {
90
90
  value: boolean;
@@ -170,7 +170,6 @@ declare const VChip: vue.DefineComponent<{
170
170
  value: boolean;
171
171
  }) => any) | undefined;
172
172
  "onClick:close"?: ((e: Event) => any) | undefined;
173
- "onUpdate:active"?: ((value: boolean) => any) | undefined;
174
173
  }, {
175
174
  replace: boolean;
176
175
  link: boolean;
@@ -18,7 +18,8 @@ import { useLocale } from "../../composables/locale.mjs";
18
18
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
19
19
  import { useTextColor } from "../../composables/color.mjs"; // Utility
20
20
  import { computed, mergeProps, nextTick, ref, watch } from 'vue';
21
- import { genericComponent, useRender, wrapInArray } from "../../util/index.mjs"; // Types
21
+ import { genericComponent, omit, useRender, wrapInArray } from "../../util/index.mjs";
22
+ import { filterVTextFieldProps, makeVTextFieldProps } from "../VTextField/VTextField.mjs"; // Types
22
23
  function highlightResult(text, matches, length) {
23
24
  if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');
24
25
  return typeof matches === 'number' && ~matches ? _createVNode(_Fragment, null, [_createVNode("span", {
@@ -42,6 +43,9 @@ export const VCombobox = genericComponent()({
42
43
  hideNoData: true,
43
44
  returnObject: true
44
45
  }),
46
+ ...omit(makeVTextFieldProps({
47
+ modelValue: null
48
+ }), ['validationValue', 'dirty', 'appendInnerIcon']),
45
49
  ...makeTransitionProps({
46
50
  transition: false
47
51
  })
@@ -154,9 +158,11 @@ export const VCombobox = genericComponent()({
154
158
  }
155
159
  if (e.key === 'ArrowDown') {
156
160
  var _listRef$value;
161
+ e.preventDefault();
157
162
  (_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
158
163
  } else if (e.key === 'ArrowUp') {
159
164
  var _listRef$value2;
165
+ e.preventDefault();
160
166
  (_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
161
167
  }
162
168
  if (!props.multiple) return;
@@ -244,8 +250,10 @@ export const VCombobox = genericComponent()({
244
250
  });
245
251
  useRender(() => {
246
252
  const hasChips = !!(props.chips || slots.chip);
247
- return _createVNode(VTextField, {
248
- "ref": vTextFieldRef,
253
+ const [textFieldProps] = filterVTextFieldProps(props);
254
+ return _createVNode(VTextField, _mergeProps({
255
+ "ref": vTextFieldRef
256
+ }, textFieldProps, {
249
257
  "modelValue": search.value,
250
258
  "onUpdate:modelValue": [$event => search.value = $event, v => {
251
259
  if (v == null) model.value = [];
@@ -266,7 +274,7 @@ export const VCombobox = genericComponent()({
266
274
  "onFocus": () => isFocused.value = true,
267
275
  "onBlur": () => isFocused.value = false,
268
276
  "onKeydown": onKeydown
269
- }, {
277
+ }), {
270
278
  ...slots,
271
279
  default: () => {
272
280
  var _slots$noData, _slots$prependItem, _slots$appendItem;
@@ -1 +1 @@
1
- {"version":3,"file":"VCombobox.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeFilterProps","useFilter","makeTransitionProps","transformItem","useItems","forwardRefs","useLocale","useProxiedModel","useTextColor","computed","mergeProps","nextTick","ref","watch","genericComponent","useRender","wrapInArray","highlightResult","text","matches","length","Array","isArray","Error","substr","VCombobox","name","props","delimiters","filterKeys","hideNoData","returnObject","transition","emits","val","setup","emit","slots","t","vTextFieldRef","isFocused","isPristine","menu","selectionIndex","color","value","items","transformIn","transformOut","textColorClasses","textColorStyles","model","v","transformed","multiple","_search","title","search","get","set","values","split","RegExp","join","forEach","trim","select","filteredItems","undefined","selections","map","find","item","selected","selection","listRef","onClear","e","openOnClear","onClickControl","readonly","onKeydown","selectionStart","preventDefault","includes","key","focus","prev","setSelectionRange","next","onAfterLeave","index","findIndex","splice","onFocusin","onFocusout","relatedTarget","hasChips","chips","chip","externalValue","menuIcon","default","eager","menuProps","noDataText","onClick","prepend","isSelected","hideSelected","onChipClose","stopPropagation","slotProps","modelValue","closable","closableChips","size"],"sources":["../../../src/components/VCombobox/VCombobox.tsx"],"sourcesContent":["// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { transformItem, useItems } from '@/composables/items'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | (T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any))\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VCombobox = genericComponent<new <\n T,\n ReturnObject extends boolean = true,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & Omit<VTextField['$props'], 'modelValue' | 'onUpdate:modelValue' | '$children'> & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VCombobox',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n delimiters: Array as PropType<string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:search': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = useProxiedModel(props, 'menu')\n const selectionIndex = ref(-1)\n const color = computed(() => vTextFieldRef.value?.color)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v || [])),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const _search = ref(!props.multiple ? model.value[0]?.title ?? '' : '')\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: val => {\n _search.value = val\n if (!props.multiple) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n if (isFocused.value) menu.value = true\n\n isPristine.value = !val\n },\n })\n watch(_search, value => {\n emit('update:search', value)\n })\n watch(model, value => {\n if (!props.multiple) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (selectionIndex.value > -1) e.preventDefault()\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n select(selection.value)\n\n nextTick(() => !selection.value && (selectionIndex.value = length - 2))\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter') {\n select(transformItem(props, search.value))\n search.value = ''\n }\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => selection === item.value)\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n\n search.value = ''\n } else {\n model.value = [item]\n _search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, val => {\n if (val) {\n selectionIndex.value = -1\n } else {\n menu.value = false\n\n if (!props.multiple || !search.value) return\n\n model.value = [...model.value, transformItem(props, search.value)]\n search.value = ''\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.items.length ? props.menuIcon : undefined }\n readonly={ props.readonly }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-combobox__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { filteredItems.value.map(({ item, matches }, index) => slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn modelValue={ isSelected } ripple={ false } />\n ) : undefined,\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )) }\n\n { slots['append-item']?.() }\n </VList>\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips ? (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ item, index, props: slotProps })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item, index })\n : (\n <span class=\"v-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VCombobox.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeFilterProps","useFilter","makeTransitionProps","transformItem","useItems","forwardRefs","useLocale","useProxiedModel","useTextColor","computed","mergeProps","nextTick","ref","watch","genericComponent","omit","useRender","wrapInArray","filterVTextFieldProps","makeVTextFieldProps","highlightResult","text","matches","length","Array","isArray","Error","substr","VCombobox","name","props","delimiters","filterKeys","hideNoData","returnObject","modelValue","transition","emits","val","setup","emit","slots","t","vTextFieldRef","isFocused","isPristine","menu","selectionIndex","color","value","items","transformIn","transformOut","textColorClasses","textColorStyles","model","v","transformed","multiple","_search","title","search","get","set","values","split","RegExp","join","forEach","trim","select","filteredItems","undefined","selections","map","find","item","selected","selection","listRef","onClear","e","openOnClear","onClickControl","readonly","onKeydown","selectionStart","preventDefault","includes","key","focus","prev","setSelectionRange","next","onAfterLeave","index","findIndex","splice","onFocusin","onFocusout","relatedTarget","hasChips","chips","chip","textFieldProps","externalValue","menuIcon","default","eager","menuProps","noDataText","onClick","prepend","isSelected","hideSelected","onChipClose","stopPropagation","slotProps","closable","closableChips","size"],"sources":["../../../src/components/VCombobox/VCombobox.tsx"],"sourcesContent":["// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { transformItem, useItems } from '@/composables/items'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender, wrapInArray } from '@/util'\nimport { filterVTextFieldProps, makeVTextFieldProps } from '../VTextField/VTextField'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | (T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any))\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VCombobox = genericComponent<new <\n T,\n ReturnObject extends boolean = true,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VCombobox',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n delimiters: Array as PropType<string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:search': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = useProxiedModel(props, 'menu')\n const selectionIndex = ref(-1)\n const color = computed(() => vTextFieldRef.value?.color)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v || [])),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const _search = ref(!props.multiple ? model.value[0]?.title ?? '' : '')\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: val => {\n _search.value = val\n if (!props.multiple) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n if (isFocused.value) menu.value = true\n\n isPristine.value = !val\n },\n })\n watch(_search, value => {\n emit('update:search', value)\n })\n watch(model, value => {\n if (!props.multiple) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (selectionIndex.value > -1) e.preventDefault()\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n listRef.value?.focus('prev')\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n select(selection.value)\n\n nextTick(() => !selection.value && (selectionIndex.value = length - 2))\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter') {\n select(transformItem(props, search.value))\n search.value = ''\n }\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => selection === item.value)\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n\n search.value = ''\n } else {\n model.value = [item]\n _search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, val => {\n if (val) {\n selectionIndex.value = -1\n } else {\n menu.value = false\n\n if (!props.multiple || !search.value) return\n\n model.value = [...model.value, transformItem(props, search.value)]\n search.value = ''\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const [textFieldProps] = filterVTextFieldProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.items.length ? props.menuIcon : undefined }\n readonly={ props.readonly }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-combobox__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { filteredItems.value.map(({ item, matches }, index) => slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn modelValue={ isSelected } ripple={ false } />\n ) : undefined,\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )) }\n\n { slots['append-item']?.() }\n </VList>\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips ? (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ item, index, props: slotProps })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item, index })\n : (\n <span class=\"v-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n"],"mappings":"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"}