gitea push
This commit is contained in:
+1
-4
@@ -68,9 +68,6 @@
|
||||
.v-alert--prominent {
|
||||
grid-template-areas: "prepend content append close" "prepend content . .";
|
||||
}
|
||||
.v-alert.v-alert--border {
|
||||
--v-border-opacity: 0.38;
|
||||
}
|
||||
.v-alert.v-alert--border.v-alert--border-start {
|
||||
padding-inline-start: 24px;
|
||||
}
|
||||
@@ -117,7 +114,7 @@
|
||||
border-radius: inherit;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
opacity: var(--v-border-opacity);
|
||||
opacity: 0.38;
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
right: 0;
|
||||
|
||||
+1
-3
@@ -21,8 +21,6 @@
|
||||
grid-template-areas: "prepend content append close" "prepend content . ."
|
||||
|
||||
&.v-alert--border
|
||||
--v-border-opacity: #{$alert-border-opacity}
|
||||
|
||||
&.v-alert--border-start
|
||||
padding-inline-start: $alert-padding + $alert-border-thin-width
|
||||
|
||||
@@ -51,7 +49,7 @@
|
||||
border-radius: inherit
|
||||
bottom: 0
|
||||
left: 0
|
||||
opacity: var(--v-border-opacity)
|
||||
opacity: $alert-border-opacity
|
||||
position: absolute
|
||||
pointer-events: none
|
||||
right: 0
|
||||
|
||||
+3
-2
@@ -382,7 +382,6 @@ export const VAutocomplete = genericComponent()({
|
||||
"modelValue": menu.value,
|
||||
"onUpdate:modelValue": $event => menu.value = $event,
|
||||
"activator": "parent",
|
||||
"contentClass": "v-autocomplete__content",
|
||||
"disabled": menuDisabled.value,
|
||||
"eager": props.eager,
|
||||
"maxHeight": 310,
|
||||
@@ -390,7 +389,9 @@ export const VAutocomplete = genericComponent()({
|
||||
"closeOnContentClick": false,
|
||||
"onAfterEnter": onAfterEnter,
|
||||
"onAfterLeave": onAfterLeave
|
||||
}, props.menuProps), {
|
||||
}, props.menuProps, {
|
||||
"contentClass": ['v-autocomplete__content', props.menuProps?.contentClass]
|
||||
}), {
|
||||
default: () => [_createVNode(VSheet, {
|
||||
"elevation": props.menuElevation,
|
||||
"onFocusin": onFocusin,
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+3
@@ -16,6 +16,9 @@
|
||||
.v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-plain {
|
||||
opacity: 1;
|
||||
}
|
||||
.v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-elevated > .v-btn__overlay, .v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-flat > .v-btn__overlay {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@layer vuetify-final.trumps {
|
||||
@media (forced-colors: active) {
|
||||
|
||||
+5
@@ -9,6 +9,11 @@
|
||||
&.v-btn--variant-plain
|
||||
opacity: 1
|
||||
|
||||
&.v-btn--variant-elevated,
|
||||
&.v-btn--variant-flat
|
||||
> .v-btn__overlay
|
||||
opacity: 0
|
||||
|
||||
@include tools.layer('trumps')
|
||||
@media (forced-colors: active)
|
||||
.v-btn-toggle
|
||||
|
||||
+3
-2
@@ -443,7 +443,6 @@ export const VCombobox = genericComponent()({
|
||||
"modelValue": menu.value,
|
||||
"onUpdate:modelValue": $event => menu.value = $event,
|
||||
"activator": "parent",
|
||||
"contentClass": "v-combobox__content",
|
||||
"disabled": menuDisabled.value,
|
||||
"eager": props.eager,
|
||||
"maxHeight": 310,
|
||||
@@ -451,7 +450,9 @@ export const VCombobox = genericComponent()({
|
||||
"closeOnContentClick": false,
|
||||
"onAfterEnter": onAfterEnter,
|
||||
"onAfterLeave": onAfterLeave
|
||||
}, props.menuProps), {
|
||||
}, props.menuProps, {
|
||||
"contentClass": ['v-combobox__content', props.menuProps?.contentClass]
|
||||
}), {
|
||||
default: () => [_createVNode(VSheet, {
|
||||
"elevation": props.menuElevation,
|
||||
"onFocusin": onFocusin,
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
-1
@@ -8,7 +8,6 @@
|
||||
letter-spacing: 0.009375em;
|
||||
max-width: 100%;
|
||||
border-radius: 4px;
|
||||
contain: layout;
|
||||
flex: 1 0;
|
||||
grid-area: control;
|
||||
position: relative;
|
||||
|
||||
-1
@@ -15,7 +15,6 @@
|
||||
letter-spacing: $field-letter-spacing
|
||||
max-width: $field-max-width
|
||||
border-radius: $field-border-radius
|
||||
contain: layout
|
||||
flex: 1 0
|
||||
grid-area: control
|
||||
position: relative
|
||||
|
||||
+3
-3
@@ -485,7 +485,7 @@ export declare const VList: {
|
||||
}, {
|
||||
open: (id: unknown, value: boolean, event?: Event) => void;
|
||||
select: (id: unknown, value: boolean, event?: Event) => void;
|
||||
focus: (location?: 'next' | 'prev' | 'first' | 'last' | number) => void;
|
||||
focus: (location?: 'next' | 'prev' | 'first' | 'last' | number | null, options?: FocusOptions) => void;
|
||||
children: import("vue").Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>;
|
||||
parents: import("vue").Ref<Map<unknown, unknown>, Map<unknown, unknown>>;
|
||||
getPath: (id: unknown) => unknown[];
|
||||
@@ -640,7 +640,7 @@ export declare const VList: {
|
||||
}, {
|
||||
open: (id: unknown, value: boolean, event?: Event) => void;
|
||||
select: (id: unknown, value: boolean, event?: Event) => void;
|
||||
focus: (location?: 'next' | 'prev' | 'first' | 'last' | number) => void;
|
||||
focus: (location?: 'next' | 'prev' | 'first' | 'last' | number | null, options?: FocusOptions) => void;
|
||||
children: import("vue").Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>;
|
||||
parents: import("vue").Ref<Map<unknown, unknown>, Map<unknown, unknown>>;
|
||||
getPath: (id: unknown) => unknown[];
|
||||
@@ -726,7 +726,7 @@ export declare const VList: {
|
||||
}, {
|
||||
open: (id: unknown, value: boolean, event?: Event) => void;
|
||||
select: (id: unknown, value: boolean, event?: Event) => void;
|
||||
focus: (location?: 'next' | 'prev' | 'first' | 'last' | number) => void;
|
||||
focus: (location?: 'next' | 'prev' | 'first' | 'last' | number | null, options?: FocusOptions) => void;
|
||||
children: import("vue").Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>;
|
||||
parents: import("vue").Ref<Map<unknown, unknown>, Map<unknown, unknown>>;
|
||||
getPath: (id: unknown) => unknown[];
|
||||
|
||||
+4
-3
@@ -153,7 +153,8 @@ export const VList = genericComponent()({
|
||||
} = useNested(props, {
|
||||
items,
|
||||
returnObject: toRef(() => props.returnObject),
|
||||
scrollToActive: toRef(() => props.navigationStrategy === 'track')
|
||||
scrollToActive: toRef(() => props.navigationStrategy === 'track'),
|
||||
valueComparator: toRef(() => props.valueComparator)
|
||||
});
|
||||
const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
||||
const activeColor = toRef(() => props.activeColor);
|
||||
@@ -278,9 +279,9 @@ export const VList = genericComponent()({
|
||||
function onMousedown(e) {
|
||||
isFocused.value = true;
|
||||
}
|
||||
function focus(location) {
|
||||
function focus(location, options) {
|
||||
if (contentRef.value) {
|
||||
return focusChild(contentRef.value, location);
|
||||
return focusChild(contentRef.value, location, options);
|
||||
}
|
||||
}
|
||||
useRender(() => {
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
@@ -1,7 +1,7 @@
|
||||
import type { MaybeRefOrGetter } from 'vue';
|
||||
export interface ChunksProps {
|
||||
chunkCount: number | string;
|
||||
chunkWidth: number | string;
|
||||
chunkCount: number | string | null;
|
||||
chunkWidth: number | string | null;
|
||||
chunkGap: number | string;
|
||||
}
|
||||
export declare const makeChunksProps: <Defaults extends {
|
||||
|
||||
+4
-2
@@ -50,8 +50,10 @@ export function useChunks(props, containerWidth) {
|
||||
}
|
||||
const gapRelativeSize = 100 * chunkGap.value / containerSize;
|
||||
const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize;
|
||||
const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize);
|
||||
return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100);
|
||||
|
||||
// low-effort workaround to floating-point rounding in the division
|
||||
const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize + 1e-9);
|
||||
return clamp(filledChunks * chunkRelativeSize - gapRelativeSize / 2, 0, 100);
|
||||
}
|
||||
return {
|
||||
hasChunks,
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"chunks.js","names":["computed","toRef","toValue","clamp","convertToUnit","propsFactory","makeChunksProps","chunkCount","type","Number","String","default","chunkWidth","chunkGap","useChunks","props","containerWidth","hasChunks","containerSize","count","availableWidth","chunksMaskStyles","value","chunkGapPx","chunkWidthPx","maskRepeat","maskImage","maskSize","snapValueToChunk","val","gapRelativeSize","chunkRelativeSize","filledChunks","Math","floor"],"sources":["../../../src/components/VProgressLinear/chunks.ts"],"sourcesContent":["// Utilities\nimport { computed, toRef, toValue } from 'vue'\nimport { clamp, convertToUnit, propsFactory } from '@/util'\n\n// Types\nimport type { MaybeRefOrGetter } from 'vue'\n\nexport interface ChunksProps {\n chunkCount: number | string\n chunkWidth: number | string\n chunkGap: number | string\n}\n\n// Composables\nexport const makeChunksProps = propsFactory({\n chunkCount: {\n type: [Number, String],\n default: null,\n },\n chunkWidth: {\n type: [Number, String],\n default: null,\n },\n chunkGap: {\n type: [Number, String],\n default: 4,\n },\n}, 'chunks')\n\nexport function useChunks (\n props: ChunksProps,\n containerWidth: MaybeRefOrGetter<number | undefined>,\n) {\n const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth)\n\n const chunkWidth = computed(() => {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return 0\n }\n\n if (!props.chunkCount) {\n return Number(props.chunkWidth)\n }\n\n const count = Number(props.chunkCount)\n const availableWidth = containerSize - Number(props.chunkGap) * (count - 1)\n return availableWidth / count\n })\n\n const chunkGap = toRef(() => Number(props.chunkGap))\n const chunksMaskStyles = computed(() => {\n if (!hasChunks.value) {\n return {}\n }\n\n const chunkGapPx = convertToUnit(chunkGap.value)\n const chunkWidthPx = convertToUnit(chunkWidth.value)\n\n return {\n maskRepeat: 'repeat-x',\n maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,\n maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`,\n }\n })\n\n function snapValueToChunk (val: number) {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return val\n }\n\n const gapRelativeSize = 100 * chunkGap.value / containerSize\n const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize\n const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize)\n return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100)\n }\n\n return {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk,\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,OAAO,QAAQ,KAAK;AAAA,SACrCC,KAAK,EAAEC,aAAa,EAAEC,YAAY,+BAE3C;AASA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDE,QAAQ,EAAE;IACRL,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX;AACF,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASG,SAASA,CACvBC,KAAkB,EAClBC,cAAoD,EACpD;EACA,MAAMC,SAAS,GAAGhB,KAAK,CAAC,MAAM,CAAC,CAACc,KAAK,CAACR,UAAU,IAAI,CAAC,CAACQ,KAAK,CAACH,UAAU,CAAC;EAEvE,MAAMA,UAAU,GAAGZ,QAAQ,CAAC,MAAM;IAChC,MAAMkB,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAO,CAAC;IACV;IAEA,IAAI,CAACH,KAAK,CAACR,UAAU,EAAE;MACrB,OAAOE,MAAM,CAACM,KAAK,CAACH,UAAU,CAAC;IACjC;IAEA,MAAMO,KAAK,GAAGV,MAAM,CAACM,KAAK,CAACR,UAAU,CAAC;IACtC,MAAMa,cAAc,GAAGF,aAAa,GAAGT,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,IAAIM,KAAK,GAAG,CAAC,CAAC;IAC3E,OAAOC,cAAc,GAAGD,KAAK;EAC/B,CAAC,CAAC;EAEF,MAAMN,QAAQ,GAAGZ,KAAK,CAAC,MAAMQ,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpD,MAAMQ,gBAAgB,GAAGrB,QAAQ,CAAC,MAAM;IACtC,IAAI,CAACiB,SAAS,CAACK,KAAK,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IAEA,MAAMC,UAAU,GAAGnB,aAAa,CAACS,QAAQ,CAACS,KAAK,CAAC;IAChD,MAAME,YAAY,GAAGpB,aAAa,CAACQ,UAAU,CAACU,KAAK,CAAC;IAEpD,OAAO;MACLG,UAAU,EAAE,UAAU;MACtBC,SAAS,EAAE,qCAAqCF,YAAY,iBAAiBA,YAAY,gBAAgB;MACzGG,QAAQ,EAAE,QAAQH,YAAY,MAAMD,UAAU;IAChD,CAAC;EACH,CAAC,CAAC;EAEF,SAASK,gBAAgBA,CAAEC,GAAW,EAAE;IACtC,MAAMX,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAOW,GAAG;IACZ;IAEA,MAAMC,eAAe,GAAG,GAAG,GAAGjB,QAAQ,CAACS,KAAK,GAAGJ,aAAa;IAC5D,MAAMa,iBAAiB,GAAG,GAAG,IAAInB,UAAU,CAACU,KAAK,GAAGT,QAAQ,CAACS,KAAK,CAAC,GAAGJ,aAAa;IACnF,MAAMc,YAAY,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACL,GAAG,GAAGC,eAAe,IAAIC,iBAAiB,CAAC;IAC5E,OAAO5B,KAAK,CAAC,CAAC,EAAE6B,YAAY,GAAGD,iBAAiB,GAAGD,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC;EAC9E;EAEA,OAAO;IACLb,SAAS;IACTI,gBAAgB;IAChBO;EACF,CAAC;AACH","ignoreList":[]}
|
||||
{"version":3,"file":"chunks.js","names":["computed","toRef","toValue","clamp","convertToUnit","propsFactory","makeChunksProps","chunkCount","type","Number","String","default","chunkWidth","chunkGap","useChunks","props","containerWidth","hasChunks","containerSize","count","availableWidth","chunksMaskStyles","value","chunkGapPx","chunkWidthPx","maskRepeat","maskImage","maskSize","snapValueToChunk","val","gapRelativeSize","chunkRelativeSize","filledChunks","Math","floor"],"sources":["../../../src/components/VProgressLinear/chunks.ts"],"sourcesContent":["// Utilities\nimport { computed, toRef, toValue } from 'vue'\nimport { clamp, convertToUnit, propsFactory } from '@/util'\n\n// Types\nimport type { MaybeRefOrGetter } from 'vue'\n\nexport interface ChunksProps {\n chunkCount: number | string | null\n chunkWidth: number | string | null\n chunkGap: number | string\n}\n\n// Composables\nexport const makeChunksProps = propsFactory({\n chunkCount: {\n type: [Number, String],\n default: null,\n },\n chunkWidth: {\n type: [Number, String],\n default: null,\n },\n chunkGap: {\n type: [Number, String],\n default: 4,\n },\n}, 'chunks')\n\nexport function useChunks (\n props: ChunksProps,\n containerWidth: MaybeRefOrGetter<number | undefined>,\n) {\n const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth)\n\n const chunkWidth = computed(() => {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return 0\n }\n\n if (!props.chunkCount) {\n return Number(props.chunkWidth)\n }\n\n const count = Number(props.chunkCount)\n const availableWidth = containerSize - Number(props.chunkGap) * (count - 1)\n return availableWidth / count\n })\n\n const chunkGap = toRef(() => Number(props.chunkGap))\n const chunksMaskStyles = computed(() => {\n if (!hasChunks.value) {\n return {}\n }\n\n const chunkGapPx = convertToUnit(chunkGap.value)\n const chunkWidthPx = convertToUnit(chunkWidth.value)\n\n return {\n maskRepeat: 'repeat-x',\n maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,\n maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`,\n }\n })\n\n function snapValueToChunk (val: number) {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return val\n }\n\n const gapRelativeSize = 100 * chunkGap.value / containerSize\n const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize\n\n // low-effort workaround to floating-point rounding in the division\n const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize + 1e-9)\n\n return clamp(filledChunks * chunkRelativeSize - gapRelativeSize / 2, 0, 100)\n }\n\n return {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk,\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,OAAO,QAAQ,KAAK;AAAA,SACrCC,KAAK,EAAEC,aAAa,EAAEC,YAAY,+BAE3C;AASA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDE,QAAQ,EAAE;IACRL,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX;AACF,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASG,SAASA,CACvBC,KAAkB,EAClBC,cAAoD,EACpD;EACA,MAAMC,SAAS,GAAGhB,KAAK,CAAC,MAAM,CAAC,CAACc,KAAK,CAACR,UAAU,IAAI,CAAC,CAACQ,KAAK,CAACH,UAAU,CAAC;EAEvE,MAAMA,UAAU,GAAGZ,QAAQ,CAAC,MAAM;IAChC,MAAMkB,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAO,CAAC;IACV;IAEA,IAAI,CAACH,KAAK,CAACR,UAAU,EAAE;MACrB,OAAOE,MAAM,CAACM,KAAK,CAACH,UAAU,CAAC;IACjC;IAEA,MAAMO,KAAK,GAAGV,MAAM,CAACM,KAAK,CAACR,UAAU,CAAC;IACtC,MAAMa,cAAc,GAAGF,aAAa,GAAGT,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,IAAIM,KAAK,GAAG,CAAC,CAAC;IAC3E,OAAOC,cAAc,GAAGD,KAAK;EAC/B,CAAC,CAAC;EAEF,MAAMN,QAAQ,GAAGZ,KAAK,CAAC,MAAMQ,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpD,MAAMQ,gBAAgB,GAAGrB,QAAQ,CAAC,MAAM;IACtC,IAAI,CAACiB,SAAS,CAACK,KAAK,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IAEA,MAAMC,UAAU,GAAGnB,aAAa,CAACS,QAAQ,CAACS,KAAK,CAAC;IAChD,MAAME,YAAY,GAAGpB,aAAa,CAACQ,UAAU,CAACU,KAAK,CAAC;IAEpD,OAAO;MACLG,UAAU,EAAE,UAAU;MACtBC,SAAS,EAAE,qCAAqCF,YAAY,iBAAiBA,YAAY,gBAAgB;MACzGG,QAAQ,EAAE,QAAQH,YAAY,MAAMD,UAAU;IAChD,CAAC;EACH,CAAC,CAAC;EAEF,SAASK,gBAAgBA,CAAEC,GAAW,EAAE;IACtC,MAAMX,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAOW,GAAG;IACZ;IAEA,MAAMC,eAAe,GAAG,GAAG,GAAGjB,QAAQ,CAACS,KAAK,GAAGJ,aAAa;IAC5D,MAAMa,iBAAiB,GAAG,GAAG,IAAInB,UAAU,CAACU,KAAK,GAAGT,QAAQ,CAACS,KAAK,CAAC,GAAGJ,aAAa;;IAEnF;IACA,MAAMc,YAAY,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACL,GAAG,GAAGC,eAAe,IAAIC,iBAAiB,GAAG,IAAI,CAAC;IAEnF,OAAO5B,KAAK,CAAC6B,YAAY,GAAGD,iBAAiB,GAAGD,eAAe,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;EAC9E;EAEA,OAAO;IACLb,SAAS;IACTI,gBAAgB;IAChBO;EACF,CAAC;AACH","ignoreList":[]}
|
||||
+6
-3
@@ -315,7 +315,9 @@ export const VSelect = genericComponent()({
|
||||
}
|
||||
if (listRef.value && isFocused.value) {
|
||||
const index = getSelectedFocusableIndex();
|
||||
listRef.value.focus(index >= 0 ? index : 'first');
|
||||
listRef.value.focus(index >= 0 ? index : 'first', {
|
||||
focusVisible: false
|
||||
});
|
||||
}
|
||||
}
|
||||
function onAfterLeave() {
|
||||
@@ -411,7 +413,6 @@ export const VSelect = genericComponent()({
|
||||
"modelValue": menu.value,
|
||||
"onUpdate:modelValue": $event => menu.value = $event,
|
||||
"activator": "parent",
|
||||
"contentClass": "v-select__content",
|
||||
"disabled": menuDisabled.value,
|
||||
"eager": props.eager,
|
||||
"maxHeight": 310,
|
||||
@@ -420,7 +421,9 @@ export const VSelect = genericComponent()({
|
||||
"transition": props.transition,
|
||||
"onAfterEnter": onAfterEnter,
|
||||
"onAfterLeave": onAfterLeave
|
||||
}, computedMenuProps.value), {
|
||||
}, computedMenuProps.value, {
|
||||
"contentClass": ['v-select__content', computedMenuProps.value.contentClass]
|
||||
}), {
|
||||
default: () => [_createVNode(VSheet, {
|
||||
"elevation": props.menuElevation,
|
||||
"onFocusin": onFocusin,
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+3
-2
@@ -3,7 +3,7 @@ import type { ActiveStrategy } from './activeStrategies.js';
|
||||
import type { OpenStrategy } from './openStrategies.js';
|
||||
import type { SelectStrategy } from './selectStrategies.js';
|
||||
import type { ListItem } from '../list-items.js';
|
||||
import type { EventProp } from '../../util/index.js';
|
||||
import type { EventProp, ValueComparator } from '../../util/index.js';
|
||||
export type ActiveStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | ActiveStrategy | ((mandatory: boolean) => ActiveStrategy);
|
||||
export type SelectStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | 'trunk' | 'branch' | SelectStrategy | ((mandatory: boolean) => SelectStrategy);
|
||||
export type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy;
|
||||
@@ -109,10 +109,11 @@ export declare const makeNestedProps: <Defaults extends {
|
||||
default: unknown extends Defaults["itemsRegistration"] ? ItemsRegistrationType : Defaults["itemsRegistration"] | NonNullable<ItemsRegistrationType>;
|
||||
};
|
||||
};
|
||||
export declare const useNested: (props: NestedProps, { items, returnObject, scrollToActive, }: {
|
||||
export declare const useNested: (props: NestedProps, { items, returnObject, scrollToActive, valueComparator, }: {
|
||||
items: Ref<ListItem[]>;
|
||||
returnObject: MaybeRefOrGetter<boolean>;
|
||||
scrollToActive: MaybeRefOrGetter<boolean>;
|
||||
valueComparator?: MaybeRefOrGetter<ValueComparator | undefined>;
|
||||
}) => {
|
||||
children: Ref<Map<unknown, unknown[]>>;
|
||||
parents: Ref<Map<unknown, unknown>>;
|
||||
|
||||
+24
-3
@@ -48,7 +48,8 @@ export const makeNestedProps = propsFactory({
|
||||
export const useNested = (props, {
|
||||
items,
|
||||
returnObject,
|
||||
scrollToActive
|
||||
scrollToActive,
|
||||
valueComparator
|
||||
}) => {
|
||||
let isUnmounted = false;
|
||||
const children = shallowRef(new Map());
|
||||
@@ -103,8 +104,28 @@ export const useNested = (props, {
|
||||
return multipleOpenStrategy;
|
||||
}
|
||||
});
|
||||
const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));
|
||||
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value, disabled.value), v => selectStrategy.value.out(v, children.value, parents.value));
|
||||
const flatItems = computed(() => {
|
||||
const flat = [];
|
||||
const stack = [...items.value];
|
||||
while (stack.length) {
|
||||
const item = stack.pop();
|
||||
flat.push(item);
|
||||
if (item.children) stack.push(...item.children);
|
||||
}
|
||||
return flat;
|
||||
});
|
||||
function resolveValue(value) {
|
||||
const comparator = toValue(valueComparator);
|
||||
if (!comparator) return value;
|
||||
const _returnObject = toValue(returnObject);
|
||||
for (const item of flatItems.value) {
|
||||
const itemVal = _returnObject ? toRaw(item.raw) : item.value;
|
||||
if (comparator(value, itemVal)) return itemVal;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(Array.isArray(v) ? v.map(resolveValue) : v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));
|
||||
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(Array.isArray(v) ? v.map(resolveValue) : v, children.value, parents.value, disabled.value), v => selectStrategy.value.out(v, children.value, parents.value));
|
||||
onBeforeUnmount(() => {
|
||||
isUnmounted = true;
|
||||
});
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -15,7 +15,7 @@ export const createVuetify = (options = {}) => {
|
||||
...options
|
||||
});
|
||||
};
|
||||
export const version = "4.0.6";
|
||||
export const version = "4.0.7";
|
||||
createVuetify.version = version;
|
||||
export { blueprints, components, directives };
|
||||
export * from "./composables/index.js";
|
||||
|
||||
+74
-74
@@ -2899,48 +2899,42 @@ declare module 'vue' {
|
||||
$children?: VNodeChild
|
||||
}
|
||||
export interface GlobalComponents {
|
||||
VAlert: typeof import('vuetify/components')['VAlert']
|
||||
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
||||
VAvatar: typeof import('vuetify/components')['VAvatar']
|
||||
VAppBar: typeof import('vuetify/components')['VAppBar']
|
||||
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
||||
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
||||
VAlert: typeof import('vuetify/components')['VAlert']
|
||||
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
||||
VApp: typeof import('vuetify/components')['VApp']
|
||||
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
||||
VBadge: typeof import('vuetify/components')['VBadge']
|
||||
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
||||
VBanner: typeof import('vuetify/components')['VBanner']
|
||||
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
||||
VBannerText: typeof import('vuetify/components')['VBannerText']
|
||||
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
||||
VBadge: typeof import('vuetify/components')['VBadge']
|
||||
VApp: typeof import('vuetify/components')['VApp']
|
||||
VBtn: typeof import('vuetify/components')['VBtn']
|
||||
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
||||
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
||||
VCalendar: typeof import('vuetify/components')['VCalendar']
|
||||
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
||||
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
||||
VCarousel: typeof import('vuetify/components')['VCarousel']
|
||||
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
||||
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
||||
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
||||
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
||||
VCard: typeof import('vuetify/components')['VCard']
|
||||
VCardActions: typeof import('vuetify/components')['VCardActions']
|
||||
VCardItem: typeof import('vuetify/components')['VCardItem']
|
||||
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
||||
VCardText: typeof import('vuetify/components')['VCardText']
|
||||
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
||||
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
||||
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
||||
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
||||
VCarousel: typeof import('vuetify/components')['VCarousel']
|
||||
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
||||
VBtn: typeof import('vuetify/components')['VBtn']
|
||||
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
||||
VAvatar: typeof import('vuetify/components')['VAvatar']
|
||||
VChip: typeof import('vuetify/components')['VChip']
|
||||
VCalendar: typeof import('vuetify/components')['VCalendar']
|
||||
VCode: typeof import('vuetify/components')['VCode']
|
||||
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
||||
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
||||
VCombobox: typeof import('vuetify/components')['VCombobox']
|
||||
VCounter: typeof import('vuetify/components')['VCounter']
|
||||
VChip: typeof import('vuetify/components')['VChip']
|
||||
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
||||
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
||||
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
||||
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
||||
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
||||
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
||||
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
||||
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
||||
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
||||
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
||||
VDataTable: typeof import('vuetify/components')['VDataTable']
|
||||
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
||||
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
||||
@@ -2950,33 +2944,36 @@ declare module 'vue' {
|
||||
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
||||
VDialog: typeof import('vuetify/components')['VDialog']
|
||||
VDivider: typeof import('vuetify/components')['VDivider']
|
||||
VFab: typeof import('vuetify/components')['VFab']
|
||||
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
||||
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
||||
VField: typeof import('vuetify/components')['VField']
|
||||
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
||||
VFooter: typeof import('vuetify/components')['VFooter']
|
||||
VCounter: typeof import('vuetify/components')['VCounter']
|
||||
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
||||
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
||||
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
||||
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
||||
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
||||
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
||||
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
||||
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
||||
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
||||
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
||||
VFab: typeof import('vuetify/components')['VFab']
|
||||
VField: typeof import('vuetify/components')['VField']
|
||||
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
||||
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
||||
VFileInput: typeof import('vuetify/components')['VFileInput']
|
||||
VHotkey: typeof import('vuetify/components')['VHotkey']
|
||||
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
||||
VInput: typeof import('vuetify/components')['VInput']
|
||||
VFooter: typeof import('vuetify/components')['VFooter']
|
||||
VImg: typeof import('vuetify/components')['VImg']
|
||||
VIcon: typeof import('vuetify/components')['VIcon']
|
||||
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
||||
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
||||
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
||||
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
||||
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
||||
VInput: typeof import('vuetify/components')['VInput']
|
||||
VKbd: typeof import('vuetify/components')['VKbd']
|
||||
VImg: typeof import('vuetify/components')['VImg']
|
||||
VLabel: typeof import('vuetify/components')['VLabel']
|
||||
VMain: typeof import('vuetify/components')['VMain']
|
||||
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
||||
VItem: typeof import('vuetify/components')['VItem']
|
||||
VMenu: typeof import('vuetify/components')['VMenu']
|
||||
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
||||
VMain: typeof import('vuetify/components')['VMain']
|
||||
VList: typeof import('vuetify/components')['VList']
|
||||
VListGroup: typeof import('vuetify/components')['VListGroup']
|
||||
VListImg: typeof import('vuetify/components')['VListImg']
|
||||
@@ -2986,27 +2983,24 @@ declare module 'vue' {
|
||||
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
||||
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
||||
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
||||
VMessages: typeof import('vuetify/components')['VMessages']
|
||||
VMenu: typeof import('vuetify/components')['VMenu']
|
||||
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
||||
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
||||
VOverlay: typeof import('vuetify/components')['VOverlay']
|
||||
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
||||
VMessages: typeof import('vuetify/components')['VMessages']
|
||||
VPagination: typeof import('vuetify/components')['VPagination']
|
||||
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
||||
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
||||
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
||||
VRating: typeof import('vuetify/components')['VRating']
|
||||
VSheet: typeof import('vuetify/components')['VSheet']
|
||||
VSelect: typeof import('vuetify/components')['VSelect']
|
||||
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
||||
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
||||
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
||||
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
||||
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
||||
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
||||
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
||||
VTab: typeof import('vuetify/components')['VTab']
|
||||
VTabs: typeof import('vuetify/components')['VTabs']
|
||||
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
||||
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
||||
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
||||
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
||||
VSheet: typeof import('vuetify/components')['VSheet']
|
||||
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
||||
VSlider: typeof import('vuetify/components')['VSlider']
|
||||
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
||||
VStepper: typeof import('vuetify/components')['VStepper']
|
||||
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
||||
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
||||
@@ -3014,47 +3008,52 @@ declare module 'vue' {
|
||||
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
||||
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
||||
VSwitch: typeof import('vuetify/components')['VSwitch']
|
||||
VSlider: typeof import('vuetify/components')['VSlider']
|
||||
VTable: typeof import('vuetify/components')['VTable']
|
||||
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
||||
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
||||
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
||||
VTextField: typeof import('vuetify/components')['VTextField']
|
||||
VTable: typeof import('vuetify/components')['VTable']
|
||||
VTextarea: typeof import('vuetify/components')['VTextarea']
|
||||
VToolbar: typeof import('vuetify/components')['VToolbar']
|
||||
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
||||
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
||||
VLabel: typeof import('vuetify/components')['VLabel']
|
||||
VTimeline: typeof import('vuetify/components')['VTimeline']
|
||||
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
||||
VTextField: typeof import('vuetify/components')['VTextField']
|
||||
VTab: typeof import('vuetify/components')['VTab']
|
||||
VTabs: typeof import('vuetify/components')['VTabs']
|
||||
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
||||
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
||||
VTooltip: typeof import('vuetify/components')['VTooltip']
|
||||
VTreeview: typeof import('vuetify/components')['VTreeview']
|
||||
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
||||
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
||||
VTimeline: typeof import('vuetify/components')['VTimeline']
|
||||
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
||||
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
||||
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
||||
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
||||
VTooltip: typeof import('vuetify/components')['VTooltip']
|
||||
VWindow: typeof import('vuetify/components')['VWindow']
|
||||
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
||||
VToolbar: typeof import('vuetify/components')['VToolbar']
|
||||
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
||||
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
||||
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
||||
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
||||
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
||||
VForm: typeof import('vuetify/components')['VForm']
|
||||
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
||||
VContainer: typeof import('vuetify/components')['VContainer']
|
||||
VCol: typeof import('vuetify/components')['VCol']
|
||||
VRow: typeof import('vuetify/components')['VRow']
|
||||
VSpacer: typeof import('vuetify/components')['VSpacer']
|
||||
VHover: typeof import('vuetify/components')['VHover']
|
||||
VForm: typeof import('vuetify/components')['VForm']
|
||||
VLazy: typeof import('vuetify/components')['VLazy']
|
||||
VLayout: typeof import('vuetify/components')['VLayout']
|
||||
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
||||
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
||||
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
||||
VParallax: typeof import('vuetify/components')['VParallax']
|
||||
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
||||
VRadio: typeof import('vuetify/components')['VRadio']
|
||||
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
||||
VRadio: typeof import('vuetify/components')['VRadio']
|
||||
VResponsive: typeof import('vuetify/components')['VResponsive']
|
||||
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
||||
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
||||
VSparkline: typeof import('vuetify/components')['VSparkline']
|
||||
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
||||
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
||||
VValidation: typeof import('vuetify/components')['VValidation']
|
||||
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
||||
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
||||
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
||||
@@ -3073,27 +3072,28 @@ declare module 'vue' {
|
||||
VExpandBothTransition: typeof import('vuetify/components')['VExpandBothTransition']
|
||||
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
||||
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
||||
VValidation: typeof import('vuetify/components')['VValidation']
|
||||
VWindow: typeof import('vuetify/components')['VWindow']
|
||||
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
||||
VAvatarGroup: typeof import('vuetify/labs/components')['VAvatarGroup']
|
||||
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
||||
VCommandPalette: typeof import('vuetify/labs/components')['VCommandPalette']
|
||||
VCommandPaletteItem: typeof import('vuetify/labs/components')['VCommandPaletteItem']
|
||||
VPie: typeof import('vuetify/labs/components')['VPie']
|
||||
VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
|
||||
VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
|
||||
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
||||
VFileUploadDropzone: typeof import('vuetify/labs/components')['VFileUploadDropzone']
|
||||
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
||||
VFileUploadList: typeof import('vuetify/labs/components')['VFileUploadList']
|
||||
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
||||
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
||||
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
||||
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
||||
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
||||
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
||||
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
||||
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
||||
VPie: typeof import('vuetify/labs/components')['VPie']
|
||||
VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
|
||||
VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
|
||||
VVideo: typeof import('vuetify/labs/components')['VVideo']
|
||||
VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
|
||||
VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
|
||||
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
||||
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
||||
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
||||
VProgress: typeof import('vuetify/labs/components')['VProgress']
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ export function createVuetify(vuetify = {}) {
|
||||
};
|
||||
});
|
||||
}
|
||||
export const version = "4.0.6";
|
||||
export const version = "4.0.7";
|
||||
createVuetify.version = version;
|
||||
|
||||
// Vue's inject() can only be used in setup
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@ export declare function hasEvent(props: Record<string, any>, name: string): bool
|
||||
export declare function callEvent<T extends any[]>(handler: EventProp<T> | EventProp<T>[] | undefined, ...args: T): void;
|
||||
export declare function focusableChildren(el: Element, filterByTabIndex?: boolean): HTMLElement[];
|
||||
export declare function getNextElement(elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean): HTMLElement;
|
||||
export declare function focusChild(el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number): void;
|
||||
export declare function focusChild(el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number | null, options?: FocusOptions): void;
|
||||
export declare function isEmpty(val: any): boolean;
|
||||
export declare function noop(): void;
|
||||
/** Returns null if the selector is not supported or we can't check */
|
||||
|
||||
+6
-6
@@ -411,21 +411,21 @@ export function getNextElement(elements, location, condition) {
|
||||
} while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0);
|
||||
return _el;
|
||||
}
|
||||
export function focusChild(el, location) {
|
||||
export function focusChild(el, location, options) {
|
||||
const focusable = focusableChildren(el);
|
||||
if (location == null) {
|
||||
if (el === document.activeElement || !el.contains(document.activeElement)) {
|
||||
focusable[0]?.focus();
|
||||
focusable[0]?.focus(options);
|
||||
}
|
||||
} else if (location === 'first') {
|
||||
focusable[0]?.focus();
|
||||
focusable[0]?.focus(options);
|
||||
} else if (location === 'last') {
|
||||
focusable.at(-1)?.focus();
|
||||
focusable.at(-1)?.focus(options);
|
||||
} else if (typeof location === 'number') {
|
||||
focusable[location]?.focus();
|
||||
focusable[location]?.focus(options);
|
||||
} else {
|
||||
const _el = getNextElement(focusable, location);
|
||||
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
||||
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last', options);
|
||||
}
|
||||
}
|
||||
export function isEmpty(val) {
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user