@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.
Files changed (50) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/json/attributes.json +31 -7
  3. package/dist/json/importMap.json +46 -46
  4. package/dist/json/tags.json +6 -0
  5. package/dist/json/web-types.json +62 -8
  6. package/dist/vuetify-labs.css +884 -884
  7. package/dist/vuetify-labs.d.ts +227 -110
  8. package/dist/vuetify-labs.esm.js +96 -42
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +96 -42
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +240 -240
  13. package/dist/vuetify.d.ts +227 -116
  14. package/dist/vuetify.esm.js +96 -42
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +96 -42
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +740 -739
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +14 -8
  22. package/lib/components/VCombobox/index.d.mts +14 -8
  23. package/lib/components/VDialog/index.d.mts +41 -20
  24. package/lib/components/VMenu/index.d.mts +41 -20
  25. package/lib/components/VOverlay/VOverlay.mjs +9 -4
  26. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  27. package/lib/components/VOverlay/index.d.mts +17 -8
  28. package/lib/components/VOverlay/locationStrategies.mjs +9 -9
  29. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  30. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  31. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  32. package/lib/components/VOverlay/useActivator.mjs +50 -21
  33. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  34. package/lib/components/VSelect/index.d.mts +14 -8
  35. package/lib/components/VSnackbar/index.d.mts +41 -20
  36. package/lib/components/VTooltip/index.d.mts +41 -20
  37. package/lib/components/index.d.mts +215 -104
  38. package/lib/components/transitions/dialog-transition.mjs +4 -3
  39. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  40. package/lib/components/transitions/index.d.mts +6 -6
  41. package/lib/entry-bundler.mjs +1 -1
  42. package/lib/framework.mjs +1 -1
  43. package/lib/index.d.mts +12 -12
  44. package/lib/labs/VBottomSheet/index.d.mts +14 -8
  45. package/lib/labs/components.d.mts +14 -8
  46. package/lib/util/box.mjs +12 -0
  47. package/lib/util/box.mjs.map +1 -1
  48. package/lib/util/helpers.mjs +9 -1
  49. package/lib/util/helpers.mjs.map +1 -1
  50. 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"; // Types
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.getBoundingClientRect();
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
 
@@ -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-15";
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
@@ -92,7 +92,7 @@ export function createVuetify() {
92
92
  date
93
93
  };
94
94
  }
95
- export const version = "3.3.12-dev.2023-08-15";
95
+ export const version = "3.3.12-dev.2023-08-17";
96
96
  createVuetify.version = version;
97
97
 
98
98
  // Vue's inject() can only be used in setup
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
- activatorEl: Ref<HTMLElement | undefined>;
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
- activatorEl: Ref<HTMLElement | undefined>;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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
- activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
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
- activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
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
- activatorEl: Ref<HTMLElement | undefined>;
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
- activatorEl: Ref<HTMLElement | undefined>;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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?: string | Element | vue.ComponentPublicInstance | undefined;
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
- activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
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
- activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
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
@@ -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"}
@@ -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
- return obj && '$el' in obj ? obj.$el : obj;
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