@vuetify/nightly 3.11.8-dev.2026-02-18 → 3.11.8-dev.2026-02-19

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 (40) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/dist/json/attributes.json +1722 -1722
  3. package/dist/json/importMap-labs.json +16 -16
  4. package/dist/json/importMap.json +186 -186
  5. package/dist/json/web-types.json +3151 -3151
  6. package/dist/vuetify-labs.cjs +13 -11
  7. package/dist/vuetify-labs.css +6068 -6068
  8. package/dist/vuetify-labs.d.ts +73 -69
  9. package/dist/vuetify-labs.esm.js +13 -11
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +13 -11
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +13 -11
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +5073 -5073
  16. package/dist/vuetify.d.ts +73 -69
  17. package/dist/vuetify.esm.js +13 -11
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +13 -11
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +10 -10
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +1 -1
  25. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  26. package/lib/components/VBtn/VBtn.js +1 -1
  27. package/lib/components/VBtn/VBtn.js.map +1 -1
  28. package/lib/components/VCard/VCard.js +1 -1
  29. package/lib/components/VCard/VCard.js.map +1 -1
  30. package/lib/components/VChip/VChip.js +1 -1
  31. package/lib/components/VChip/VChip.js.map +1 -1
  32. package/lib/components/VList/VListItem.js +1 -1
  33. package/lib/components/VList/VListItem.js.map +1 -1
  34. package/lib/composables/router.d.ts +6 -2
  35. package/lib/composables/router.js +5 -3
  36. package/lib/composables/router.js.map +1 -1
  37. package/lib/entry-bundler.js +1 -1
  38. package/lib/framework.d.ts +67 -67
  39. package/lib/framework.js +1 -1
  40. package/package.json +1 -1
@@ -50,7 +50,7 @@ export const VBreadcrumbsItem = genericComponent()({
50
50
  }, {
51
51
  default: () => [!link.isLink.value ? slots.default?.() ?? props.title : _createElementVNode("a", _mergeProps({
52
52
  "class": "v-breadcrumbs-item--link",
53
- "onClick": link.navigate
53
+ "onClick": link.navigate.value
54
54
  }, link.linkProps), [slots.default?.() ?? props.title])]
55
55
  });
