ropav 0.0.11 → 0.0.13

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 (126) hide show
  1. package/README.md +3 -0
  2. package/dist/checkbox.css +32 -32
  3. package/dist/checkbox.js +33 -14
  4. package/dist/color-input.css +19 -19
  5. package/dist/color-input.js +35 -17
  6. package/dist/components/checkbox/types.d.ts +5 -1
  7. package/dist/components/checkbox/useCheckbox.d.ts +1 -1
  8. package/dist/components/color-input/types.d.ts +4 -1
  9. package/dist/components/color-input/useColorInput.d.ts +1 -1
  10. package/dist/components/color-input/useColorInputValue.d.ts +1 -1
  11. package/dist/components/dialog/dialog-close.d.ts +21 -0
  12. package/dist/components/dialog/dialog-content.d.ts +32 -0
  13. package/dist/components/dialog/dialog-core.d.ts +27 -0
  14. package/dist/components/dialog/dialog-description.d.ts +21 -0
  15. package/dist/components/dialog/dialog-overlay.d.ts +21 -0
  16. package/dist/components/dialog/dialog-portal.d.ts +21 -0
  17. package/dist/components/dialog/dialog-root.d.ts +28 -0
  18. package/dist/components/dialog/dialog-title.d.ts +21 -0
  19. package/dist/components/dialog/dialog-trigger.d.ts +23 -0
  20. package/dist/components/dialog/index.d.ts +9 -0
  21. package/dist/components/dialog/index.js +2 -0
  22. package/dist/components/dialog/types.d.ts +61 -0
  23. package/dist/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +24 -0
  24. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +34 -0
  25. package/dist/components/dropdown-menu/dropdown-menu-context-trigger.d.ts +23 -0
  26. package/dist/components/dropdown-menu/dropdown-menu-item-indicator.d.ts +24 -0
  27. package/dist/components/dropdown-menu/dropdown-menu-item-row.d.ts +28 -0
  28. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts +23 -0
  29. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +24 -22
  30. package/dist/components/dropdown-menu/dropdown-menu-label.d.ts +21 -0
  31. package/dist/components/dropdown-menu/dropdown-menu-outside.d.ts +3 -0
  32. package/dist/components/dropdown-menu/dropdown-menu-portal.d.ts +21 -0
  33. package/dist/components/dropdown-menu/dropdown-menu-primitive-core.d.ts +110 -0
  34. package/dist/components/dropdown-menu/dropdown-menu-primitives.d.ts +15 -724
  35. package/dist/components/dropdown-menu/dropdown-menu-radio-group.d.ts +25 -0
  36. package/dist/components/dropdown-menu/dropdown-menu-radio-item.d.ts +23 -0
  37. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +30 -0
  38. package/dist/components/dropdown-menu/dropdown-menu-separator.d.ts +19 -0
  39. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +34 -0
  40. package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +28 -0
  41. package/dist/components/dropdown-menu/dropdown-menu-sub.d.ts +28 -0
  42. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +23 -0
  43. package/dist/components/dropdown-menu/dropdown-menu.d.ts +5 -2
  44. package/dist/components/dropdown-menu/index.d.ts +28 -49
  45. package/dist/components/dropdown-menu/index.js +2 -2
  46. package/dist/components/dropdown-menu/types.d.ts +8 -3
  47. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +8 -4
  48. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +7 -2
  49. package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +3 -3
  50. package/dist/components/dropdown-menu/useDropdownMenuPrimitiveContent.d.ts +27 -0
  51. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +2 -0
  52. package/dist/components/floating/index.d.ts +3 -1
  53. package/dist/components/floating/index.js +3 -0
  54. package/dist/components/floating/types.d.ts +86 -1
  55. package/dist/components/floating/useFloatingPosition.d.ts +3 -26
  56. package/dist/components/floating/useHoverDisclosure.d.ts +2 -0
  57. package/dist/components/input/input.d.ts +4 -1
  58. package/dist/components/input/types.d.ts +3 -1
  59. package/dist/components/modal/index.d.ts +1 -1
  60. package/dist/components/modal/modal.d.ts +3 -1
  61. package/dist/components/modal/types.d.ts +3 -0
  62. package/dist/components/modal/useModal.d.ts +7 -4
  63. package/dist/components/number-input/types.d.ts +3 -1
  64. package/dist/components/number-input/useNumberInput.d.ts +2 -1
  65. package/dist/components/popover/usePopover.d.ts +2 -2
  66. package/dist/components/radio/types.d.ts +17 -1
  67. package/dist/components/radio/useRadio.d.ts +3 -0
  68. package/dist/components/select/select.d.ts +4 -1
  69. package/dist/components/select/types.d.ts +6 -1
  70. package/dist/components/select/useSelect.d.ts +3 -2
  71. package/dist/components/slider/index.d.ts +1 -1
  72. package/dist/components/slider/range-slider.d.ts +3 -3
  73. package/dist/components/slider/types.d.ts +11 -3
  74. package/dist/components/slider/useRangeSlider.d.ts +1 -1
  75. package/dist/components/slider/useSlider.d.ts +1 -1
  76. package/dist/components/switch/types.d.ts +5 -1
  77. package/dist/components/switch/useSwitch.d.ts +1 -1
  78. package/dist/components/teleport-provider/index.d.ts +1 -0
  79. package/dist/components/teleport-provider/index.js +2 -1
  80. package/dist/components/teleport-provider/useTeleportTarget.d.ts +4 -3
  81. package/dist/components/textarea/types.d.ts +4 -1
  82. package/dist/components/textarea/useTextarea.d.ts +1 -1
  83. package/dist/components/toast/index.d.ts +2 -1
  84. package/dist/components/toast/index.js +2 -2
  85. package/dist/components/toast/toast-store.d.ts +2 -0
  86. package/dist/components/toast/types.d.ts +10 -4
  87. package/dist/components/toast/useToast.d.ts +2 -2
  88. package/dist/components/tooltip/useTooltip.d.ts +3 -3
  89. package/dist/composables/useOverlayLayer.d.ts +32 -0
  90. package/dist/dialog.js +510 -0
  91. package/dist/dropdown-menu.css +4 -5
  92. package/dist/dropdown-menu.js +1155 -886
  93. package/dist/floating.js +403 -0
  94. package/dist/index.d.ts +1 -0
  95. package/dist/index.js +7 -4
  96. package/dist/input.css +24 -24
  97. package/dist/input.js +21 -11
  98. package/dist/legacy-unlayered.css +424 -503
  99. package/dist/modal.css +28 -28
  100. package/dist/modal.js +141 -200
  101. package/dist/number-input.css +20 -20
  102. package/dist/number-input.js +44 -16
  103. package/dist/popover.css +4 -4
  104. package/dist/popover.js +29 -40
  105. package/dist/radio.css +18 -18
  106. package/dist/radio.js +96 -18
  107. package/dist/select.css +54 -43
  108. package/dist/select.js +185 -67
  109. package/dist/slider.css +183 -202
  110. package/dist/slider.js +138 -37
  111. package/dist/switch.css +17 -17
  112. package/dist/switch.js +31 -13
  113. package/dist/textarea.css +26 -26
  114. package/dist/textarea.js +19 -9
  115. package/dist/toast.js +110 -99
  116. package/dist/tooltip.css +5 -80
  117. package/dist/tooltip.js +11 -3
  118. package/dist/useControlState.js +4 -0
  119. package/dist/useFloatingPosition.js +86 -39
  120. package/dist/useFormControl.js +107 -0
  121. package/dist/useOverlayLayer.js +262 -0
  122. package/dist/useTeleportTarget.js +21 -10
  123. package/docs/public-floating-api.md +159 -0
  124. package/docs/public-styles-api.md +2 -1
  125. package/package.json +10 -6
  126. package/dist/useClickOutside.js +0 -24
