vuetify 3.0.1 → 3.0.3
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/attributes.json +24 -24
- package/dist/json/importMap.json +34 -30
- package/dist/json/web-types.json +93 -62
- package/dist/vuetify.css +204 -205
- package/dist/vuetify.d.ts +334 -142
- package/dist/vuetify.esm.js +57 -47
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +56 -46
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +333 -330
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +275 -62
- package/lib/components/VAutocomplete/index.d.ts +6 -6
- package/lib/components/VCard/VCard.css +0 -3
- package/lib/components/VCard/VCard.mjs +2 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +0 -3
- package/lib/components/VCard/VCardItem.mjs +1 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +6 -6
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +6 -6
- package/lib/components/VFileInput/index.d.ts +1 -1
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs +2 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +2 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +3 -1
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +4 -0
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +4 -0
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +1 -1
- package/lib/components/VProgressLinear/_variables.scss +1 -1
- package/lib/components/VRating/VRating.mjs +7 -6
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +14 -14
- package/lib/components/VSelect/index.d.ts +6 -6
- package/lib/components/VSelectionControl/index.d.ts +6 -6
- package/lib/components/VSlideGroup/VSlideGroup.css +1 -0
- package/lib/components/VSlideGroup/VSlideGroup.sass +1 -0
- package/lib/components/VTextField/index.d.ts +18 -18
- package/lib/components/VTextarea/index.d.ts +1 -1
- package/lib/components/VToolbar/VToolbar.css +1 -0
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +1 -0
- package/lib/components/VToolbar/index.d.ts +9 -8
- package/lib/components/index.d.ts +324 -133
- package/lib/components/transitions/dialog-transition.mjs +2 -2
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.mjs +1 -1
- package/lib/components/transitions/index.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +6 -2
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +10 -9
- package/lib/util/defineComponent.mjs +8 -13
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -131,8 +131,8 @@ function getDimensions(target, el) {
|
|
|
131
131
|
const tsx = targetBox.width / elBox.width;
|
|
132
132
|
const tsy = targetBox.height / elBox.height;
|
|
133
133
|
const maxs = Math.max(1, tsx, tsy);
|
|
134
|
-
const sx = tsx / maxs;
|
|
135
|
-
const sy = tsy / maxs;
|
|
134
|
+
const sx = tsx / maxs || 0;
|
|
135
|
+
const sy = tsy / maxs || 0;
|
|
136
136
|
|
|
137
137
|
// Animate elements larger than 12% of the screen area up to 1.5x slower
|
|
138
138
|
const asa = elBox.width * elBox.height / (window.innerWidth * window.innerHeight);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-transition.mjs","names":["Transition","acceleratedEasing","animate","deceleratedEasing","defineComponent","nullifyTransforms","standardEasing","VDialogTransition","name","props","target","Object","setup","slots","functions","onBeforeEnter","el","style","pointerEvents","visibility","onEnter","done","Promise","resolve","requestAnimationFrame","x","y","sx","sy","speed","getDimensions","animation","transform","opacity","duration","easing","getChildren","forEach","offset","finished","then","onAfterEnter","removeProperty","onBeforeLeave","onLeave","onAfterLeave","els","querySelector","children","targetBox","getBoundingClientRect","elBox","originX","originY","getComputedStyle","transformOrigin","split","map","v","parseFloat","anchorSide","anchorOffset","getPropertyValue","offsetX","left","width","offsetY","top","height","tsx","tsy","maxs","Math","max","asa","window","innerWidth","innerHeight","min"],"sources":["../../../src/components/transitions/dialog-transition.tsx"],"sourcesContent":["import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport {\n acceleratedEasing,\n animate,\n deceleratedEasing,\n defineComponent,\n nullifyTransforms,\n standardEasing,\n} from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n ;(el as HTMLElement).style.visibility = 'hidden'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n ;(el as HTMLElement).style.visibility = ''\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225 * speed,\n easing: deceleratedEasing,\n })\n getChildren(el)?.forEach(el => {\n animate(el, [\n { opacity: 0 },\n { opacity: 0, offset: 0.33 },\n { opacity: 1 },\n ], {\n duration: 225 * 2 * speed,\n easing: standardEasing,\n })\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n ], {\n duration: 125 * speed,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n getChildren(el)?.forEach(el => {\n animate(el, [\n {},\n { opacity: 0, offset: 0.2 },\n { opacity: 0 },\n ], {\n duration: 125 * 2 * speed,\n easing: standardEasing,\n })\n })\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren (el: Element) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children\n return els && [...els]\n}\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n const tsx = targetBox.width / elBox.width\n const tsy = targetBox.height / elBox.height\n const maxs = Math.max(1, tsx, tsy)\n const sx = tsx / maxs\n const sy = tsy / maxs\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = (elBox.width * elBox.height) / (window.innerWidth * window.innerHeight)\n const speed = asa > 0.12\n ? Math.min(1.5, (asa - 0.12) * 10 + 1)\n : 1\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed,\n }\n}\n\nexport type VDialogTransition = InstanceType<typeof VDialogTransition>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dialog-transition.mjs","names":["Transition","acceleratedEasing","animate","deceleratedEasing","defineComponent","nullifyTransforms","standardEasing","VDialogTransition","name","props","target","Object","setup","slots","functions","onBeforeEnter","el","style","pointerEvents","visibility","onEnter","done","Promise","resolve","requestAnimationFrame","x","y","sx","sy","speed","getDimensions","animation","transform","opacity","duration","easing","getChildren","forEach","offset","finished","then","onAfterEnter","removeProperty","onBeforeLeave","onLeave","onAfterLeave","els","querySelector","children","targetBox","getBoundingClientRect","elBox","originX","originY","getComputedStyle","transformOrigin","split","map","v","parseFloat","anchorSide","anchorOffset","getPropertyValue","offsetX","left","width","offsetY","top","height","tsx","tsy","maxs","Math","max","asa","window","innerWidth","innerHeight","min"],"sources":["../../../src/components/transitions/dialog-transition.tsx"],"sourcesContent":["import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport {\n acceleratedEasing,\n animate,\n deceleratedEasing,\n defineComponent,\n nullifyTransforms,\n standardEasing,\n} from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n ;(el as HTMLElement).style.visibility = 'hidden'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n ;(el as HTMLElement).style.visibility = ''\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225 * speed,\n easing: deceleratedEasing,\n })\n getChildren(el)?.forEach(el => {\n animate(el, [\n { opacity: 0 },\n { opacity: 0, offset: 0.33 },\n { opacity: 1 },\n ], {\n duration: 225 * 2 * speed,\n easing: standardEasing,\n })\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n ], {\n duration: 125 * speed,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n getChildren(el)?.forEach(el => {\n animate(el, [\n {},\n { opacity: 0, offset: 0.2 },\n { opacity: 0 },\n ], {\n duration: 125 * 2 * speed,\n easing: standardEasing,\n })\n })\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren (el: Element) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children\n return els && [...els]\n}\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n const tsx = targetBox.width / elBox.width\n const tsy = targetBox.height / elBox.height\n const maxs = Math.max(1, tsx, tsy)\n const sx = tsx / maxs || 0\n const sy = tsy / maxs || 0\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = (elBox.width * elBox.height) / (window.innerWidth * window.innerHeight)\n const speed = asa > 0.12\n ? Math.min(1.5, (asa - 0.12) * 10 + 1)\n : 1\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed,\n }\n}\n\nexport type VDialogTransition = InstanceType<typeof VDialogTransition>\n"],"mappings":"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"}
|
|
@@ -19,5 +19,5 @@ export const VSlideYReverseTransition = createCssTransition('slide-y-reverse-tra
|
|
|
19
19
|
// Javascript transitions
|
|
20
20
|
export const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator());
|
|
21
21
|
export const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true));
|
|
22
|
-
export
|
|
22
|
+
export { VDialogTransition } from "./dialog-transition.mjs";
|
|
23
23
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["createCssTransition","createJavascriptTransition","ExpandTransitionGenerator","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","VExpandXTransition"],"sources":["../../../src/components/transitions/index.ts"],"sourcesContent":["import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["createCssTransition","createJavascriptTransition","ExpandTransitionGenerator","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","VExpandXTransition","VDialogTransition"],"sources":["../../../src/components/transitions/index.ts"],"sourcesContent":["import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n\nexport type VFabTransition = InstanceType<typeof VFabTransition>\nexport type VDialogBottomTransition = InstanceType<typeof VDialogBottomTransition>\nexport type VDialogTopTransition = InstanceType<typeof VDialogTopTransition>\nexport type VFadeTransition = InstanceType<typeof VFadeTransition>\nexport type VScaleTransition = InstanceType<typeof VScaleTransition>\nexport type VScrollXTransition = InstanceType<typeof VScrollXTransition>\nexport type VScrollXReverseTransition = InstanceType<typeof VScrollXReverseTransition>\nexport type VScrollYTransition = InstanceType<typeof VScrollYTransition>\nexport type VScrollYReverseTransition = InstanceType<typeof VScrollYReverseTransition>\nexport type VSlideXTransition = InstanceType<typeof VSlideXTransition>\nexport type VSlideXReverseTransition = InstanceType<typeof VSlideXReverseTransition>\nexport type VSlideYTransition = InstanceType<typeof VSlideYTransition>\nexport type VSlideYReverseTransition = InstanceType<typeof VSlideYReverseTransition>\nexport type VExpandTransition = InstanceType<typeof VExpandTransition>\nexport type VExpandXTransition = InstanceType<typeof VExpandXTransition>\n"],"mappings":"SACEA,mBAAmB,EACnBC,0BAA0B;AAAA,OAGrBC,yBAAyB,iCAEhC;AACA,OAAO,MAAMC,cAAc,GAAGH,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,QAAQ,CAAC;;AAE9F;AACA,OAAO,MAAMI,uBAAuB,GAAGJ,mBAAmB,CAAC,0BAA0B,CAAC;AACtF,OAAO,MAAMK,oBAAoB,GAAGL,mBAAmB,CAAC,uBAAuB,CAAC;AAChF,OAAO,MAAMM,eAAe,GAAGN,mBAAmB,CAAC,iBAAiB,CAAC;AACrE,OAAO,MAAMO,gBAAgB,GAAGP,mBAAmB,CAAC,kBAAkB,CAAC;AACvE,OAAO,MAAMQ,kBAAkB,GAAGR,mBAAmB,CAAC,qBAAqB,CAAC;AAC5E,OAAO,MAAMS,yBAAyB,GAAGT,mBAAmB,CAAC,6BAA6B,CAAC;AAC3F,OAAO,MAAMU,kBAAkB,GAAGV,mBAAmB,CAAC,qBAAqB,CAAC;AAC5E,OAAO,MAAMW,yBAAyB,GAAGX,mBAAmB,CAAC,6BAA6B,CAAC;AAC3F,OAAO,MAAMY,iBAAiB,GAAGZ,mBAAmB,CAAC,oBAAoB,CAAC;AAC1E,OAAO,MAAMa,wBAAwB,GAAGb,mBAAmB,CAAC,4BAA4B,CAAC;AACzF,OAAO,MAAMc,iBAAiB,GAAGd,mBAAmB,CAAC,oBAAoB,CAAC;AAC1E,OAAO,MAAMe,wBAAwB,GAAGf,mBAAmB,CAAC,4BAA4B,CAAC;;AAEzF;AACA,OAAO,MAAMgB,iBAAiB,GAAGf,0BAA0B,CAAC,mBAAmB,EAAEC,yBAAyB,EAAE,CAAC;AAC7G,OAAO,MAAMe,kBAAkB,GAAGhB,0BAA0B,CAAC,qBAAqB,EAAEC,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAAA,SAE/GgB,iBAAiB"}
|
|
@@ -21,7 +21,7 @@ export const emptyNested = {
|
|
|
21
21
|
};
|
|
22
22
|
export const makeNestedProps = propsFactory({
|
|
23
23
|
selectStrategy: [String, Function],
|
|
24
|
-
openStrategy: [String,
|
|
24
|
+
openStrategy: [String, Object],
|
|
25
25
|
opened: Array,
|
|
26
26
|
selected: Array,
|
|
27
27
|
mandatory: Boolean
|
|
@@ -48,7 +48,7 @@ export const useNested = props => {
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
const openStrategy = computed(() => {
|
|
51
|
-
if (typeof props.openStrategy === '
|
|
51
|
+
if (typeof props.openStrategy === 'object') return props.openStrategy;
|
|
52
52
|
switch (props.openStrategy) {
|
|
53
53
|
case 'list':
|
|
54
54
|
return listOpenStrategy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested.mjs","names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","computedId","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: unknown[] | undefined\n opened: unknown[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: unknown[]) => void) | undefined\n 'onUpdate:opened': ((val: unknown[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n opened: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Function] as PropType<OpenStrategyProp>,\n opened: Array as PropType<unknown[]>,\n selected: Array as PropType<unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? Symbol(getUid()))\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nested.mjs","names":["useProxiedModel","getCurrentInstance","getUid","propsFactory","computed","inject","onBeforeUnmount","provide","ref","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","select","opened","Set","selected","selectedValues","makeNestedProps","selectStrategy","String","Function","openStrategy","Object","Array","mandatory","Boolean","useNested","props","isUnmounted","v","values","value","in","out","getPath","path","parent","unshift","get","vm","nested","arr","key","entries","push","parentId","isGroup","set","delete","list","filter","child","event","emit","newOpened","newSelected","useNestedItem","computedId","item","e","isOpen","has","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: unknown[] | undefined\n opened: unknown[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: unknown[]) => void) | undefined\n 'onUpdate:opened': ((val: unknown[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n opened: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: Array as PropType<unknown[]>,\n selected: Array as PropType<unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? Symbol(getUid()))\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { effectScope, watch } from 'vue';
|
|
1
|
+
import { effectScope, onScopeDispose, watch } from 'vue';
|
|
2
2
|
export function useToggleScope(source, cb) {
|
|
3
3
|
let scope;
|
|
4
4
|
watch(source, active => {
|
|
5
5
|
if (active && !scope) {
|
|
6
6
|
scope = effectScope();
|
|
7
7
|
scope.run(cb);
|
|
8
|
-
} else {
|
|
8
|
+
} else if (!active) {
|
|
9
9
|
var _scope;
|
|
10
10
|
(_scope = scope) == null ? void 0 : _scope.stop();
|
|
11
11
|
scope = undefined;
|
|
@@ -13,5 +13,9 @@ export function useToggleScope(source, cb) {
|
|
|
13
13
|
}, {
|
|
14
14
|
immediate: true
|
|
15
15
|
});
|
|
16
|
+
onScopeDispose(() => {
|
|
17
|
+
var _scope2;
|
|
18
|
+
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
19
|
+
});
|
|
16
20
|
}
|
|
17
21
|
//# sourceMappingURL=toggleScope.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggleScope.mjs","names":["effectScope","watch","useToggleScope","source","cb","scope","active","run","stop","undefined","immediate"],"sources":["../../src/composables/toggleScope.ts"],"sourcesContent":["import { effectScope, watch } from 'vue'\nimport type { EffectScope, WatchSource } from 'vue'\n\nexport function useToggleScope (source: WatchSource<boolean>, cb: () => void) {\n let scope: EffectScope | undefined\n watch(source, active => {\n if (active && !scope) {\n scope = effectScope()\n scope.run(cb)\n } else {\n scope?.stop()\n scope = undefined\n }\n }, { immediate: true })\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,KAAK,QAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"toggleScope.mjs","names":["effectScope","onScopeDispose","watch","useToggleScope","source","cb","scope","active","run","stop","undefined","immediate"],"sources":["../../src/composables/toggleScope.ts"],"sourcesContent":["import { effectScope, onScopeDispose, watch } from 'vue'\nimport type { EffectScope, WatchSource } from 'vue'\n\nexport function useToggleScope (source: WatchSource<boolean>, cb: () => void) {\n let scope: EffectScope | undefined\n watch(source, active => {\n if (active && !scope) {\n scope = effectScope()\n scope.run(cb)\n } else if (!active) {\n scope?.stop()\n scope = undefined\n }\n }, { immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,cAAc,EAAEC,KAAK,QAAQ,KAAK;AAGxD,OAAO,SAASC,cAAc,CAAEC,MAA4B,EAAEC,EAAc,EAAE;EAC5E,IAAIC,KAA8B;EAClCJ,KAAK,CAACE,MAAM,EAAEG,MAAM,IAAI;IACtB,IAAIA,MAAM,IAAI,CAACD,KAAK,EAAE;MACpBA,KAAK,GAAGN,WAAW,EAAE;MACrBM,KAAK,CAACE,GAAG,CAACH,EAAE,CAAC;IACf,CAAC,MAAM,IAAI,CAACE,MAAM,EAAE;MAAA;MAClB,UAAAD,KAAK,qBAAL,OAAOG,IAAI,EAAE;MACbH,KAAK,GAAGI,SAAS;IACnB;EACF,CAAC,EAAE;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;EAEvBV,cAAc,CAAC,MAAM;IAAA;IACnB,WAAAK,KAAK,qBAAL,QAAOG,IAAI,EAAE;EACf,CAAC,CAAC;AACJ"}
|
package/lib/entry-bundler.mjs
CHANGED
package/lib/framework.mjs
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -347,6 +347,7 @@ declare module '@vue/runtime-core' {
|
|
|
347
347
|
VSlideYReverseTransition: typeof import('vuetify/components')['VSlideYReverseTransition']
|
|
348
348
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
|
349
349
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
|
350
|
+
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
|
350
351
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
351
352
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
352
353
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
@@ -354,15 +355,15 @@ declare module '@vue/runtime-core' {
|
|
|
354
355
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
355
356
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
356
357
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
358
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
357
359
|
VBadge: typeof import('vuetify/components')['VBadge']
|
|
358
360
|
VBanner: typeof import('vuetify/components')['VBanner']
|
|
359
361
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
360
362
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
361
|
-
|
|
363
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
|
362
364
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
363
365
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
364
366
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
365
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
|
366
367
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
367
368
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
368
369
|
VCard: typeof import('vuetify/components')['VCard']
|
|
@@ -371,12 +372,11 @@ declare module '@vue/runtime-core' {
|
|
|
371
372
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
|
372
373
|
VCardText: typeof import('vuetify/components')['VCardText']
|
|
373
374
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
374
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
375
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
376
375
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
377
376
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
378
|
-
VChip: typeof import('vuetify/components')['VChip']
|
|
379
377
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
378
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
379
|
+
VCode: typeof import('vuetify/components')['VCode']
|
|
380
380
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
381
381
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
382
382
|
VCounter: typeof import('vuetify/components')['VCounter']
|
|
@@ -388,8 +388,8 @@ declare module '@vue/runtime-core' {
|
|
|
388
388
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
389
389
|
VField: typeof import('vuetify/components')['VField']
|
|
390
390
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
391
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
392
391
|
VFooter: typeof import('vuetify/components')['VFooter']
|
|
392
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
393
393
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
394
394
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
395
395
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
@@ -422,16 +422,16 @@ declare module '@vue/runtime-core' {
|
|
|
422
422
|
VRating: typeof import('vuetify/components')['VRating']
|
|
423
423
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
424
424
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
425
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
426
425
|
VSheet: typeof import('vuetify/components')['VSheet']
|
|
426
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
427
427
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
428
428
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
429
429
|
VSlider: typeof import('vuetify/components')['VSlider']
|
|
430
430
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
431
431
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
432
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
433
432
|
VTabs: typeof import('vuetify/components')['VTabs']
|
|
434
433
|
VTab: typeof import('vuetify/components')['VTab']
|
|
434
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
435
435
|
VTable: typeof import('vuetify/components')['VTable']
|
|
436
436
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
437
437
|
VTextField: typeof import('vuetify/components')['VTextField']
|
|
@@ -443,6 +443,7 @@ declare module '@vue/runtime-core' {
|
|
|
443
443
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
444
444
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
445
445
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
446
|
-
|
|
446
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
447
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
447
448
|
}
|
|
448
449
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// Utils
|
|
2
|
-
import { defineComponent as _defineComponent,
|
|
2
|
+
import { defineComponent as _defineComponent,
|
|
3
|
+
// eslint-disable-line no-restricted-imports
|
|
4
|
+
getCurrentInstance, shallowReactive, shallowRef, toRaw, watchEffect } from 'vue';
|
|
3
5
|
import { consoleWarn } from "./console.mjs";
|
|
4
6
|
import { mergeDeep, toKebabCase } from "./helpers.mjs";
|
|
5
7
|
import { injectSelf } from "./injectSelf.mjs";
|
|
6
|
-
import { DefaultsSymbol, provideDefaults, useDefaults } from "../composables/defaults.mjs";
|
|
8
|
+
import { DefaultsSymbol, provideDefaults, useDefaults } from "../composables/defaults.mjs";
|
|
9
|
+
import { useToggleScope } from "../composables/toggleScope.mjs"; // Types
|
|
7
10
|
import { propsFactory } from "./propsFactory.mjs";
|
|
8
11
|
function propIsDefined(vnode, prop) {
|
|
9
12
|
var _vnode$props, _vnode$props2;
|
|
@@ -47,17 +50,9 @@ export const defineComponent = function defineComponent(options) {
|
|
|
47
50
|
}
|
|
48
51
|
});
|
|
49
52
|
const setupBindings = options._setup(_props, ctx);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
scope = effectScope();
|
|
54
|
-
scope.run(() => {
|
|
55
|
-
var _injectSelf;
|
|
56
|
-
provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, val));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}, {
|
|
60
|
-
immediate: true
|
|
53
|
+
useToggleScope(_subcomponentDefaults, () => {
|
|
54
|
+
var _injectSelf;
|
|
55
|
+
provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, _subcomponentDefaults.value));
|
|
61
56
|
});
|
|
62
57
|
return setupBindings;
|
|
63
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","
|
|
1
|
+
{"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","getCurrentInstance","shallowReactive","shallowRef","toRaw","watchEffect","consoleWarn","mergeDeep","toKebabCase","injectSelf","DefaultsSymbol","provideDefaults","useDefaults","useToggleScope","propsFactory","propIsDefined","vnode","prop","props","hasOwnProperty","options","_setup","setup","name","_as","String","ctx","vm","defaults","_subcomponentDefaults","_props","globalDefaults","value","global","componentDefaults","subComponents","Object","entries","filter","key","startsWith","toUpperCase","length","fromEntries","keys","newVal","setupBindings","genericComponent","exposeDefaults"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Utils\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n getCurrentInstance,\n shallowReactive,\n shallowRef,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { mergeDeep, toKebabCase } from '@/util/helpers'\nimport { injectSelf } from '@/util/injectSelf'\nimport { DefaultsSymbol, provideDefaults, useDefaults } from '@/composables/defaults'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\nimport { propsFactory } from '@/util/propsFactory'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = options.props ?? {}\n\n options.props = propsFactory(options.props, toKebabCase(options.name))()\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _subcomponentDefaults = shallowRef()\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[props._as ?? options.name!]\n\n if (componentDefaults) {\n const subComponents = Object.entries(componentDefaults).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n\n for (const prop of Object.keys(props)) {\n let newVal = props[prop]\n if (!propIsDefined(vm.vnode, prop)) {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n const setupBindings = options._setup(_props, ctx)\n\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value))\n })\n\n return setupBindings\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<T extends Record<string, any>> = T extends Record<string, Slot> ? ({\n $children?: (\n | VNodeChild\n | (keyof T extends 'default' ? T['default'] : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}) : T extends Record<string, any[]> ? SlotsToProps<MakeSlots<T>> : never\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $props?: Record<string, any>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n I extends Record<'$props', any>\n ? Omit<PropsOptions, keyof I['$props']>\n : PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vuetify",
|
|
3
3
|
"description": "Vue Material Component Framework",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "John Leider",
|
|
7
7
|
"email": "john@vuetifyjs.com"
|
|
@@ -180,5 +180,5 @@
|
|
|
180
180
|
"attributes": "dist/json/attributes.json"
|
|
181
181
|
},
|
|
182
182
|
"web-types": "dist/json/web-types.json",
|
|
183
|
-
"gitHead": "
|
|
183
|
+
"gitHead": "bdd10cfe940ae40ec401b477a825bf85e4b558b6"
|
|
184
184
|
}
|