56
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VBreadcrumbsItem.js","names":["useTextColor","makeComponentProps","makeDimensionProps","useDimension","makeRouterProps","useLink","makeTagProps","computed","genericComponent","pick","propsFactory","useRender","makeVBreadcrumbsItemProps","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","VBreadcrumbsItem","name","props","setup","_ref","slots","attrs","link","isActive","value","dimensionStyles","textColorClasses","textColorStyles","_createVNode","_normalizeClass","class","_normalizeStyle","style","undefined","default","isLink","_createElementVNode","_mergeProps","navigate","linkProps"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx"],"sourcesContent":["// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\nexport const makeVBreadcrumbsItemProps = propsFactory({\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...pick(makeDimensionProps(), ['width', 'maxWidth']),\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n}, 'VBreadcrumbsItem')\n\nexport const VBreadcrumbsItem = genericComponent()({\n name: 'VBreadcrumbsItem',\n\n props: makeVBreadcrumbsItemProps(),\n\n setup (props, { slots, attrs }) {\n const link = useLink(props, attrs)\n const isActive = computed(() => props.active || link.isActive?.value)\n const { dimensionStyles } = useDimension(props)\n\n const { textColorClasses, textColorStyles } = useTextColor(\n () => isActive.value ? props.activeColor : props.color\n )\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n props.class,\n ]}\n style={[\n textColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n >\n { !link.isLink.value ? slots.default?.() ?? props.title : (\n <a\n class=\"v-breadcrumbs-item--link\"\n onClick={ link.navigate }\n { ...link.linkProps }\n >\n { slots.default?.() ?? props.title }\n </a>\n )}\n </props.tag>\n )\n })\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n"],"mappings":";AAAA;AAAA,SACSA,YAAY;AAAA,SACZC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY,oCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS;AAExD,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,MAAM,EAAEC,OAAO;EACfC,WAAW,EAAEC,MAAM;EACnBC,WAAW,EAAED,MAAM;EACnBE,KAAK,EAAEF,MAAM;EACbG,QAAQ,EAAEL,OAAO;EACjBM,KAAK,EAAEJ,MAAM;EAEb,GAAGf,kBAAkB,CAAC,CAAC;EACvB,GAAGQ,IAAI,CAACP,kBAAkB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;EACpD,GAAGE,eAAe,CAAC,CAAC;EACpB,GAAGE,YAAY,CAAC;IAAEe,GAAG,EAAE;EAAK,CAAC;AAC/B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGd,gBAAgB,CAAC,CAAC,CAAC;EACjDe,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEZ,yBAAyB,CAAC,CAAC;EAElCa,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,IAAI,GAAGxB,OAAO,CAACmB,KAAK,EAAEI,KAAK,CAAC;IAClC,MAAME,QAAQ,GAAGvB,QAAQ,CAAC,MAAMiB,KAAK,CAACX,MAAM,IAAIgB,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;IACrE,MAAM;MAAEC;IAAgB,CAAC,GAAG7B,YAAY,CAACqB,KAAK,CAAC;IAE/C,MAAM;MAAES,gBAAgB;MAAEC;IAAgB,CAAC,GAAGlC,YAAY,CACxD,MAAM8B,QAAQ,CAACC,KAAK,GAAGP,KAAK,CAACP,WAAW,GAAGO,KAAK,CAACN,KACnD,CAAC;IAEDP,SAAS,CAAC,MAAM;MACd,OAAAwB,YAAA,CAAAX,KAAA,CAAAH,GAAA;QAAA,SAAAe,eAAA,CAEW,CACL,oBAAoB,EACpB;UACE,4BAA4B,EAAEN,QAAQ,CAACC,KAAK;UAC5C,8BAA8B,EAAEP,KAAK,CAACL,QAAQ;UAC9C,CAAC,GAAGK,KAAK,CAACT,WAAW,EAAE,GAAGe,QAAQ,CAACC,KAAK,IAAIP,KAAK,CAACT;QACpD,CAAC,EACDkB,gBAAgB,CAACF,KAAK,EACtBP,KAAK,CAACa,KAAK,CACZ;QAAA,SAAAC,eAAA,CACM,CACLJ,eAAe,CAACH,KAAK,EACrBC,eAAe,CAACD,KAAK,EACrBP,KAAK,CAACe,KAAK,CACZ;QAAA,gBACcT,QAAQ,CAACC,KAAK,GAAG,MAAM,GAAGS;MAAS;QAAAC,OAAA,EAAAA,CAAA,MAEhD,CAACZ,IAAI,CAACa,MAAM,CAACX,KAAK,GAAGJ,KAAK,CAACc,OAAO,GAAG,CAAC,IAAIjB,KAAK,CAACJ,KAAK,GAAAuB,mBAAA,MAAAC,WAAA;UAAA;UAAA,WAGzCf,IAAI,CAACgB;QAAQ,GAClBhB,IAAI,CAACiB,SAAS,IAEjBnB,KAAK,CAACc,OAAO,GAAG,CAAC,IAAIjB,KAAK,CAACJ,KAAK,EAErC;MAAA;IAGP,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VBreadcrumbsItem.js","names":["useTextColor","makeComponentProps","makeDimensionProps","useDimension","makeRouterProps","useLink","makeTagProps","computed","genericComponent","pick","propsFactory","useRender","makeVBreadcrumbsItemProps","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","VBreadcrumbsItem","name","props","setup","_ref","slots","attrs","link","isActive","value","dimensionStyles","textColorClasses","textColorStyles","_createVNode","_normalizeClass","class","_normalizeStyle","style","undefined","default","isLink","_createElementVNode","_mergeProps","navigate","linkProps"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx"],"sourcesContent":["// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\nexport const makeVBreadcrumbsItemProps = propsFactory({\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...pick(makeDimensionProps(), ['width', 'maxWidth']),\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n}, 'VBreadcrumbsItem')\n\nexport const VBreadcrumbsItem = genericComponent()({\n name: 'VBreadcrumbsItem',\n\n props: makeVBreadcrumbsItemProps(),\n\n setup (props, { slots, attrs }) {\n const link = useLink(props, attrs)\n const isActive = computed(() => props.active || link.isActive?.value)\n const { dimensionStyles } = useDimension(props)\n\n const { textColorClasses, textColorStyles } = useTextColor(\n () => isActive.value ? props.activeColor : props.color\n )\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n props.class,\n ]}\n style={[\n textColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n >\n { !link.isLink.value ? slots.default?.() ?? props.title : (\n <a\n class=\"v-breadcrumbs-item--link\"\n onClick={ link.navigate.value }\n { ...link.linkProps }\n >\n { slots.default?.() ?? props.title }\n </a>\n )}\n </props.tag>\n )\n })\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n"],"mappings":";AAAA;AAAA,SACSA,YAAY;AAAA,SACZC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY,oCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS;AAExD,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,MAAM,EAAEC,OAAO;EACfC,WAAW,EAAEC,MAAM;EACnBC,WAAW,EAAED,MAAM;EACnBE,KAAK,EAAEF,MAAM;EACbG,QAAQ,EAAEL,OAAO;EACjBM,KAAK,EAAEJ,MAAM;EAEb,GAAGf,kBAAkB,CAAC,CAAC;EACvB,GAAGQ,IAAI,CAACP,kBAAkB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;EACpD,GAAGE,eAAe,CAAC,CAAC;EACpB,GAAGE,YAAY,CAAC;IAAEe,GAAG,EAAE;EAAK,CAAC;AAC/B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGd,gBAAgB,CAAC,CAAC,CAAC;EACjDe,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEZ,yBAAyB,CAAC,CAAC;EAElCa,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,IAAI,GAAGxB,OAAO,CAACmB,KAAK,EAAEI,KAAK,CAAC;IAClC,MAAME,QAAQ,GAAGvB,QAAQ,CAAC,MAAMiB,KAAK,CAACX,MAAM,IAAIgB,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;IACrE,MAAM;MAAEC;IAAgB,CAAC,GAAG7B,YAAY,CAACqB,KAAK,CAAC;IAE/C,MAAM;MAAES,gBAAgB;MAAEC;IAAgB,CAAC,GAAGlC,YAAY,CACxD,MAAM8B,QAAQ,CAACC,KAAK,GAAGP,KAAK,CAACP,WAAW,GAAGO,KAAK,CAACN,KACnD,CAAC;IAEDP,SAAS,CAAC,MAAM;MACd,OAAAwB,YAAA,CAAAX,KAAA,CAAAH,GAAA;QAAA,SAAAe,eAAA,CAEW,CACL,oBAAoB,EACpB;UACE,4BAA4B,EAAEN,QAAQ,CAACC,KAAK;UAC5C,8BAA8B,EAAEP,KAAK,CAACL,QAAQ;UAC9C,CAAC,GAAGK,KAAK,CAACT,WAAW,EAAE,GAAGe,QAAQ,CAACC,KAAK,IAAIP,KAAK,CAACT;QACpD,CAAC,EACDkB,gBAAgB,CAACF,KAAK,EACtBP,KAAK,CAACa,KAAK,CACZ;QAAA,SAAAC,eAAA,CACM,CACLJ,eAAe,CAACH,KAAK,EACrBC,eAAe,CAACD,KAAK,EACrBP,KAAK,CAACe,KAAK,CACZ;QAAA,gBACcT,QAAQ,CAACC,KAAK,GAAG,MAAM,GAAGS;MAAS;QAAAC,OAAA,EAAAA,CAAA,MAEhD,CAACZ,IAAI,CAACa,MAAM,CAACX,KAAK,GAAGJ,KAAK,CAACc,OAAO,GAAG,CAAC,IAAIjB,KAAK,CAACJ,KAAK,GAAAuB,mBAAA,MAAAC,WAAA;UAAA;UAAA,WAGzCf,IAAI,CAACgB,QAAQ,CAACd;QAAK,GACxBF,IAAI,CAACiB,SAAS,IAEjBnB,KAAK,CAACc,OAAO,GAAG,CAAC,IAAIjB,KAAK,CAACJ,KAAK,EAErC;MAAA;IAGP,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -152,7 +152,7 @@ export const VBtn = genericComponent()({
152
152
  function onClick(e) {
153
153
  if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
154
154
  if (link.isRouterLink.value) {
155
- link.navigate?.(e);
155
+ link.navigate.value?.(e);
156
156
  } else {
157
157
  // Group active state for links is handled by useSelectLink
158
158
  group?.toggle();
@@ -1 +1 @@
1
- {"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","spaced","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isRouterLink","value","isSelected","color","variantProps","showColor","isLink","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","linkProps","selectedClass","loading","class","style","_createElementVNode","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String as PropType<'start' | 'end' | 'both'>,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isRouterLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n if (link.isRouterLink.value) {\n link.navigate?.(e)\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle()\n }\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n { ...link.linkProps }\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n props.spaced\n ? [\n 'v-btn--spaced',\n `v-btn--spaced-${props.spaced}`,\n ]\n : [],\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ (isDisabled.value && Tag !== 'a') || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n vRipple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","spaced","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isRouterLink","value","isSelected","color","variantProps","showColor","isLink","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","linkProps","selectedClass","loading","class","style","_createElementVNode","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String as PropType<'start' | 'end' | 'both'>,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isRouterLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n if (link.isRouterLink.value) {\n link.navigate.value?.(e)\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle()\n }\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n { ...link.linkProps }\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n props.spaced\n ? [\n 'v-btn--spaced',\n `v-btn--spaced-${props.spaced}`,\n ]\n : [],\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ (isDisabled.value && Tag !== 'a') || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n vRipple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
@@ -144,7 +144,7 @@ export const VCard = genericComponent()({
144
144
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, {
145
145
  '--v-card-height': convertToUnit(props.height)
146
146
  }, props.style],
147
- "onClick": isClickable && link.navigate,
147
+ "onClick": isClickable && link.navigate.value,
148
148
  "tabindex": props.disabled ? -1 : undefined
149
149
  }), {
150
150
  default: () => [hasImage && _createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"VCard.js","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","shallowRef","watch","convertToUnit","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","Number","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","loadingColor","loading","val","old","value","immediate","isLink","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","_mergeProps","linkProps","class","height","style","navigate","_createElementVNode","cover","src","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// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { shallowRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { vRipple },\n\n props: makeVCardProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n const loadingColor = shallowRef<string | undefined>(undefined)\n\n watch(() => props.loading, (val, old) => {\n loadingColor.value = !val && typeof old === 'string'\n ? old\n : typeof val === 'boolean'\n ? undefined\n : val\n }, { immediate: true })\n\n useRender(() => {\n const isLink = props.link !== false && link.isLink.value\n const isClickable = (\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n const Tag = isLink ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text != null)\n\n return (\n <Tag\n { ...link.linkProps }\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,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n {\n '--v-card-height': convertToUnit(props.height),\n },\n props.style,\n ]}\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ loadingColor.value }\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, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCard.js","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","shallowRef","watch","convertToUnit","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","Number","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","loadingColor","loading","val","old","value","immediate","isLink","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","_mergeProps","linkProps","class","height","style","navigate","_createElementVNode","cover","src","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// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { shallowRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { vRipple },\n\n props: makeVCardProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n const loadingColor = shallowRef<string | undefined>(undefined)\n\n watch(() => props.loading, (val, old) => {\n loadingColor.value = !val && typeof old === 'string'\n ? old\n : typeof val === 'boolean'\n ? undefined\n : val\n }, { immediate: true })\n\n useRender(() => {\n const isLink = props.link !== false && link.isLink.value\n const isClickable = (\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n const Tag = isLink ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text != null)\n\n return (\n <Tag\n { ...link.linkProps }\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,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n {\n '--v-card-height': convertToUnit(props.height),\n },\n props.style,\n ]}\n onClick={ isClickable && link.navigate.value }\n v-ripple={ isClickable && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ loadingColor.value }\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, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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","ignoreList":[]}
@@ -163,7 +163,7 @@ export const VChip = genericComponent()({
163
163
  function onClick(e) {
164
164
  emit('click', e);
165
165
  if (!isClickable.value) return;
166
- link.navigate?.(e);
166
+ link.navigate.value?.(e);
167
167
  group?.toggle();
168
168
  }
169
169
  function onKeyDown(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","VSlideGroupSymbol","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","watch","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","slideGroup","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","register","unregister","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","linkProps","selectedClass","class","style","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VSlideGroupSymbol } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, watch } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\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: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { 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\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const slideGroup = useGroupItem(props, VSlideGroupSymbol, false)\n\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n watch(isActive, val => {\n if (val) {\n group?.register()\n slideGroup?.register()\n } else {\n group?.unregister()\n slideGroup?.unregister()\n }\n })\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n { ...link.linkProps }\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\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 }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","VSlideGroupSymbol","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","watch","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","slideGroup","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","register","unregister","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","linkProps","selectedClass","class","style","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VSlideGroupSymbol } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, watch } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\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: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { 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\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const slideGroup = useGroupItem(props, VSlideGroupSymbol, false)\n\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n watch(isActive, val => {\n if (val) {\n group?.register()\n slideGroup?.register()\n } else {\n group?.unregister()\n slideGroup?.unregister()\n }\n })\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate.value?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n { ...link.linkProps }\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\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 }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
@@ -196,7 +196,7 @@ export const VListItem = genericComponent()({
196
196
  emit('click', e);
197
197
  if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;
198
198
  if (!isClickable.value) return;
199
- link.navigate?.(e);
199
+ link.navigate.value?.(e);
200
200
  if (isGroupActivator) return;
201
201
  if (root.activatable.value) {
202
202
  activate(!isActivated.value, e);
@@ -1 +1 @@
1
- {"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","nextTick","onBeforeMount","ref","toDisplayString","toRef","watch","convertToUnit","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","prependGap","Number","subtitle","title","value","index","tabindex","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","rootEl","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","scrollToActive","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","isTracked","navigationStrategy","trackingIndex","role","ariaSelected","roundedProps","rounded","color","variantProps","val","handleActiveLink","scrollIntoView","block","behavior","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","rippleOptions","filterable","keys","slotProps","isDisabled","includes","target","tagName","navigate","onKeyDown","key","preventDefault","stopPropagation","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","linkProps","class","style","_createElementVNode","_Fragment","density","image","icon","VListItemAction","start","VCheckboxBtn","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, toDisplayString, toRef, watch } from 'vue'\nimport { convertToUnit, deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n index?: number\n depth?: number\n path?: number[]\n isFirst?: boolean\n isLast?: boolean\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isDisabled: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n prependGap: [Number, String],\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n index: Number,\n tabindex: [Number, String],\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { vRipple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const rootEl = ref<HTMLElement>()\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n scrollToActive,\n id: uid,\n } = useNestedItem(id, () => props.disabled, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n const isTracked = computed(() =>\n list &&\n list.navigationStrategy.value === 'track' &&\n props.index !== undefined &&\n list.trackingIndex.value === props.index\n )\n const role = computed(() => list ? (isLink.value ? 'link' : isSelectable.value ? 'option' : 'listitem') : undefined)\n const ariaSelected = computed(() => {\n if (!isSelectable.value) return undefined\n return root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n })\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n watch(isActivated, val => {\n if (!val || !scrollToActive) return\n rootEl.value?.scrollIntoView({ block: 'nearest', behavior: 'instant' })\n })\n watch(isTracked, val => {\n if (!val) return\n rootEl.value?.scrollIntoView({ block: 'nearest', behavior: 'instant' })\n })\n onBeforeMount(() => {\n if (link.isActive?.value) {\n nextTick(() => handleActiveLink())\n }\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n const rippleOptions = toRef(() =>\n (\n props.ripple !== undefined &&\n !!props.ripple &&\n list?.filterable\n )\n ? { keys: ['Enter'] }\n : props.ripple\n )\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n isDisabled: props.disabled,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null && !isLink.value) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || (e.key === ' ' && !list?.filterable)) {\n e.preventDefault()\n e.stopPropagation()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n { ...link.linkProps }\n ref={ rootEl }\n id={ props.index !== undefined && list ? `v-list-item-${list.uid}-${props.index}` : undefined }\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n 'v-list-item--focus-visible': isTracked.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-list-prepend-gap': convertToUnit(props.prependGap),\n },\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ props.tabindex ?? (isClickable.value ? (list ? -2 : 0) : undefined) }\n aria-selected={ ariaSelected.value }\n role={ role.value }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && rippleOptions.value }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n VCheckboxBtn: {\n density: props.density,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n VCheckboxBtn: {\n density: props.density,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","nextTick","onBeforeMount","ref","toDisplayString","toRef","watch","convertToUnit","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","prependGap","Number","subtitle","title","value","index","tabindex","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","rootEl","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","scrollToActive","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","isTracked","navigationStrategy","trackingIndex","role","ariaSelected","roundedProps","rounded","color","variantProps","val","handleActiveLink","scrollIntoView","block","behavior","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","rippleOptions","filterable","keys","slotProps","isDisabled","includes","target","tagName","navigate","onKeyDown","key","preventDefault","stopPropagation","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","linkProps","class","style","_createElementVNode","_Fragment","density","image","icon","VListItemAction","start","VCheckboxBtn","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, toDisplayString, toRef, watch } from 'vue'\nimport { convertToUnit, deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n index?: number\n depth?: number\n path?: number[]\n isFirst?: boolean\n isLast?: boolean\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isDisabled: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n prependGap: [Number, String],\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n index: Number,\n tabindex: [Number, String],\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { vRipple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const rootEl = ref<HTMLElement>()\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n scrollToActive,\n id: uid,\n } = useNestedItem(id, () => props.disabled, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n const isTracked = computed(() =>\n list &&\n list.navigationStrategy.value === 'track' &&\n props.index !== undefined &&\n list.trackingIndex.value === props.index\n )\n const role = computed(() => list ? (isLink.value ? 'link' : isSelectable.value ? 'option' : 'listitem') : undefined)\n const ariaSelected = computed(() => {\n if (!isSelectable.value) return undefined\n return root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n })\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n watch(isActivated, val => {\n if (!val || !scrollToActive) return\n rootEl.value?.scrollIntoView({ block: 'nearest', behavior: 'instant' })\n })\n watch(isTracked, val => {\n if (!val) return\n rootEl.value?.scrollIntoView({ block: 'nearest', behavior: 'instant' })\n })\n onBeforeMount(() => {\n if (link.isActive?.value) {\n nextTick(() => handleActiveLink())\n }\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n const rippleOptions = toRef(() =>\n (\n props.ripple !== undefined &&\n !!props.ripple &&\n list?.filterable\n )\n ? { keys: ['Enter'] }\n : props.ripple\n )\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n isDisabled: props.disabled,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate.value?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null && !isLink.value) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || (e.key === ' ' && !list?.filterable)) {\n e.preventDefault()\n e.stopPropagation()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n { ...link.linkProps }\n ref={ rootEl }\n id={ props.index !== undefined && list ? `v-list-item-${list.uid}-${props.index}` : undefined }\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n 'v-list-item--focus-visible': isTracked.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-list-prepend-gap': convertToUnit(props.prependGap),\n },\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ props.tabindex ?? (isClickable.value ? (list ? -2 : 0) : undefined) }\n aria-selected={ ariaSelected.value }\n role={ role.value }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && rippleOptions.value }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n VCheckboxBtn: {\n density: props.density,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n VCheckboxBtn: {\n density: props.density,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  // Types
2
2
  import type { PropType, Ref, SetupContext } from 'vue';
3
3
  // @ts-ignore
4
- import type { useLink as _useLink, NavigationGuardNext, RouteLocationNormalizedLoaded, RouteLocationRaw, Router } from 'vue-router';
4
+ import type { useLink as _useLink, NavigationGuardNext, RouteLocation, RouteLocationNormalizedLoaded, RouteLocationRaw, Router } from 'vue-router';
5
5
  import type { EventProp } from '../util/index.js';
6
6
  export declare function useRoute(): Ref<RouteLocationNormalizedLoaded | undefined>;
7
7
  export declare function useRouter(): Router | undefined;
@@ -16,12 +16,16 @@ export interface LinkListeners {
16
16
  onClick?: EventProp | undefined;
17
17
  onClickOnce?: EventProp | undefined;
18
18
  }
19
- export interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {
19
+ export interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href' | 'route' | 'navigate'> {
20
20
  isLink: Readonly<Ref<boolean>>;
21
21
  isRouterLink: Readonly<Ref<boolean>>;
22
22
  isClickable: Readonly<Ref<boolean>>;
23
23
  href: Ref<string | undefined>;
24
24
  linkProps: Record<string, string | undefined>;
25
+ route: Readonly<Ref<(RouteLocation & {
26
+ href: string;
27
+ }) | undefined>>;
28
+ navigate: Readonly<Ref<ReturnType<typeof _useLink>['navigate'] | undefined>>;
25
29
  }
26
30
  export declare function useLink(props: LinkProps & LinkListeners, attrs: SetupContext['attrs']): UseLink;
27
31
  export declare const makeRouterProps: <Defaults extends {
@@ -23,7 +23,9 @@ export function useLink(props, attrs) {
23
23
  href,
24
24
  linkProps: reactive({
25
25
  href
26
- })
26
+ }),
27
+ route: toRef(() => undefined),
28
+ navigate: toRef(() => undefined)
27
29
  };
28
30
  }
29
31
 
@@ -48,8 +50,8 @@ export function useLink(props, attrs) {
48
50
  isRouterLink,
49
51
  isClickable,
50
52
  isActive,
51
- route: link.value?.route,
52
- navigate: link.value?.navigate,
53
+ route: toRef(() => link.value?.route.value),
54
+ navigate: toRef(() => link.value?.navigate),
53
55
  href,
54
56
  linkProps: reactive({
55
57
  href,