@@ -0,0 +1,25 @@
1
+ import { DropdownMenuItemValue, DropdownMenuRadioGroupPrimitiveProps } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuRadioGroupPrimitiveProps & {
4
+ "onUpdate:modelValue"?: ((value: DropdownMenuItemValue) => any) | undefined;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: {}) => void;
9
+ attrs: any;
10
+ slots: {
11
+ default?(props: {
12
+ value: DropdownMenuItemValue | null;
13
+ }): unknown;
14
+ };
15
+ emit: (evt: "update:modelValue", value: DropdownMenuItemValue) => void;
16
+ }>) => import('vue').VNode & {
17
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
18
+ };
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
21
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
22
+ [K in keyof T]: T[K];
23
+ } : {
24
+ [K in keyof T as K]: T[K];
25
+ }) & {};
@@ -0,0 +1,23 @@
1
+ import { DropdownMenuItemPrimitiveSlotProps, DropdownMenuRadioItemPrimitiveProps, DropdownMenuSelectEvent } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuRadioItemPrimitiveProps & {
4
+ onSelect?: ((event: DropdownMenuSelectEvent) => any) | undefined;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: {}) => void;
9
+ attrs: any;
10
+ slots: {
11
+ default?(props: DropdownMenuItemPrimitiveSlotProps): unknown;
12
+ };
13
+ emit: (evt: "select", event: DropdownMenuSelectEvent) => void;
14
+ }>) => import('vue').VNode & {
15
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
16
+ };
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
20
+ [K in keyof T]: T[K];
21
+ } : {
22
+ [K in keyof T as K]: T[K];
23
+ }) & {};
@@ -0,0 +1,30 @@
1
+ import { DropdownMenuCloseOptions, DropdownMenuFocusTarget, DropdownMenuOpenOptions, DropdownMenuPoint, DropdownMenuRootPrimitiveProps, DropdownMenuRootSlotProps } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuRootPrimitiveProps & {
4
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: import('vue').ShallowUnwrapRef<{
9
+ open: (options?: DropdownMenuOpenOptions | DropdownMenuFocusTarget) => void;
10
+ close: (options?: DropdownMenuCloseOptions & {
11
+ returnFocus?: boolean;
12
+ }) => void;
13
+ toggle: () => void;
14
+ openAt: (point: DropdownMenuPoint, options?: DropdownMenuOpenOptions | DropdownMenuFocusTarget) => void;
15
+ }>) => void;
16
+ attrs: any;
17
+ slots: {
18
+ default?(props: DropdownMenuRootSlotProps): unknown;
19
+ };
20
+ emit: (evt: "update:open", value: boolean) => void;
21
+ }>) => import('vue').VNode & {
22
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
23
+ };
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
27
+ [K in keyof T]: T[K];
28
+ } : {
29
+ [K in keyof T as K]: T[K];
30
+ }) & {};
@@ -0,0 +1,19 @@
1
+ import { DropdownMenuSeparatorPrimitiveProps } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuSeparatorPrimitiveProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {};
9
+ emit: {};
10
+ }>) => import('vue').VNode & {
11
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
12
+ };
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
16
+ [K in keyof T]: T[K];
17
+ } : {
18
+ [K in keyof T as K]: T[K];
19
+ }) & {};
@@ -0,0 +1,34 @@
1
+ import { DropdownMenuInteractOutsideEvent, DropdownMenuPlacement, DropdownMenuSubContentPrimitiveProps } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuSubContentPrimitiveProps & {
4
+ onEscapeKeyDown?: ((event: CustomEvent<{
5
+ originalEvent: KeyboardEvent;
6
+ }>) => any) | undefined;
7
+ onPointerDownOutside?: ((event: DropdownMenuInteractOutsideEvent) => any) | undefined;
8
+ onFocusOutside?: ((event: DropdownMenuInteractOutsideEvent) => any) | undefined;
9
+ onInteractOutside?: ((event: DropdownMenuInteractOutsideEvent) => any) | undefined;
10
+ }> & (typeof globalThis extends {
11
+ __VLS_PROPS_FALLBACK: infer P;
12
+ } ? P : {});
13
+ expose: (exposed: {}) => void;
14
+ attrs: any;
15
+ slots: {
16
+ default?(props: {
17
+ isOpen: boolean;
18
+ placement: DropdownMenuPlacement;
19
+ close: () => void;
20
+ }): unknown;
21
+ };
22
+ emit: ((evt: "escapeKeyDown", event: CustomEvent<{
23
+ originalEvent: KeyboardEvent;
24
+ }>) => void) & ((evt: "pointerDownOutside", event: DropdownMenuInteractOutsideEvent) => void) & ((evt: "focusOutside", event: DropdownMenuInteractOutsideEvent) => void) & ((evt: "interactOutside", event: DropdownMenuInteractOutsideEvent) => void);
25
+ }>) => import('vue').VNode & {
26
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
27
+ };
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
31
+ [K in keyof T]: T[K];
32
+ } : {
33
+ [K in keyof T as K]: T[K];
34
+ }) & {};
@@ -0,0 +1,28 @@
1
+ import { OpenFocusTarget } from './dropdown-menu-primitive-core.js';
2
+ import { DropdownMenuSubTriggerPrimitiveProps } from './types.js';
3
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuSubTriggerPrimitiveProps> & (typeof globalThis extends {
5
+ __VLS_PROPS_FALLBACK: infer P;
6
+ } ? P : {});
7
+ expose: (exposed: {}) => void;
8
+ attrs: any;
9
+ slots: {
10
+ default?(props: {
11
+ focused: boolean;
12
+ disabled: boolean;
13
+ isOpen: boolean;
14
+ open: (focus?: OpenFocusTarget) => void;
15
+ close: (focusParent?: boolean) => void;
16
+ }): unknown;
17
+ };
18
+ emit: {};
19
+ }>) => import('vue').VNode & {
20
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
21
+ };
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
25
+ [K in keyof T]: T[K];
26
+ } : {
27
+ [K in keyof T as K]: T[K];
28
+ }) & {};
@@ -0,0 +1,28 @@
1
+ import { OpenFocusTarget } from './dropdown-menu-primitive-core.js';
2
+ import { DropdownMenuSubPrimitiveProps } from './types.js';
3
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuSubPrimitiveProps & {
5
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
6
+ }> & (typeof globalThis extends {
7
+ __VLS_PROPS_FALLBACK: infer P;
8
+ } ? P : {});
9
+ expose: (exposed: {}) => void;
10
+ attrs: any;
11
+ slots: {
12
+ default?(props: {
13
+ isOpen: boolean;
14
+ open: (focus?: OpenFocusTarget) => void;
15
+ close: (focusParent?: boolean) => void;
16
+ }): unknown;
17
+ };
18
+ emit: (evt: "update:open", value: boolean) => void;
19
+ }>) => import('vue').VNode & {
20
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
21
+ };
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
25
+ [K in keyof T]: T[K];
26
+ } : {
27
+ [K in keyof T as K]: T[K];
28
+ }) & {};
@@ -0,0 +1,23 @@
1
+ import { DropdownMenuTriggerPrimitiveProps } from './types.js';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuTriggerPrimitiveProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?(props: {
10
+ isOpen: boolean;
11
+ }): unknown;
12
+ };
13
+ emit: {};
14
+ }>) => import('vue').VNode & {
15
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
16
+ };
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
20
+ [K in keyof T]: T[K];
21
+ } : {
22
+ [K in keyof T as K]: T[K];
23
+ }) & {};
@@ -1,8 +1,11 @@
1
- import { DropdownMenuItem, DropdownMenuItemSlotProps, DropdownMenuProps, DropdownMenuSelectEvent, DropdownMenuSlotProps } from './types.js';
1
+ import { DropdownMenuItem, DropdownMenuItemSlotProps, DropdownMenuInteractOutsideEvent, DropdownMenuProps, DropdownMenuSelectEvent, DropdownMenuSlotProps } from './types.js';
2
2
  declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import('vue').PublicProps & __VLS_PrettifyLocal<DropdownMenuProps & {
4
4
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
5
5
  onSelect?: ((item: DropdownMenuItem, event: DropdownMenuSelectEvent) => any) | undefined;
6
+ onPointerDownOutside?: ((event: DropdownMenuInteractOutsideEvent) => any) | undefined;
7
+ onFocusOutside?: ((event: DropdownMenuInteractOutsideEvent) => any) | undefined;
8
+ onInteractOutside?: ((event: DropdownMenuInteractOutsideEvent) => any) | undefined;
6
9
  }> & (typeof globalThis extends {
7
10
  __VLS_PROPS_FALLBACK: infer P;
8
11
  } ? P : {});
