@vuetify/nightly 3.3.12-dev.2023-08-15 → 3.3.12-dev.2023-08-17
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/CHANGELOG.md +3 -2
- package/dist/json/attributes.json +31 -7
- package/dist/json/importMap.json +46 -46
- package/dist/json/tags.json +6 -0
- package/dist/json/web-types.json +62 -8
- package/dist/vuetify-labs.css +884 -884
- package/dist/vuetify-labs.d.ts +227 -110
- package/dist/vuetify-labs.esm.js +96 -42
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +96 -42
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +240 -240
- package/dist/vuetify.d.ts +227 -116
- package/dist/vuetify.esm.js +96 -42
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +96 -42
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +740 -739
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +14 -8
- package/lib/components/VCombobox/index.d.mts +14 -8
- package/lib/components/VDialog/index.d.mts +41 -20
- package/lib/components/VMenu/index.d.mts +41 -20
- package/lib/components/VOverlay/VOverlay.mjs +9 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +17 -8
- package/lib/components/VOverlay/locationStrategies.mjs +9 -9
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +50 -21
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +14 -8
- package/lib/components/VSnackbar/index.d.mts +41 -20
- package/lib/components/VTooltip/index.d.mts +41 -20
- package/lib/components/index.d.mts +215 -104
- package/lib/components/transitions/dialog-transition.mjs +4 -3
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.mts +6 -6
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +12 -12
- package/lib/labs/VBottomSheet/index.d.mts +14 -8
- package/lib/labs/components.d.mts +14 -8
- package/lib/util/box.mjs +12 -0
- package/lib/util/box.mjs.map +1 -1
- package/lib/util/helpers.mjs +9 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
|
|
2
2
|
// Utilities
|
|
3
3
|
import { Transition } from 'vue';
|
|
4
|
-
import { acceleratedEasing, animate, deceleratedEasing, genericComponent, nullifyTransforms, propsFactory, standardEasing } from "../../util/index.mjs";
|
|
4
|
+
import { acceleratedEasing, animate, deceleratedEasing, genericComponent, nullifyTransforms, propsFactory, standardEasing } from "../../util/index.mjs";
|
|
5
|
+
import { getTargetBox } from "../../util/box.mjs"; // Types
|
|
5
6
|
export const makeVDialogTransitionProps = propsFactory({
|
|
6
|
-
target: Object
|
|
7
|
+
target: [Object, Array]
|
|
7
8
|
}, 'v-dialog-transition');
|
|
8
9
|
export const VDialogTransition = genericComponent()({
|
|
9
10
|
name: 'VDialogTransition',
|
|
@@ -105,7 +106,7 @@ function getChildren(el) {
|
|
|
105
106
|
return els && [...els];
|
|
106
107
|
}
|
|
107
108
|
function getDimensions(target, el) {
|
|
108
|
-
const targetBox = target
|
|
109
|
+
const targetBox = getTargetBox(target);
|
|
109
110
|
const elBox = nullifyTransforms(el);
|
|
110
111
|
const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v));
|
|
111
112
|
const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-transition.mjs","names":["Transition","acceleratedEasing","animate","deceleratedEasing","genericComponent","nullifyTransforms","propsFactory","standardEasing","makeVDialogTransitionProps","target","Object","VDialogTransition","name","props","setup","_ref","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","_createVNode","_mergeProps","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":["// Utilities\nimport { Transition } from 'vue'\nimport {\n acceleratedEasing,\n animate,\n deceleratedEasing,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDialogTransitionProps = propsFactory({\n target: Object as PropType<HTMLElement>,\n}, 'v-dialog-transition')\n\nexport const VDialogTransition = genericComponent()({\n name: 'VDialogTransition',\n\n props: makeVDialogTransitionProps(),\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 {},\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 {},\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 {},\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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"}
|
|
1
|
+
{"version":3,"file":"dialog-transition.mjs","names":["Transition","acceleratedEasing","animate","deceleratedEasing","genericComponent","nullifyTransforms","propsFactory","standardEasing","getTargetBox","makeVDialogTransitionProps","target","Object","Array","VDialogTransition","name","props","setup","_ref","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","_createVNode","_mergeProps","els","querySelector","children","targetBox","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":["// Utilities\nimport { Transition } from 'vue'\nimport {\n acceleratedEasing,\n animate,\n deceleratedEasing,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n} from '@/util'\nimport { getTargetBox } from '@/util/box'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDialogTransitionProps = propsFactory({\n target: [Object, Array] as PropType<HTMLElement | [x: number, y: number]>,\n}, 'v-dialog-transition')\n\nexport const VDialogTransition = genericComponent()({\n name: 'VDialogTransition',\n\n props: makeVDialogTransitionProps(),\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 {},\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 {},\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 {},\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 | [x: number, y: number], el: HTMLElement) {\n const targetBox = getTargetBox(target)\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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"}
|
|
@@ -12,7 +12,7 @@ declare const VDialogTransition: {
|
|
|
12
12
|
$props: {
|
|
13
13
|
key?: string | number | symbol | undefined;
|
|
14
14
|
style?: unknown;
|
|
15
|
-
target?: HTMLElement | undefined;
|
|
15
|
+
target?: HTMLElement | [x: number, y: number] | undefined;
|
|
16
16
|
class?: unknown;
|
|
17
17
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
18
18
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -79,7 +79,7 @@ declare const VDialogTransition: {
|
|
|
79
79
|
$emit: (event: string, ...args: any[]) => void;
|
|
80
80
|
$el: any;
|
|
81
81
|
$options: vue.ComponentOptionsBase<{} & {
|
|
82
|
-
target?: HTMLElement | undefined;
|
|
82
|
+
target?: HTMLElement | [x: number, y: number] | undefined;
|
|
83
83
|
} & {
|
|
84
84
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
85
85
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -114,7 +114,7 @@ declare const VDialogTransition: {
|
|
|
114
114
|
$nextTick: typeof vue.nextTick;
|
|
115
115
|
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
|
|
116
116
|
} & {} & {
|
|
117
|
-
target?: HTMLElement | undefined;
|
|
117
|
+
target?: HTMLElement | [x: number, y: number] | undefined;
|
|
118
118
|
} & {
|
|
119
119
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
120
120
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -129,7 +129,7 @@ declare const VDialogTransition: {
|
|
|
129
129
|
__isTeleport?: undefined;
|
|
130
130
|
__isSuspense?: undefined;
|
|
131
131
|
} & vue.ComponentOptionsBase<{} & {
|
|
132
|
-
target?: HTMLElement | undefined;
|
|
132
|
+
target?: HTMLElement | [x: number, y: number] | undefined;
|
|
133
133
|
} & {
|
|
134
134
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
135
135
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -144,9 +144,9 @@ declare const VDialogTransition: {
|
|
|
144
144
|
[key: string]: any;
|
|
145
145
|
}>[];
|
|
146
146
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
147
|
-
target: PropType<HTMLElement>;
|
|
147
|
+
target: PropType<HTMLElement | [x: number, y: number]>;
|
|
148
148
|
}, vue.ExtractPropTypes<{
|
|
149
|
-
target: PropType<HTMLElement>;
|
|
149
|
+
target: PropType<HTMLElement | [x: number, y: number]>;
|
|
150
150
|
}>>;
|
|
151
151
|
type VDialogTransition = InstanceType<typeof VDialogTransition>;
|
|
152
152
|
|
package/lib/entry-bundler.mjs
CHANGED
|
@@ -15,7 +15,7 @@ export const createVuetify = function () {
|
|
|
15
15
|
...options
|
|
16
16
|
});
|
|
17
17
|
};
|
|
18
|
-
export const version = "3.3.12-dev.2023-08-
|
|
18
|
+
export const version = "3.3.12-dev.2023-08-17";
|
|
19
19
|
createVuetify.version = version;
|
|
20
20
|
export { components, directives };
|
|
21
21
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/index.d.mts
CHANGED
|
@@ -368,17 +368,17 @@ declare module '@vue/runtime-core' {
|
|
|
368
368
|
VAlert: typeof import('vuetify/components')['VAlert']
|
|
369
369
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
370
370
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
371
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
372
371
|
VBadge: typeof import('vuetify/components')['VBadge']
|
|
372
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
373
373
|
VBanner: typeof import('vuetify/components')['VBanner']
|
|
374
374
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
375
375
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
376
376
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
377
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
|
378
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
377
379
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
378
380
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
379
381
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
380
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
|
381
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
382
382
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
383
383
|
VCard: typeof import('vuetify/components')['VCard']
|
|
384
384
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
|
@@ -390,14 +390,14 @@ declare module '@vue/runtime-core' {
|
|
|
390
390
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
391
391
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
392
392
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
393
|
-
VChip: typeof import('vuetify/components')['VChip']
|
|
394
393
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
394
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
395
395
|
VCode: typeof import('vuetify/components')['VCode']
|
|
396
396
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
397
397
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
398
398
|
VCounter: typeof import('vuetify/components')['VCounter']
|
|
399
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
|
400
399
|
VDivider: typeof import('vuetify/components')['VDivider']
|
|
400
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
|
401
401
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
|
402
402
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
|
403
403
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
|
@@ -411,8 +411,8 @@ declare module '@vue/runtime-core' {
|
|
|
411
411
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
412
412
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
|
413
413
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
|
414
|
-
VImg: typeof import('vuetify/components')['VImg']
|
|
415
414
|
VInput: typeof import('vuetify/components')['VInput']
|
|
415
|
+
VImg: typeof import('vuetify/components')['VImg']
|
|
416
416
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
417
417
|
VItem: typeof import('vuetify/components')['VItem']
|
|
418
418
|
VKbd: typeof import('vuetify/components')['VKbd']
|
|
@@ -426,8 +426,8 @@ declare module '@vue/runtime-core' {
|
|
|
426
426
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
|
427
427
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
|
428
428
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
|
429
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
|
430
429
|
VMain: typeof import('vuetify/components')['VMain']
|
|
430
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
|
431
431
|
VMessages: typeof import('vuetify/components')['VMessages']
|
|
432
432
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
433
433
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
@@ -436,21 +436,20 @@ declare module '@vue/runtime-core' {
|
|
|
436
436
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
437
437
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
438
438
|
VRating: typeof import('vuetify/components')['VRating']
|
|
439
|
-
VSelect: typeof import('vuetify/components')['VSelect']
|
|
440
439
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
441
440
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
442
441
|
VSheet: typeof import('vuetify/components')['VSheet']
|
|
443
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
444
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
445
442
|
VSlider: typeof import('vuetify/components')['VSlider']
|
|
446
443
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
444
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
445
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
447
446
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
448
447
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
448
|
+
VTable: typeof import('vuetify/components')['VTable']
|
|
449
449
|
VTabs: typeof import('vuetify/components')['VTabs']
|
|
450
450
|
VTab: typeof import('vuetify/components')['VTab']
|
|
451
|
-
VTable: typeof import('vuetify/components')['VTable']
|
|
452
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
453
451
|
VTextField: typeof import('vuetify/components')['VTextField']
|
|
452
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
454
453
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
455
454
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
456
455
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
@@ -460,6 +459,7 @@ declare module '@vue/runtime-core' {
|
|
|
460
459
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
461
460
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
462
461
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
462
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
|
463
463
|
VForm: typeof import('vuetify/components')['VForm']
|
|
464
464
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
465
465
|
VCol: typeof import('vuetify/components')['VCol']
|
|
@@ -30,7 +30,7 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
30
30
|
|
|
31
31
|
interface LocationStrategyData {
|
|
32
32
|
contentEl: Ref<HTMLElement | undefined>;
|
|
33
|
-
|
|
33
|
+
target: Ref<HTMLElement | [x: number, y: number] | undefined>;
|
|
34
34
|
isActive: Ref<boolean>;
|
|
35
35
|
isRtl: Ref<boolean>;
|
|
36
36
|
}
|
|
@@ -65,7 +65,7 @@ declare function connectedLocationStrategy(data: LocationStrategyData, props: St
|
|
|
65
65
|
interface ScrollStrategyData {
|
|
66
66
|
root: Ref<HTMLElement | undefined>;
|
|
67
67
|
contentEl: Ref<HTMLElement | undefined>;
|
|
68
|
-
|
|
68
|
+
targetEl: Ref<HTMLElement | undefined>;
|
|
69
69
|
isActive: Ref<boolean>;
|
|
70
70
|
updateLocation: Ref<((e: Event) => void) | undefined>;
|
|
71
71
|
}
|
|
@@ -129,6 +129,7 @@ declare const VBottomSheet: {
|
|
|
129
129
|
maxWidth?: string | number | undefined;
|
|
130
130
|
minHeight?: string | number | undefined;
|
|
131
131
|
minWidth?: string | number | undefined;
|
|
132
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
132
133
|
class?: any;
|
|
133
134
|
$children?: vue.VNodeChild | {
|
|
134
135
|
default?: ((arg: {
|
|
@@ -196,7 +197,7 @@ declare const VBottomSheet: {
|
|
|
196
197
|
[key: string]: any;
|
|
197
198
|
}>) => void)[] | undefined;
|
|
198
199
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
199
|
-
activator?:
|
|
200
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
200
201
|
"v-slot:activator"?: false | ((arg: {
|
|
201
202
|
isActive: boolean;
|
|
202
203
|
props: Record<string, any>;
|
|
@@ -267,10 +268,11 @@ declare const VBottomSheet: {
|
|
|
267
268
|
maxWidth?: string | number | undefined;
|
|
268
269
|
minHeight?: string | number | undefined;
|
|
269
270
|
minWidth?: string | number | undefined;
|
|
271
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
270
272
|
class?: any;
|
|
271
273
|
theme?: string | undefined;
|
|
272
274
|
contentClass?: any;
|
|
273
|
-
activator?:
|
|
275
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
274
276
|
closeDelay?: string | number | undefined;
|
|
275
277
|
openDelay?: string | number | undefined;
|
|
276
278
|
openOnClick?: boolean | undefined;
|
|
@@ -413,10 +415,11 @@ declare const VBottomSheet: {
|
|
|
413
415
|
maxWidth?: string | number | undefined;
|
|
414
416
|
minHeight?: string | number | undefined;
|
|
415
417
|
minWidth?: string | number | undefined;
|
|
418
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
416
419
|
class?: any;
|
|
417
420
|
theme?: string | undefined;
|
|
418
421
|
contentClass?: any;
|
|
419
|
-
activator?:
|
|
422
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
420
423
|
closeDelay?: string | number | undefined;
|
|
421
424
|
openDelay?: string | number | undefined;
|
|
422
425
|
openOnClick?: boolean | undefined;
|
|
@@ -496,10 +499,11 @@ declare const VBottomSheet: {
|
|
|
496
499
|
maxWidth?: string | number | undefined;
|
|
497
500
|
minHeight?: string | number | undefined;
|
|
498
501
|
minWidth?: string | number | undefined;
|
|
502
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
499
503
|
class?: any;
|
|
500
504
|
theme?: string | undefined;
|
|
501
505
|
contentClass?: any;
|
|
502
|
-
activator?:
|
|
506
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
503
507
|
closeDelay?: string | number | undefined;
|
|
504
508
|
openDelay?: string | number | undefined;
|
|
505
509
|
openOnClick?: boolean | undefined;
|
|
@@ -656,7 +660,8 @@ declare const VBottomSheet: {
|
|
|
656
660
|
};
|
|
657
661
|
closeDelay: (StringConstructor | NumberConstructor)[];
|
|
658
662
|
openDelay: (StringConstructor | NumberConstructor)[];
|
|
659
|
-
|
|
663
|
+
target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
|
|
664
|
+
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
660
665
|
activatorProps: {
|
|
661
666
|
type: vue.PropType<Record<string, any>>;
|
|
662
667
|
default: () => {};
|
|
@@ -777,7 +782,8 @@ declare const VBottomSheet: {
|
|
|
777
782
|
};
|
|
778
783
|
closeDelay: (StringConstructor | NumberConstructor)[];
|
|
779
784
|
openDelay: (StringConstructor | NumberConstructor)[];
|
|
780
|
-
|
|
785
|
+
target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
|
|
786
|
+
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
781
787
|
activatorProps: {
|
|
782
788
|
type: vue.PropType<Record<string, any>>;
|
|
783
789
|
default: () => {};
|
|
@@ -34,7 +34,7 @@ declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (.
|
|
|
34
34
|
|
|
35
35
|
interface LocationStrategyData {
|
|
36
36
|
contentEl: Ref<HTMLElement | undefined>;
|
|
37
|
-
|
|
37
|
+
target: Ref<HTMLElement | [x: number, y: number] | undefined>;
|
|
38
38
|
isActive: Ref<boolean>;
|
|
39
39
|
isRtl: Ref<boolean>;
|
|
40
40
|
}
|
|
@@ -69,7 +69,7 @@ declare function connectedLocationStrategy(data: LocationStrategyData, props: St
|
|
|
69
69
|
interface ScrollStrategyData {
|
|
70
70
|
root: Ref<HTMLElement | undefined>;
|
|
71
71
|
contentEl: Ref<HTMLElement | undefined>;
|
|
72
|
-
|
|
72
|
+
targetEl: Ref<HTMLElement | undefined>;
|
|
73
73
|
isActive: Ref<boolean>;
|
|
74
74
|
updateLocation: Ref<((e: Event) => void) | undefined>;
|
|
75
75
|
}
|
|
@@ -133,6 +133,7 @@ declare const VBottomSheet: {
|
|
|
133
133
|
maxWidth?: string | number | undefined;
|
|
134
134
|
minHeight?: string | number | undefined;
|
|
135
135
|
minWidth?: string | number | undefined;
|
|
136
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
136
137
|
class?: any;
|
|
137
138
|
$children?: vue.VNodeChild | {
|
|
138
139
|
default?: ((arg: {
|
|
@@ -200,7 +201,7 @@ declare const VBottomSheet: {
|
|
|
200
201
|
[key: string]: any;
|
|
201
202
|
}>) => void)[] | undefined;
|
|
202
203
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
203
|
-
activator?:
|
|
204
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
204
205
|
"v-slot:activator"?: false | ((arg: {
|
|
205
206
|
isActive: boolean;
|
|
206
207
|
props: Record<string, any>;
|
|
@@ -271,10 +272,11 @@ declare const VBottomSheet: {
|
|
|
271
272
|
maxWidth?: string | number | undefined;
|
|
272
273
|
minHeight?: string | number | undefined;
|
|
273
274
|
minWidth?: string | number | undefined;
|
|
275
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
274
276
|
class?: any;
|
|
275
277
|
theme?: string | undefined;
|
|
276
278
|
contentClass?: any;
|
|
277
|
-
activator?:
|
|
279
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
278
280
|
closeDelay?: string | number | undefined;
|
|
279
281
|
openDelay?: string | number | undefined;
|
|
280
282
|
openOnClick?: boolean | undefined;
|
|
@@ -417,10 +419,11 @@ declare const VBottomSheet: {
|
|
|
417
419
|
maxWidth?: string | number | undefined;
|
|
418
420
|
minHeight?: string | number | undefined;
|
|
419
421
|
minWidth?: string | number | undefined;
|
|
422
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
420
423
|
class?: any;
|
|
421
424
|
theme?: string | undefined;
|
|
422
425
|
contentClass?: any;
|
|
423
|
-
activator?:
|
|
426
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
424
427
|
closeDelay?: string | number | undefined;
|
|
425
428
|
openDelay?: string | number | undefined;
|
|
426
429
|
openOnClick?: boolean | undefined;
|
|
@@ -500,10 +503,11 @@ declare const VBottomSheet: {
|
|
|
500
503
|
maxWidth?: string | number | undefined;
|
|
501
504
|
minHeight?: string | number | undefined;
|
|
502
505
|
minWidth?: string | number | undefined;
|
|
506
|
+
target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
|
|
503
507
|
class?: any;
|
|
504
508
|
theme?: string | undefined;
|
|
505
509
|
contentClass?: any;
|
|
506
|
-
activator?:
|
|
510
|
+
activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
|
|
507
511
|
closeDelay?: string | number | undefined;
|
|
508
512
|
openDelay?: string | number | undefined;
|
|
509
513
|
openOnClick?: boolean | undefined;
|
|
@@ -660,7 +664,8 @@ declare const VBottomSheet: {
|
|
|
660
664
|
};
|
|
661
665
|
closeDelay: (StringConstructor | NumberConstructor)[];
|
|
662
666
|
openDelay: (StringConstructor | NumberConstructor)[];
|
|
663
|
-
|
|
667
|
+
target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
|
|
668
|
+
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
664
669
|
activatorProps: {
|
|
665
670
|
type: vue.PropType<Record<string, any>>;
|
|
666
671
|
default: () => {};
|
|
@@ -781,7 +786,8 @@ declare const VBottomSheet: {
|
|
|
781
786
|
};
|
|
782
787
|
closeDelay: (StringConstructor | NumberConstructor)[];
|
|
783
788
|
openDelay: (StringConstructor | NumberConstructor)[];
|
|
784
|
-
|
|
789
|
+
target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
|
|
790
|
+
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
785
791
|
activatorProps: {
|
|
786
792
|
type: vue.PropType<Record<string, any>>;
|
|
787
793
|
default: () => {};
|
package/lib/util/box.mjs
CHANGED
|
@@ -36,4 +36,16 @@ export function getOverflow(a, b) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
+
export function getTargetBox(target) {
|
|
40
|
+
if (Array.isArray(target)) {
|
|
41
|
+
return new Box({
|
|
42
|
+
x: target[0],
|
|
43
|
+
y: target[1],
|
|
44
|
+
width: 0,
|
|
45
|
+
height: 0
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
return target.getBoundingClientRect();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
39
51
|
//# sourceMappingURL=box.mjs.map
|
package/lib/util/box.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.mjs","names":["Box","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after"],"sources":["../../src/util/box.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n\nexport function getOverflow (a: Box, b: Box) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,GAAG,CAAC;EAMfC,WAAWA,CAAAC,IAAA,EAKR;IAAA,IALU;MAAEC,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAK5B,CAAC,GAAAJ,IAAA;IACC,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;EAEA,IAAIC,GAAGA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACH,CAAC;EAAC;EAC3B,IAAII,MAAMA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACJ,CAAC,GAAG,IAAI,CAACE,MAAM;EAAC;EAC5C,IAAIG,IAAIA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACN,CAAC;EAAC;EAC5B,IAAIO,KAAKA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACP,CAAC,GAAG,IAAI,CAACE,KAAK;EAAC;AAC5C;AAEA,OAAO,SAASM,WAAWA,CAAEC,CAAM,EAAEC,CAAM,EAAE;EAC3C,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACJ,IAAI,GAAGG,CAAC,CAACH,IAAI,CAAC;MACpCQ,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;IACtC,CAAC;IACDN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACN,GAAG,GAAGK,CAAC,CAACL,GAAG,CAAC;MAClCU,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACJ,MAAM,GAAGK,CAAC,CAACL,MAAM;IACxC;EACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"box.mjs","names":["Box","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after","getTargetBox","target","Array","isArray","getBoundingClientRect"],"sources":["../../src/util/box.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n\nexport function getOverflow (a: Box, b: Box) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n }\n}\n\nexport function getTargetBox (target: HTMLElement | [x: number, y: number]) {\n if (Array.isArray(target)) {\n return new Box({\n x: target[0],\n y: target[1],\n width: 0,\n height: 0,\n })\n } else {\n return target.getBoundingClientRect()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,GAAG,CAAC;EAMfC,WAAWA,CAAAC,IAAA,EAKR;IAAA,IALU;MAAEC,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAK5B,CAAC,GAAAJ,IAAA;IACC,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;EAEA,IAAIC,GAAGA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACH,CAAC;EAAC;EAC3B,IAAII,MAAMA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACJ,CAAC,GAAG,IAAI,CAACE,MAAM;EAAC;EAC5C,IAAIG,IAAIA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACN,CAAC;EAAC;EAC5B,IAAIO,KAAKA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACP,CAAC,GAAG,IAAI,CAACE,KAAK;EAAC;AAC5C;AAEA,OAAO,SAASM,WAAWA,CAAEC,CAAM,EAAEC,CAAM,EAAE;EAC3C,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACJ,IAAI,GAAGG,CAAC,CAACH,IAAI,CAAC;MACpCQ,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;IACtC,CAAC;IACDN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACN,GAAG,GAAGK,CAAC,CAACL,GAAG,CAAC;MAClCU,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACJ,MAAM,GAAGK,CAAC,CAACL,MAAM;IACxC;EACF,CAAC;AACH;AAEA,OAAO,SAASU,YAAYA,CAAEC,MAA4C,EAAE;EAC1E,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IACzB,OAAO,IAAInB,GAAG,CAAC;MACbG,CAAC,EAAEgB,MAAM,CAAC,CAAC,CAAC;MACZf,CAAC,EAAEe,MAAM,CAAC,CAAC,CAAC;MACZd,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,OAAOa,MAAM,CAACG,qBAAqB,EAAE;EACvC;AACF"}
|
package/lib/util/helpers.mjs
CHANGED
|
@@ -86,7 +86,15 @@ export function isObject(obj) {
|
|
|
86
86
|
return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
|
|
87
87
|
}
|
|
88
88
|
export function refElement(obj) {
|
|
89
|
-
|
|
89
|
+
if (obj && '$el' in obj) {
|
|
90
|
+
const el = obj.$el;
|
|
91
|
+
if (el?.nodeType === Node.TEXT_NODE) {
|
|
92
|
+
// Multi-root component, use the first element
|
|
93
|
+
return el.nextElementSibling;
|
|
94
|
+
}
|
|
95
|
+
return el;
|
|
96
|
+
}
|
|
97
|
+
return obj;
|
|
90
98
|
}
|
|
91
99
|
|
|
92
100
|
// KeyboardEvent.keyCode aliases
|