@vuetify/nightly 3.7.1-master.2024-09-02 → 3.7.1-master.2024-09-03
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.
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +164 -164
- package/dist/json/web-types.json +1 -1
- package/dist/vuetify-labs.css +2480 -2477
- package/dist/vuetify-labs.esm.js +34 -31
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +34 -31
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2919 -2916
- package/dist/vuetify.d.ts +53 -53
- package/dist/vuetify.esm.js +34 -31
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +34 -31
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +267 -267
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +3 -4
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +3 -4
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +2 -3
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +4 -1
- package/lib/components/VDialog/VDialog.mjs +1 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +2 -1
- package/lib/components/VList/VListItem.mjs +3 -4
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/composables/directiveComponent.mjs +1 -1
- package/lib/composables/directiveComponent.mjs.map +1 -1
- package/lib/composables/router.mjs +19 -9
- package/lib/composables/router.mjs.map +1 -1
- package/lib/directives/tooltip/index.mjs +1 -1
- package/lib/directives/tooltip/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +53 -53
- package/package.json +1 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode } from "vue";
|
1
|
+
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
2
2
|
// Composables
|
3
3
|
import { useTextColor } from "../../composables/color.mjs";
|
4
4
|
import { makeComponentProps } from "../../composables/component.mjs";
|
@@ -44,12 +44,10 @@ export const VBreadcrumbsItem = genericComponent()({
|
|
44
44
|
"style": [textColorStyles.value, props.style],
|
45
45
|
"aria-current": isActive.value ? 'page' : undefined
|
46
46
|
}, {
|
47
|
-
default: () => [!link.isLink.value ? slots.default?.() ?? props.title : _createVNode("a", {
|
47
|
+
default: () => [!link.isLink.value ? slots.default?.() ?? props.title : _createVNode("a", _mergeProps({
|
48
48
|
"class": "v-breadcrumbs-item--link",
|
49
|
-
"href": link.href.value,
|
50
|
-
"aria-current": isActive.value ? 'page' : undefined,
|
51
49
|
"onClick": link.navigate
|
52
|
-
}, [slots.default?.() ?? props.title])]
|
50
|
+
}, link.linkProps), [slots.default?.() ?? props.title])]
|
53
51
|
});
|
54
52
|
});
|
55
53
|
return {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VBreadcrumbsItem.mjs","names":["useTextColor","makeComponentProps","makeRouterProps","useLink","makeTagProps","computed","genericComponent","propsFactory","useRender","makeVBreadcrumbsItemProps","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","VBreadcrumbsItem","name","props","setup","_ref","slots","attrs","link","isActive","value","textColorClasses","textColorStyles","_createVNode","class","style","undefined","default","isLink","
|
1
|
+
{"version":3,"file":"VBreadcrumbsItem.mjs","names":["useTextColor","makeComponentProps","makeRouterProps","useLink","makeTagProps","computed","genericComponent","propsFactory","useRender","makeVBreadcrumbsItemProps","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","VBreadcrumbsItem","name","props","setup","_ref","slots","attrs","link","isActive","value","textColorClasses","textColorStyles","_createVNode","class","style","undefined","default","isLink","_mergeProps","navigate","linkProps"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx"],"sourcesContent":["// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, 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 ...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 color = computed(() => isActive.value ? props.activeColor : props.color)\n\n const { textColorClasses, textColorStyles } = useTextColor(color)\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 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,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY,qCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,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,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,eAAe,CAAC,CAAC;EACpB,GAAGE,YAAY,CAAC;IAAEc,GAAG,EAAE;EAAK,CAAC;AAC/B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGb,gBAAgB,CAAC,CAAC,CAAC;EACjDc,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,GAAGvB,OAAO,CAACkB,KAAK,EAAEI,KAAK,CAAC;IAClC,MAAME,QAAQ,GAAGtB,QAAQ,CAAC,MAAMgB,KAAK,CAACX,MAAM,IAAIgB,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;IACrE,MAAMb,KAAK,GAAGV,QAAQ,CAAC,MAAMsB,QAAQ,CAACC,KAAK,GAAGP,KAAK,CAACP,WAAW,GAAGO,KAAK,CAACN,KAAK,CAAC;IAE9E,MAAM;MAAEc,gBAAgB;MAAEC;IAAgB,CAAC,GAAG9B,YAAY,CAACe,KAAK,CAAC;IAEjEP,SAAS,CAAC,MAAM;MACd,OAAAuB,YAAA,CAAAV,KAAA,CAAAH,GAAA;QAAA,SAEW,CACL,oBAAoB,EACpB;UACE,4BAA4B,EAAES,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,EACDiB,gBAAgB,CAACD,KAAK,EACtBP,KAAK,CAACW,KAAK,CACZ;QAAA,SACM,CACLF,eAAe,CAACF,KAAK,EACrBP,KAAK,CAACY,KAAK,CACZ;QAAA,gBACcN,QAAQ,CAACC,KAAK,GAAG,MAAM,GAAGM;MAAS;QAAAC,OAAA,EAAAA,CAAA,MAEhD,CAACT,IAAI,CAACU,MAAM,CAACR,KAAK,GAAGJ,KAAK,CAACW,OAAO,GAAG,CAAC,IAAId,KAAK,CAACJ,KAAK,GAAAc,YAAA,MAAAM,WAAA;UAAA;UAAA,WAGzCX,IAAI,CAACY;QAAQ,GAClBZ,IAAI,CAACa,SAAS,IAEjBf,KAAK,CAACW,OAAO,GAAG,CAAC,IAAId,KAAK,CAACJ,KAAK,EAErC;MAAA;IAGP,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
1
|
+
import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VBtn.css";
|
4
4
|
|
@@ -156,7 +156,7 @@ export const VBtn = genericComponent()({
|
|
156
156
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
157
157
|
const hasAppend = !!(props.appendIcon || slots.append);
|
158
158
|
const hasIcon = !!(props.icon && props.icon !== true);
|
159
|
-
return withDirectives(_createVNode(Tag, {
|
159
|
+
return withDirectives(_createVNode(Tag, _mergeProps({
|
160
160
|
"type": Tag === 'a' ? undefined : 'button',
|
161
161
|
"class": ['v-btn', group?.selectedClass.value, {
|
162
162
|
'v-btn--active': isActive.value,
|
@@ -173,11 +173,10 @@ export const VBtn = genericComponent()({
|
|
173
173
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
174
174
|
"aria-busy": props.loading ? true : undefined,
|
175
175
|
"disabled": isDisabled.value || undefined,
|
176
|
-
"href": link.href.value,
|
177
176
|
"tabindex": props.loading || props.readonly ? -1 : undefined,
|
178
177
|
"onClick": onClick,
|
179
178
|
"value": valueAttr.value
|
180
|
-
}, {
|
179
|
+
}, link.linkProps), {
|
181
180
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && _createVNode("span", {
|
182
181
|
"key": "prepend",
|
183
182
|
"class": "v-btn__prepend"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VBtn.mjs","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","ripple","text","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","selectedClass","loading","class","style","href","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\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?.() ?? props.text }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n Ripple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VBtn.mjs","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","ripple","text","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? props.text }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n Ripple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
1
|
+
import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
2
2
|
/* eslint-disable complexity */
|
3
3
|
|
4
4
|
// Styles
|
@@ -119,7 +119,7 @@ export const VCard = genericComponent()({
|
|
119
119
|
const hasImage = !!(slots.image || props.image);
|
120
120
|
const hasCardItem = hasHeader || hasPrepend || hasAppend;
|
121
121
|
const hasText = !!(slots.text || props.text != null);
|
122
|
-
return _withDirectives(_createVNode(Tag, {
|
122
|
+
return _withDirectives(_createVNode(Tag, _mergeProps({
|
123
123
|
"class": ['v-card', {
|
124
124
|
'v-card--disabled': props.disabled,
|
125
125
|
'v-card--flat': props.flat,
|
@@ -127,10 +127,9 @@ export const VCard = genericComponent()({
|
|
127
127
|
'v-card--link': isClickable.value
|
128
128
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
129
129
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
130
|
-
"href": link.href.value,
|
131
130
|
"onClick": isClickable.value && link.navigate,
|
132
131
|
"tabindex": props.disabled ? -1 : undefined
|
133
|
-
}, {
|
132
|
+
}, link.linkProps), {
|
134
133
|
default: () => [hasImage && _createVNode("div", {
|
135
134
|
"key": "image",
|
136
135
|
"class": "v-card__image"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCard.mjs","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","Number","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","isLink","value","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","class","style","href","navigate","cover","src","loading","loader","item","actions","_resolveDirective"],"sources":["../../../src/components/VCard/VCard.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: [String, Number],\n text: [String, Number],\n title: [String, Number],\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text != null)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n href={ link.href.value }\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable.value, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VCard.mjs","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","Number","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","isLink","value","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","_mergeProps","class","style","navigate","linkProps","cover","src","loading","loader","item","actions","_resolveDirective"],"sources":["../../../src/components/VCard/VCard.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: [String, Number],\n text: [String, Number],\n title: [String, Number],\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text != null)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n { ...link.linkProps }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable.value, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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","ignoreList":[]}
|
@@ -159,7 +159,7 @@ export const VChip = genericComponent()({
|
|
159
159
|
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
160
160
|
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
161
161
|
const hasColor = !group || group.isSelected.value;
|
162
|
-
return isActive.value && _withDirectives(_createVNode(Tag, {
|
162
|
+
return isActive.value && _withDirectives(_createVNode(Tag, _mergeProps({
|
163
163
|
"class": ['v-chip', {
|
164
164
|
'v-chip--disabled': props.disabled,
|
165
165
|
'v-chip--label': props.label,
|
@@ -170,11 +170,10 @@ export const VChip = genericComponent()({
|
|
170
170
|
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
171
171
|
"disabled": props.disabled || undefined,
|
172
172
|
"draggable": props.draggable,
|
173
|
-
"href": link.href.value,
|
174
173
|
"tabindex": isClickable.value ? 0 : undefined,
|
175
174
|
"onClick": onClick,
|
176
175
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
177
|
-
}, {
|
176
|
+
}, link.linkProps), {
|
178
177
|
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && _createVNode(VExpandXTransition, {
|
179
178
|
"key": "filter"
|
180
179
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VChip.mjs","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","hasColor","isSelected","_withDirectives","_createVNode","selectedClass","class","style","href","icon","_vShow","_Fragment","image","start","select","end","_mergeProps","size","_resolveDirective"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-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 }) ?? 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 { ...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.mjs","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","hasColor","isSelected","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","icon","_vShow","_Fragment","image","start","select","end","size","_resolveDirective"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\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 }) ?? 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 { ...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":[]}
|
@@ -62,13 +62,16 @@
|
|
62
62
|
margin: 0;
|
63
63
|
padding: 0;
|
64
64
|
width: 100%;
|
65
|
-
height: 100%;
|
66
65
|
max-width: 100%;
|
67
66
|
max-height: 100%;
|
68
67
|
overflow-y: auto;
|
69
68
|
top: 0;
|
70
69
|
left: 0;
|
71
70
|
}
|
71
|
+
.v-dialog--fullscreen > .v-overlay__content,
|
72
|
+
.v-dialog--fullscreen > .v-overlay__content > form {
|
73
|
+
height: 100%;
|
74
|
+
}
|
72
75
|
.v-dialog--fullscreen > .v-overlay__content > .v-card,
|
73
76
|
.v-dialog--fullscreen > .v-overlay__content > .v-sheet,
|
74
77
|
.v-dialog--fullscreen > .v-overlay__content > form > .v-card,
|
@@ -96,8 +96,7 @@ export const VDialog = genericComponent()({
|
|
96
96
|
useRender(() => {
|
97
97
|
const overlayProps = VOverlay.filterProps(props);
|
98
98
|
const activatorProps = mergeProps({
|
99
|
-
'aria-haspopup': 'dialog'
|
100
|
-
'aria-expanded': String(isActive.value)
|
99
|
+
'aria-haspopup': 'dialog'
|
101
100
|
}, props.activatorProps);
|
102
101
|
const contentProps = mergeProps({
|
103
102
|
tabindex: -1
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDialog.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","mergeProps","nextTick","ref","watch","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","makeVDialogProps","fullscreen","Boolean","retainFocus","type","default","scrollable","origin","scrollStrategy","transition","component","zIndex","VDialog","name","props","emits","value","afterEnter","afterLeave","setup","_ref","emit","slots","isActive","scopeId","overlay","onFocusin","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","length","firstElement","lastElement","focus","val","addEventListener","removeEventListener","immediate","onAfterEnter","activeElement","preventScroll","onAfterLeave","activatorEl","overlayProps","filterProps","activatorProps","
|
1
|
+
{"version":3,"file":"VDialog.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","mergeProps","nextTick","ref","watch","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","makeVDialogProps","fullscreen","Boolean","retainFocus","type","default","scrollable","origin","scrollStrategy","transition","component","zIndex","VDialog","name","props","emits","value","afterEnter","afterLeave","setup","_ref","emit","slots","isActive","scopeId","overlay","onFocusin","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","length","firstElement","lastElement","focus","val","addEventListener","removeEventListener","immediate","onAfterEnter","activeElement","preventScroll","onAfterLeave","activatorEl","overlayProps","filterProps","activatorProps","contentProps","tabindex","_createVNode","_mergeProps","class","style","$event","activator","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VDialog/VDialog.tsx"],"sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { mergeProps, nextTick, ref, watch } from 'vue'\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n\n ...makeVOverlayProps({\n origin: 'center center' as const,\n scrollStrategy: 'block' as const,\n transition: { component: VDialogTransition as Component },\n zIndex: 2400,\n }),\n}, 'VDialog')\n\nexport const VDialog = genericComponent<OverlaySlots>()({\n name: 'VDialog',\n\n props: makeVDialogProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {\n overlay.value.contentEl.focus({ preventScroll: true })\n }\n }\n\n function onAfterLeave () {\n emit('afterLeave')\n }\n\n watch(isActive, async val => {\n if (!val) {\n await nextTick()\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const activatorProps = mergeProps({\n 'aria-haspopup': 'dialog',\n }, props.activatorProps)\n const contentProps = mergeProps({\n tabindex: -1,\n }, props.contentProps)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n aria-modal=\"true\"\n activatorProps={ activatorProps }\n contentProps={ contentProps }\n role=\"dialog\"\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VDialog\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,iBAAiB;AAAA,SACjBC,QAAQ;AAAA,SACRC,iBAAiB,oCAE1B;AAAA,SACSC,WAAW;AAAA,SACXC,eAAe;AAAA,SACfC,UAAU,yCAEnB;AACA,SAASC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC7CC,iBAAiB,EAAEC,gBAAgB,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS,gCAEjF;AAIA,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,UAAU,EAAEC,OAAO;EACnBC,WAAW,EAAE;IACXC,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAEJ,OAAO;EAEnB,GAAGf,iBAAiB,CAAC;IACnBoB,MAAM,EAAE,eAAwB;IAChCC,cAAc,EAAE,OAAgB;IAChCC,UAAU,EAAE;MAAEC,SAAS,EAAE1B;IAA+B,CAAC;IACzD2B,MAAM,EAAE;EACV,CAAC;AACH,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMC,OAAO,GAAGhB,gBAAgB,CAAe,CAAC,CAAC;EACtDiB,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEd,gBAAgB,CAAC,CAAC;EAEzBe,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7CC,UAAU,EAAEA,CAAA,KAAM,IAAI;IACtBC,UAAU,EAAEA,CAAA,KAAM;EACpB,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,QAAQ,GAAGlC,eAAe,CAACyB,KAAK,EAAE,YAAY,CAAC;IACrD,MAAM;MAAEU;IAAQ,CAAC,GAAGlC,UAAU,CAAC,CAAC;IAEhC,MAAMmC,OAAO,GAAGhC,GAAG,CAAW,CAAC;IAC/B,SAASiC,SAASA,CAAEC,CAAa,EAAE;MACjC,MAAMC,MAAM,GAAGD,CAAC,CAACE,aAAmC;MACpD,MAAMC,KAAK,GAAGH,CAAC,CAACI,MAA4B;MAE5C,IACEH,MAAM,KAAKE,KAAK,IAChBL,OAAO,CAACT,KAAK,EAAEgB,SAAS;MACxB;MACAP,OAAO,CAACT,KAAK,EAAEiB,SAAS;MACxB;MACA,CAAC,CAACC,QAAQ,EAAET,OAAO,CAACT,KAAK,CAACgB,SAAS,CAAC,CAACG,QAAQ,CAACL,KAAM,CAAC;MACrD;MACA,CAACL,OAAO,CAACT,KAAK,CAACgB,SAAS,CAACI,QAAQ,CAACN,KAAK,CAAC,EACxC;QACA,MAAMO,SAAS,GAAG1C,iBAAiB,CAAC8B,OAAO,CAACT,KAAK,CAACgB,SAAS,CAAC;QAE5D,IAAI,CAACK,SAAS,CAACC,MAAM,EAAE;QAEvB,MAAMC,YAAY,GAAGF,SAAS,CAAC,CAAC,CAAC;QACjC,MAAMG,WAAW,GAAGH,SAAS,CAACA,SAAS,CAACC,MAAM,GAAG,CAAC,CAAC;QAEnD,IAAIV,MAAM,KAAKW,YAAY,EAAE;UAC3BC,WAAW,CAACC,KAAK,CAAC,CAAC;QACrB,CAAC,MAAM;UACLF,YAAY,CAACE,KAAK,CAAC,CAAC;QACtB;MACF;IACF;IAEA,IAAI5C,UAAU,EAAE;MACdH,KAAK,CAAC,MAAM6B,QAAQ,CAACP,KAAK,IAAIF,KAAK,CAACX,WAAW,EAAEuC,GAAG,IAAI;QACtDA,GAAG,GACCR,QAAQ,CAACS,gBAAgB,CAAC,SAAS,EAAEjB,SAAS,CAAC,GAC/CQ,QAAQ,CAACU,mBAAmB,CAAC,SAAS,EAAElB,SAAS,CAAC;MACxD,CAAC,EAAE;QAAEmB,SAAS,EAAE;MAAK,CAAC,CAAC;IACzB;IAEA,SAASC,YAAYA,CAAA,EAAI;MACvBzB,IAAI,CAAC,YAAY,CAAC;MAClB,IAAII,OAAO,CAACT,KAAK,EAAEgB,SAAS,IAAI,CAACP,OAAO,CAACT,KAAK,CAACgB,SAAS,CAACI,QAAQ,CAACF,QAAQ,CAACa,aAAa,CAAC,EAAE;QACzFtB,OAAO,CAACT,KAAK,CAACgB,SAAS,CAACS,KAAK,CAAC;UAAEO,aAAa,EAAE;QAAK,CAAC,CAAC;MACxD;IACF;IAEA,SAASC,YAAYA,CAAA,EAAI;MACvB5B,IAAI,CAAC,YAAY,CAAC;IACpB;IAEA3B,KAAK,CAAC6B,QAAQ,EAAE,MAAMmB,GAAG,IAAI;MAC3B,IAAI,CAACA,GAAG,EAAE;QACR,MAAMlD,QAAQ,CAAC,CAAC;QAChBiC,OAAO,CAACT,KAAK,CAAEkC,WAAW,EAAET,KAAK,CAAC;UAAEO,aAAa,EAAE;QAAK,CAAC,CAAC;MAC5D;IACF,CAAC,CAAC;IAEFjD,SAAS,CAAC,MAAM;MACd,MAAMoD,YAAY,GAAGjE,QAAQ,CAACkE,WAAW,CAACtC,KAAK,CAAC;MAChD,MAAMuC,cAAc,GAAG9D,UAAU,CAAC;QAChC,eAAe,EAAE;MACnB,CAAC,EAAEuB,KAAK,CAACuC,cAAc,CAAC;MACxB,MAAMC,YAAY,GAAG/D,UAAU,CAAC;QAC9BgE,QAAQ,EAAE,CAAC;MACb,CAAC,EAAEzC,KAAK,CAACwC,YAAY,CAAC;MAEtB,OAAAE,YAAA,CAAAtE,QAAA,EAAAuE,WAAA;QAAA,OAEUhC,OAAO;QAAA,SACN,CACL,UAAU,EACV;UACE,sBAAsB,EAAEX,KAAK,CAACb,UAAU;UACxC,sBAAsB,EAAEa,KAAK,CAACR;QAChC,CAAC,EACDQ,KAAK,CAAC4C,KAAK,CACZ;QAAA,SACO5C,KAAK,CAAC6C;MAAK,GACdR,YAAY;QAAA,cACP5B,QAAQ,CAACP,KAAK;QAAA,uBAAA4C,MAAA,IAAdrC,QAAQ,CAACP,KAAK,GAAA4C,MAAA;QAAA;QAAA,kBAEPP,cAAc;QAAA,gBAChBC,YAAY;QAAA;QAAA,gBAEZR,YAAY;QAAA,gBACZG;MAAY,GACtBzB,OAAO;QAGVqC,SAAS,EAAEvC,KAAK,CAACuC,SAAS;QAC1BxD,OAAO,EAAE,SAAAA,CAAA;UAAA,SAAAyD,IAAA,GAAAC,SAAA,CAAAzB,MAAA,EAAI0B,IAAI,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;UAAA;UAAA,OAAAV,YAAA,CAAAvE,iBAAA;YAAA;UAAA;YAAAoB,OAAA,EAAAA,CAAA,MAEXiB,KAAK,CAACjB,OAAO,GAAG,GAAG2D,IAAI,CAAC;UAAA;QAAA;MAE7B;IAIT,CAAC,CAAC;IAEF,OAAO5E,WAAW,CAAC,CAAC,CAAC,EAAEqC,OAAO,CAAC;EACjC;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
1
|
+
import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VListItem.css";
|
4
4
|
|
@@ -179,7 +179,7 @@ export const VListItem = genericComponent()({
|
|
179
179
|
if (props.activeColor) {
|
180
180
|
deprecate('active-color', ['color', 'base-color']);
|
181
181
|
}
|
182
|
-
return _withDirectives(_createVNode(Tag, {
|
182
|
+
return _withDirectives(_createVNode(Tag, _mergeProps({
|
183
183
|
"class": ['v-list-item', {
|
184
184
|
'v-list-item--active': isActive.value,
|
185
185
|
'v-list-item--disabled': props.disabled,
|
@@ -190,11 +190,10 @@ export const VListItem = genericComponent()({
|
|
190
190
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
191
191
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
192
192
|
"style": [colorStyles.value, dimensionStyles.value, props.style],
|
193
|
-
"href": link.href.value,
|
194
193
|
"tabindex": isClickable.value ? list ? -2 : 0 : undefined,
|
195
194
|
"onClick": onClick,
|
196
195
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
197
|
-
}, {
|
196
|
+
}, link.linkProps), {
|
198
197
|
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && _createVNode("div", {
|
199
198
|
"key": "prepend",
|
200
199
|
"class": "v-list-item__prepend"
|