@@ -13,7 +16,7 @@ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup
13
16
  item?(props: DropdownMenuItemSlotProps): unknown;
14
17
  empty?(): unknown;
15
18
  };
16
- emit: ((evt: "update:open", value: boolean) => void) & ((evt: "select", item: DropdownMenuItem, event: DropdownMenuSelectEvent) => void);
19
+ emit: ((evt: "update:open", value: boolean) => void) & ((evt: "select", item: DropdownMenuItem, event: DropdownMenuSelectEvent) => void) & ((evt: "pointerDownOutside", event: DropdownMenuInteractOutsideEvent) => void) & ((evt: "focusOutside", event: DropdownMenuInteractOutsideEvent) => void) & ((evt: "interactOutside", event: DropdownMenuInteractOutsideEvent) => void);
17
20
  }>) => import('vue').VNode & {
18
21
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
19
22
  };
@@ -2,54 +2,33 @@ import { DropdownMenuItem as DropdownMenuDataItem } from './types.js';
2
2
  export { default as DropdownMenu } from './dropdown-menu.js';
3
3
  export { dropdownMenuParts } from './types.js';
4
4
  export { DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from './dropdown-menu-primitives.js';
5
- export declare const DropdownMenuItem: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
6
- id: StringConstructor;
7
- as: {
8
- type: import('vue').PropType<import('./types.js').DropdownMenuAs>;
9
- default: string;
10
- };
11
- value: import('vue').PropType<import('./types.js').DropdownMenuItemValue>;
12
- disabled: {
13
- type: BooleanConstructor;
14
- default: boolean;
15
- };
16
- destructive: {
17
- type: BooleanConstructor;
18
- default: boolean;
19
- };
20
- closeOnSelect: {
21
- type: BooleanConstructor;
22
- default: boolean;
23
- };
24
- }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
25
- [key: string]: any;
26
- }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "select"[], "select", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
27
- id: StringConstructor;
28
- as: {
29
- type: import('vue').PropType<import('./types.js').DropdownMenuAs>;
30
- default: string;
31
- };
32
- value: import('vue').PropType<import('./types.js').DropdownMenuItemValue>;
33
- disabled: {
34
- type: BooleanConstructor;
35
- default: boolean;
36
- };
37
- destructive: {
38
- type: BooleanConstructor;
39
- default: boolean;
40
- };
41
- closeOnSelect: {
42
- type: BooleanConstructor;
43
- default: boolean;
44
- };
45
- }>> & Readonly<{
46
- onSelect?: ((...args: any[]) => any) | undefined;
47
- }>, {
48
- disabled: boolean;
49
- as: import('./types.js').DropdownMenuAs;
50
- closeOnSelect: boolean;
51
- destructive: boolean;
52
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
5
+ export declare const DropdownMenuItem: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
6
+ attrs: any;
7
+ emit: (evt: "select", event: import('./types.js').DropdownMenuSelectEvent) => void;
8
+ slots: {
9
+ default?(props: import('./types.js').DropdownMenuItemPrimitiveSlotProps): unknown;
10
+ };
11
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
12
+ props: import('vue').PublicProps & {
13
+ id?: string | undefined;
14
+ as?: import('./types.js').DropdownMenuAs | undefined;
15
+ value?: import('./types.js').DropdownMenuItemValue | undefined;
16
+ disabled?: boolean | undefined;
17
+ destructive?: boolean | undefined;
18
+ closeOnSelect?: boolean | undefined;
19
+ onSelect?: ((event: import('./types.js').DropdownMenuSelectEvent) => any) | undefined;
20
+ } & (typeof globalThis extends {
21
+ __VLS_PROPS_FALLBACK: infer P;
22
+ } ? P : {});
23
+ expose: (exposed: {}) => void;
24
+ attrs: any;
25
+ slots: {
26
+ default?(props: import('./types.js').DropdownMenuItemPrimitiveSlotProps): unknown;
27
+ };
28
+ emit: (evt: "select", event: import('./types.js').DropdownMenuSelectEvent) => void;
29
+ }>) => import('vue').VNode & {
30
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
31
+ };
53
32
  export type DropdownMenuItem = DropdownMenuDataItem;
54
33
  export { useDropdownMenu } from './useDropdownMenu.js';
55
- export type { DropdownMenuAs, DropdownMenuCheckedState, DropdownMenuCollisionPadding, DropdownMenuCheckboxItemPrimitiveProps, DropdownMenuCloseOptions, DropdownMenuContentPrimitiveProps, DropdownMenuContentProps, DropdownMenuContextTriggerPrimitiveProps, DropdownMenuFocusTarget, DropdownMenuInteractOutsideDetail, DropdownMenuInteractOutsideEvent, DropdownMenuItemIndicatorPrimitiveProps, DropdownMenuItemPath, DropdownMenuItemPrimitiveProps, DropdownMenuItemPrimitiveSlotProps, DropdownMenuItemProps, DropdownMenuItemSlotProps, DropdownMenuItemValue, DropdownMenuLabelPrimitiveProps, DropdownMenuOffset, DropdownMenuOffsetOptions, DropdownMenuOpenOptions, DropdownMenuPart, DropdownMenuPlacement, DropdownMenuPoint, DropdownMenuPortalPrimitiveProps, DropdownMenuProps, DropdownMenuRadioGroupPrimitiveProps, DropdownMenuRadioItemPrimitiveProps, DropdownMenuRenderedItem, DropdownMenuRootPrimitiveProps, DropdownMenuRootSlotProps, DropdownMenuSelectDetail, DropdownMenuSelectEvent, DropdownMenuSeparatorPrimitiveProps, DropdownMenuSlotProps, DropdownMenuSubContentPrimitiveProps, DropdownMenuSubPrimitiveProps, DropdownMenuSubmenuProps, DropdownMenuSubTriggerPrimitiveProps, DropdownMenuStrategy, DropdownMenuTarget, DropdownMenuTriggerPrimitiveProps, DropdownMenuTriggerProps, DropdownMenuVirtualAnchor, } from './types.js';
34
+ export type { DropdownMenuAs, DropdownMenuCheckedState, DropdownMenuCollisionPadding, DropdownMenuCheckboxItemPrimitiveProps, DropdownMenuCloseOptions, DropdownMenuContentPrimitiveProps, DropdownMenuContentProps, DropdownMenuContextTriggerPrimitiveProps, DropdownMenuFocusTarget, DropdownMenuInteractOutsideDetail, DropdownMenuInteractOutsideEvent, DropdownMenuInteractOutsideTarget, DropdownMenuItemIndicatorPrimitiveProps, DropdownMenuItemPath, DropdownMenuItemPrimitiveProps, DropdownMenuItemPrimitiveSlotProps, DropdownMenuItemProps, DropdownMenuItemSlotProps, DropdownMenuItemValue, DropdownMenuLabelPrimitiveProps, DropdownMenuOffset, DropdownMenuOffsetOptions, DropdownMenuOpenOptions, DropdownMenuPart, DropdownMenuPlacement, DropdownMenuPoint, DropdownMenuPortalPrimitiveProps, DropdownMenuProps, DropdownMenuRadioGroupPrimitiveProps, DropdownMenuRadioItemPrimitiveProps, DropdownMenuRenderedItem, DropdownMenuRootPrimitiveProps, DropdownMenuRootSlotProps, DropdownMenuSelectDetail, DropdownMenuSelectEvent, DropdownMenuSeparatorPrimitiveProps, DropdownMenuSlotProps, DropdownMenuSubContentPrimitiveProps, DropdownMenuSubPrimitiveProps, DropdownMenuSubmenuProps, DropdownMenuSubTriggerPrimitiveProps, DropdownMenuStrategy, DropdownMenuTarget, DropdownMenuTriggerPrimitiveProps, DropdownMenuTriggerProps, DropdownMenuVirtualAnchor, } from './types.js';
@@ -1,2 +1,2 @@
1
- import { _ as DropdownMenuSubTrigger, a as DropdownMenuCheckboxItem, c as DropdownMenuItemIndicator, d as DropdownMenuRadioGroup, f as DropdownMenuRadioItem, g as DropdownMenuSubContent, h as DropdownMenuSub, i as useDropdownMenu, l as DropdownMenuLabel, m as DropdownMenuSeparator, n as dropdownMenuParts, o as DropdownMenuContent, p as DropdownMenuRoot, r as dropdown_menu_default, s as DropdownMenuContextTrigger, t as DropdownMenuItem, u as DropdownMenuPortal, v as DropdownMenuTrigger } from "../../dropdown-menu.js";
2
- export { dropdown_menu_default as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuItem, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, dropdownMenuParts, useDropdownMenu };
1
+ import { _ as dropdown_menu_content_default, a as dropdown_menu_trigger_default, c as dropdown_menu_sub_default, d as dropdown_menu_radio_item_default, f as dropdown_menu_radio_group_default, g as dropdown_menu_context_trigger_default, h as dropdown_menu_item_indicator_default, i as useDropdownMenu, l as dropdown_menu_separator_default, m as dropdown_menu_label_default, n as dropdownMenuParts, o as dropdown_menu_sub_trigger_default, p as dropdown_menu_portal_default, r as dropdown_menu_default, s as dropdown_menu_sub_content_default, t as DropdownMenuItem, u as dropdown_menu_root_default, v as dropdown_menu_checkbox_item_default } from "../../dropdown-menu.js";
2
+ export { dropdown_menu_default as DropdownMenu, dropdown_menu_checkbox_item_default as DropdownMenuCheckboxItem, dropdown_menu_content_default as DropdownMenuContent, dropdown_menu_context_trigger_default as DropdownMenuContextTrigger, DropdownMenuItem, dropdown_menu_item_indicator_default as DropdownMenuItemIndicator, dropdown_menu_label_default as DropdownMenuLabel, dropdown_menu_portal_default as DropdownMenuPortal, dropdown_menu_radio_group_default as DropdownMenuRadioGroup, dropdown_menu_radio_item_default as DropdownMenuRadioItem, dropdown_menu_root_default as DropdownMenuRoot, dropdown_menu_separator_default as DropdownMenuSeparator, dropdown_menu_sub_default as DropdownMenuSub, dropdown_menu_sub_content_default as DropdownMenuSubContent, dropdown_menu_sub_trigger_default as DropdownMenuSubTrigger, dropdown_menu_trigger_default as DropdownMenuTrigger, dropdownMenuParts, useDropdownMenu };
@@ -1,6 +1,6 @@
1
- import { Component, HTMLAttributes } from 'vue';
1
+ import { Component, HTMLAttributes, Ref } from 'vue';
2
2
  import { StylesApiProps } from '../../styles-api.js';
3
- import { FloatingCollisionPadding, FloatingOffset, FloatingOffsetOptions, FloatingPositionProps, FloatingStrategy, FloatingTarget, FloatingVirtualElement, TeleportProps } from '../floating/types.js';
3
+ import { FloatingAutoUpdateOptions, FloatingCollisionPadding, FloatingFlipOptions, FloatingOffset, FloatingOffsetOptions, FloatingPositionProps, FloatingStrategy, FloatingTarget, FloatingVirtualElement, TeleportProps } from '../floating/types.js';
4
4
  export declare const dropdownMenuParts: readonly ["root", "trigger", "content", "item", "label", "shortcut", "submenu", "submenuIndicator", "empty"];
5
5
  export type DropdownMenuPart = (typeof dropdownMenuParts)[number];
6
6
  export type DropdownMenuPlacement = 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end';
@@ -113,6 +113,7 @@ export interface DropdownMenuProps extends FloatingPositionProps<DropdownMenuPla
113
113
  closeOnSelect?: boolean;
114
114
  ariaLabel?: string;
115
115
  modal?: boolean;
116
+ ignore?: readonly DropdownMenuInteractOutsideTarget[];
116
117
  /** @deprecated Use `teleport` instead. */
117
118
  portal?: boolean;
118
119
  /** @deprecated Use `teleportTo` instead. */
@@ -134,6 +135,7 @@ export interface DropdownMenuInteractOutsideDetail {
134
135
  originalEvent: Event;
135
136
  }
136
137
  export type DropdownMenuInteractOutsideEvent = CustomEvent<DropdownMenuInteractOutsideDetail>;
138
+ export type DropdownMenuInteractOutsideTarget = string | Element | null | undefined | Readonly<Ref<Element | null | undefined>>;
137
139
  export type DropdownMenuOffsetOptions = FloatingOffsetOptions;
138
140
  export type DropdownMenuOffset = FloatingOffset;
139
141
  export interface DropdownMenuRootPrimitiveProps {
@@ -175,12 +177,15 @@ export interface DropdownMenuContentPrimitiveProps {
175
177
  offset?: DropdownMenuOffset;
176
178
  strategy?: FloatingStrategy;
177
179
  flip?: boolean;
180
+ flipOptions?: FloatingFlipOptions;
178
181
  shift?: boolean;
179
182
  collisionPadding?: FloatingCollisionPadding;
183
+ autoUpdateOptions?: FloatingAutoUpdateOptions;
180
184
  arrow?: boolean;
181
185
  /** @deprecated Use `flip` and `shift` instead. */
182
186
  avoidCollisions?: boolean;
183
187
  forceMount?: boolean;
188
+ ignore?: readonly DropdownMenuInteractOutsideTarget[];
184
189
  ariaLabel?: string;
185
190
  ariaLabelledby?: string;
186
191
  ariaDescribedby?: string;
@@ -235,6 +240,6 @@ export interface DropdownMenuSubTriggerPrimitiveProps {
235
240
  as?: DropdownMenuAs;
236
241
  disabled?: boolean;
237
242
  }
238
- export interface DropdownMenuSubContentPrimitiveProps extends Omit<DropdownMenuContentPrimitiveProps, 'arrow' | 'placement'> {
243
+ export interface DropdownMenuSubContentPrimitiveProps extends Omit<DropdownMenuContentPrimitiveProps, 'arrow' | 'ignore' | 'placement'> {
239
244
  placement?: DropdownMenuPlacement;
240
245
  }
@@ -1,7 +1,11 @@
1
- import { DropdownMenuContentProps, DropdownMenuItem, DropdownMenuProps, DropdownMenuSelectEvent, DropdownMenuSlotProps, DropdownMenuTriggerProps } from './types.js';
1
+ import { CSSProperties } from 'vue';
2
+ import { DropdownMenuContentProps, DropdownMenuInteractOutsideEvent, DropdownMenuItem, DropdownMenuProps, DropdownMenuSelectEvent, DropdownMenuSlotProps, DropdownMenuTriggerProps } from './types.js';
2
3
  export declare function useDropdownMenu(props: Readonly<DropdownMenuProps>, emit?: {
3
4
  openChange?: (open: boolean) => void;
4
5
  select?: (item: DropdownMenuItem, event: DropdownMenuSelectEvent) => void;
6
+ pointerDownOutside?: (event: DropdownMenuInteractOutsideEvent) => void;
7
+ focusOutside?: (event: DropdownMenuInteractOutsideEvent) => void;
8
+ interactOutside?: (event: DropdownMenuInteractOutsideEvent) => void;
5
9
  }): {
6
10
  rootRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
7
11
  menuRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
@@ -17,9 +21,9 @@ export declare function useDropdownMenu(props: Readonly<DropdownMenuProps>, emit
17
21
  activeDescendantId: import('vue').ComputedRef<string | undefined>;
18
22
  rootClass: import('vue').ComputedRef<string[]>;
19
23
  contentClass: import('vue').ComputedRef<string[]>;
20
- contentStyle: import('vue').Ref<import('vue').CSSProperties, import('vue').CSSProperties>;
21
- arrowStyle: import('vue').Ref<import('vue').CSSProperties | undefined, import('vue').CSSProperties | undefined>;
22
- actualPlacement: import('vue').Ref<import('./types.js').DropdownMenuPlacement, import('./types.js').DropdownMenuPlacement>;
24
+ contentStyle: import('vue').ComputedRef<CSSProperties>;
25
+ arrowStyle: Readonly<import('vue').Ref<CSSProperties | undefined, CSSProperties | undefined>>;
26
+ actualPlacement: Readonly<import('vue').Ref<import('../floating/index.js').FloatingPlacement, import('../floating/index.js').FloatingPlacement>>;
23
27
  placementSide: import('vue').ComputedRef<string>;
24
28
  isTargetMode: import('vue').ComputedRef<boolean>;
25
29
  teleportTo: import('vue').ComputedRef<import('../floating/index.js').TeleportTargetValue>;
@@ -1,5 +1,6 @@
1
1
  import { Ref } from 'vue';
2
- import { DropdownMenuCloseOptions, DropdownMenuFocusTarget, DropdownMenuItem, DropdownMenuOpenOptions, DropdownMenuProps, DropdownMenuSelectEvent } from './types.js';
2
+ import { OverlayLayerContext } from '../../composables/useOverlayLayer.js';
3
+ import { DropdownMenuCloseOptions, DropdownMenuFocusTarget, DropdownMenuInteractOutsideEvent, DropdownMenuItem, DropdownMenuOpenOptions, DropdownMenuProps, DropdownMenuSelectEvent } from './types.js';
3
4
  import { ItemPath } from './dropdown-menu-utils.js';
4
5
  type BooleanSource = Readonly<Ref<boolean>>;
5
6
  type UseDropdownMenuDisclosureOptions = {
@@ -7,6 +8,9 @@ type UseDropdownMenuDisclosureOptions = {
7
8
  emit: {
8
9
  openChange?: (open: boolean) => void;
9
10
  select?: (item: DropdownMenuItem, event: DropdownMenuSelectEvent) => void;
11
+ pointerDownOutside?: (event: DropdownMenuInteractOutsideEvent) => void;
12
+ focusOutside?: (event: DropdownMenuInteractOutsideEvent) => void;
13
+ interactOutside?: (event: DropdownMenuInteractOutsideEvent) => void;
10
14
  };
11
15
  rootRef: Ref<HTMLElement | null>;
12
16
  menuRef: Ref<HTMLElement | null>;
@@ -22,8 +26,9 @@ type UseDropdownMenuDisclosureOptions = {
22
26
  focusItem: (target: DropdownMenuFocusTarget, menuPath?: ItemPath) => boolean;
23
27
  focusMenu: () => void;
24
28
  focusTrigger: () => void;
29
+ layer: OverlayLayerContext;
25
30
  };
26
- export declare function useDropdownMenuDisclosure({ props, emit, rootRef, menuRef, targetRef, uncontrolledOpen, isDisabled, isOpen, isVisible, focusedPath, resetFocus, resetSubmenus, resetHoverIntent, focusItem, focusMenu, focusTrigger, }: UseDropdownMenuDisclosureOptions): {
31
+ export declare function useDropdownMenuDisclosure({ props, emit, rootRef, menuRef, targetRef, uncontrolledOpen, isDisabled, isOpen, isVisible, focusedPath, resetFocus, resetSubmenus, resetHoverIntent, focusItem, focusMenu, focusTrigger, layer, }: UseDropdownMenuDisclosureOptions): {
27
32
  open: (options?: DropdownMenuOpenOptions | DropdownMenuFocusTarget) => void;
28
33
  close: (options?: DropdownMenuCloseOptions) => void;
29
34
  toggle: () => void;
@@ -12,8 +12,8 @@ export declare function useDropdownMenuPortalPosition(options: {
12
12
  placement: PlacementSource;
13
13
  restartKey: () => unknown;
14
14
  }): {
15
- actualPlacement: Ref<DropdownMenuPlacement, DropdownMenuPlacement>;
16
- arrowStyle: Ref<import('vue').CSSProperties | undefined, import('vue').CSSProperties | undefined>;
17
- contentStyle: Ref<import('vue').CSSProperties, import('vue').CSSProperties>;
15
+ actualPlacement: Readonly<Ref<import('../floating/index.js').FloatingPlacement, import('../floating/index.js').FloatingPlacement>>;
16
+ arrowStyle: Readonly<Ref<import('vue').CSSProperties | undefined, import('vue').CSSProperties | undefined>>;
17
+ contentStyle: Readonly<Ref<import('vue').CSSProperties, import('vue').CSSProperties>>;
18
18
  };
19
19
  export {};
@@ -0,0 +1,27 @@
1
+ import { ComponentRefValue } from './dropdown-menu-primitive-core.js';
2
+ import { DropdownMenuContentPrimitiveProps, DropdownMenuInteractOutsideEvent, DropdownMenuPlacement } from './types.js';
3
+ type ContentProps = Readonly<DropdownMenuContentPrimitiveProps>;
4
+ type ContentEvents = {
5
+ escapeKeyDown: (event: CustomEvent<{
6
+ originalEvent: KeyboardEvent;
7
+ }>) => void;
8
+ pointerDownOutside: (event: DropdownMenuInteractOutsideEvent) => void;
9
+ focusOutside: (event: DropdownMenuInteractOutsideEvent) => void;
10
+ interactOutside: (event: DropdownMenuInteractOutsideEvent) => void;
11
+ };
12
+ export declare function useDropdownMenuPrimitiveContent(props: ContentProps, attrs: Record<string, unknown>, events: ContentEvents, submenu: boolean): {
13
+ id: import('vue').ComputedRef<string>;
14
+ element: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
15
+ arrowElement: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
16
+ actualPlacement: import('vue').Ref<DropdownMenuPlacement, DropdownMenuPlacement>;
17
+ isOpen: import('vue').ComputedRef<boolean>;
18
+ shouldRender: import('vue').ComputedRef<boolean>;
19
+ placementSide: import('vue').ComputedRef<string>;
20
+ rootAttrs: import('vue').ComputedRef<{
21
+ [x: string]: unknown;
22
+ }>;
23
+ floating: import('../floating/index.js').UseFloatingPositionReturn;
24
+ setElement: (value: ComponentRefValue) => void;
25
+ close: () => void;
26
+ };
27
+ export {};
@@ -33,8 +33,10 @@ export interface DropdownMenuRenderContext {
33
33
  getSubmenuPlacement: () => DropdownMenuPlacement;
34
34
  getStrategy: () => NonNullable<DropdownMenuProps['strategy']>;
35
35
  getFlip: () => boolean;
36
+ getFlipOptions: () => DropdownMenuProps['flipOptions'];
36
37
  getShift: () => boolean;
37
38
  getCollisionPadding: () => NonNullable<DropdownMenuProps['collisionPadding']>;
39
+ getAutoUpdateOptions: () => DropdownMenuProps['autoUpdateOptions'];
38
40
  }
39
41
  export declare function useDropdownMenuRenderItems({ props, actualPlacement, items, getItemId, getSubmenuId, getMenuActiveDescendant, getItemElement, isItemFocused, isSubmenuOpen, activateItem, focusHoveredItem, selectItem, openSubmenu, closeSubmenu, close, }: UseDropdownMenuRenderItemsOptions): {
40
42
  renderedItems: import('vue').ComputedRef<DropdownMenuRenderedItem[]>;
@@ -1 +1,3 @@
1
- export type { FloatingAlignment, FloatingCollisionPadding, FloatingOffset, FloatingOffsetOptions, FloatingPlacement, FloatingPositionProps, FloatingReference, FloatingSide, FloatingStrategy, FloatingTarget, FloatingVirtualElement, TeleportProps, TeleportTarget, TeleportTargetValue, } from './types.js';
1
+ export { useHoverDisclosure } from './useHoverDisclosure.js';
2
+ export { useFloatingPosition } from './useFloatingPosition.js';
3
+ export type { FloatingAlignment, FloatingAutoUpdateOptions, FloatingCollisionPadding, FloatingFlipFallbackStrategy, FloatingFlipOptions, FloatingOffset, FloatingOffsetOptions, FloatingPlacement, FloatingPositionProps, FloatingReference, FloatingSide, FloatingStrategy, FloatingTarget, FloatingVirtualElement, HoverDisclosureContentProps, HoverDisclosureContentTarget, HoverDisclosureInteractionTarget, HoverDisclosureOpenChangeDetails, HoverDisclosureOpenChangeReason, HoverDisclosureOption, HoverDisclosureState, HoverDisclosureTouchBehavior, HoverDisclosureTriggerProps, TeleportProps, TeleportTarget, TeleportTargetValue, UseHoverDisclosureOptions, UseHoverDisclosureReturn, UseFloatingPositionOptions, UseFloatingPositionReturn, } from './types.js';
@@ -0,0 +1,3 @@
1
+ import { n as useFloatingPosition } from "../../useFloatingPosition.js";
2
+ import { t as useHoverDisclosure } from "../../floating.js";
3
+ export { useFloatingPosition, useHoverDisclosure };
@@ -1,5 +1,5 @@
1
1
  import { VirtualElement } from '@floating-ui/dom';
2
- import { Ref } from 'vue';
2
+ import { ComputedRef, CSSProperties, MaybeRefOrGetter, Ref } from 'vue';
3
3
  export type FloatingSide = 'top' | 'right' | 'bottom' | 'left';
4
4
  export type FloatingAlignment = 'start' | 'end';
5
5
  export type FloatingPlacement = FloatingSide | `${FloatingSide}-${FloatingAlignment}`;
@@ -10,6 +10,13 @@ export interface FloatingOffsetOptions {
10
10
  }
11
11
  export type FloatingOffset = number | FloatingOffsetOptions;
12
12
  export type FloatingCollisionPadding = number | Partial<Record<FloatingSide, number>>;
13
+ export type FloatingFlipFallbackStrategy = 'bestFit' | 'initialPlacement';
14
+ export interface FloatingFlipOptions {
15
+ fallbackStrategy?: FloatingFlipFallbackStrategy;
16
+ }
17
+ export interface FloatingAutoUpdateOptions {
18
+ animationFrame?: boolean;
19
+ }
13
20
  export type FloatingReference = Element | VirtualElement;
14
21
  export type FloatingTarget = string | FloatingReference | Ref<FloatingReference | null | undefined>;
15
22
  export interface FloatingPositionProps<TPlacement extends FloatingPlacement = FloatingPlacement> extends TeleportProps {
@@ -18,10 +25,34 @@ export interface FloatingPositionProps<TPlacement extends FloatingPlacement = Fl
18
25
  strategy?: FloatingStrategy;
19
26
  offset?: FloatingOffset;
20
27
  flip?: boolean;
28
+ flipOptions?: FloatingFlipOptions;
21
29
  shift?: boolean;
22
30
  collisionPadding?: FloatingCollisionPadding;
31
+ autoUpdateOptions?: FloatingAutoUpdateOptions;
23
32
  arrow?: boolean;
24
33
  }
34
+ export interface UseFloatingPositionOptions {
35
+ reference: MaybeRefOrGetter<FloatingReference | null | undefined>;
36
+ floating: MaybeRefOrGetter<HTMLElement | null | undefined>;
37
+ arrow?: MaybeRefOrGetter<HTMLElement | null | undefined>;
38
+ open?: MaybeRefOrGetter<boolean | undefined>;
39
+ placement?: MaybeRefOrGetter<FloatingPlacement | undefined>;
40
+ strategy?: MaybeRefOrGetter<FloatingStrategy | undefined>;
41
+ offset?: MaybeRefOrGetter<FloatingOffset | undefined>;
42
+ flip?: MaybeRefOrGetter<boolean | undefined>;
43
+ flipOptions?: MaybeRefOrGetter<FloatingFlipOptions | undefined>;
44
+ shift?: MaybeRefOrGetter<boolean | undefined>;
45
+ collisionPadding?: MaybeRefOrGetter<FloatingCollisionPadding | undefined>;
46
+ autoUpdateOptions?: MaybeRefOrGetter<FloatingAutoUpdateOptions | undefined>;
47
+ restartKey?: MaybeRefOrGetter<unknown>;
48
+ }
49
+ export interface UseFloatingPositionReturn {
50
+ actualPlacement: Readonly<Ref<FloatingPlacement>>;
51
+ arrowStyle: Readonly<Ref<CSSProperties | undefined>>;
52
+ floatingStyle: Readonly<Ref<CSSProperties>>;
53
+ isPositioned: Readonly<Ref<boolean>>;
54
+ update: () => Promise<void>;
55
+ }
25
56
  export type TeleportTargetValue = string | Element;
26
57
  export type TeleportTarget = TeleportTargetValue | Ref<TeleportTargetValue | null | undefined>;
27
58
  export interface TeleportProps {
@@ -29,3 +60,57 @@ export interface TeleportProps {
29
60
  teleportTo?: TeleportTarget | null;
30
61
  }
31
62
  export type FloatingVirtualElement = VirtualElement;
63
+ export type HoverDisclosureState = 'open' | 'closed';
64
+ export type HoverDisclosureTouchBehavior = 'none' | 'toggle';
65
+ export type HoverDisclosureOpenChangeReason = 'hover' | 'focus' | 'touch' | 'escape' | 'outside' | 'disabled' | 'programmatic';
66
+ export type HoverDisclosureOption<T> = MaybeRefOrGetter<T>;
67
+ export type HoverDisclosureInteractionTarget = string | FloatingReference;
68
+ export type HoverDisclosureContentTarget = string | Element;
69
+ export interface HoverDisclosureOpenChangeDetails {
70
+ reason: HoverDisclosureOpenChangeReason;
71
+ event?: Event;
72
+ }
73
+ export interface HoverDisclosureTriggerProps {
74
+ 'data-state': HoverDisclosureState;
75
+ onPointerenter: (event: PointerEvent) => void;
76
+ onPointerleave: (event: PointerEvent) => void;
77
+ onPointerdown: (event: PointerEvent) => void;
78
+ onPointerup: (event: PointerEvent) => void;
79
+ onPointercancel: (event: PointerEvent) => void;
80
+ onClick: (event: MouseEvent) => void;
81
+ onFocusin: (event: FocusEvent) => void;
82
+ onFocusout: (event: FocusEvent) => void;
83
+ onKeydown: (event: KeyboardEvent) => void;
84
+ }
85
+ export interface HoverDisclosureContentProps {
86
+ 'data-state': HoverDisclosureState;
87
+ onPointerenter: (event: PointerEvent) => void;
88
+ onPointerleave: (event: PointerEvent) => void;
89
+ onPointerdown: (event: PointerEvent) => void;
90
+ onFocusin: (event: FocusEvent) => void;
91
+ onFocusout: (event: FocusEvent) => void;
92
+ onKeydown: (event: KeyboardEvent) => void;
93
+ }
94
+ export interface UseHoverDisclosureOptions {
95
+ open?: HoverDisclosureOption<boolean | undefined>;
96
+ defaultOpen?: boolean;
97
+ openDelay?: HoverDisclosureOption<number | undefined>;
98
+ closeDelay?: HoverDisclosureOption<number | undefined>;
99
+ disabled?: HoverDisclosureOption<boolean | undefined>;
100
+ openOnFocus?: HoverDisclosureOption<boolean | undefined>;
101
+ closeOnEscape?: HoverDisclosureOption<boolean | undefined>;
102
+ touchBehavior?: HoverDisclosureOption<HoverDisclosureTouchBehavior | undefined>;
103
+ interactionTarget?: HoverDisclosureOption<HoverDisclosureInteractionTarget | null | undefined>;
104
+ contentTarget?: HoverDisclosureOption<HoverDisclosureContentTarget | null | undefined>;
105
+ onOpenChange?: (open: boolean, details: HoverDisclosureOpenChangeDetails) => void;
106
+ }
107
+ export interface UseHoverDisclosureReturn {
108
+ isOpen: ComputedRef<boolean>;
109
+ isDisabled: ComputedRef<boolean>;
110
+ state: ComputedRef<HoverDisclosureState>;
111
+ triggerProps: ComputedRef<HoverDisclosureTriggerProps>;
112
+ contentProps: ComputedRef<HoverDisclosureContentProps>;
113
+ open: () => void;
114
+ close: () => void;
115
+ toggle: () => void;
116
+ }