ropav 0.1.7 → 0.1.8

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 (153) hide show
  1. package/README.md +1 -1
  2. package/dist/ancestry.js +136 -0
  3. package/dist/calendar.css +173 -0
  4. package/dist/calendar.js +714 -0
  5. package/dist/calendar2.js +37 -0
  6. package/dist/chevron-left.js +12 -0
  7. package/dist/color-picker.js +38 -88
  8. package/dist/combobox.css +251 -0
  9. package/dist/combobox.js +410 -0
  10. package/dist/components/calendar/calendar.d.ts +30 -0
  11. package/dist/components/calendar/calendarBehavior.d.ts +49 -0
  12. package/dist/components/calendar/index.d.ts +3 -0
  13. package/dist/components/calendar/index.js +3 -0
  14. package/dist/components/calendar/types.d.ts +53 -0
  15. package/dist/components/calendar/useCalendar.d.ts +24 -0
  16. package/dist/components/color-picker/useColorPickerDrag.d.ts +1 -1
  17. package/dist/components/color-picker/useColorPickerSaturation.d.ts +1 -1
  18. package/dist/components/color-picker/useColorPickerSlider.d.ts +1 -1
  19. package/dist/components/combobox/combobox.d.ts +29 -0
  20. package/dist/components/combobox/comboboxModel.d.ts +4 -0
  21. package/dist/components/combobox/index.d.ts +3 -0
  22. package/dist/components/combobox/index.js +2 -0
  23. package/dist/components/combobox/types.d.ts +43 -0
  24. package/dist/components/combobox/useCombobox.d.ts +45 -0
  25. package/dist/components/date-picker/date-picker.d.ts +33 -0
  26. package/dist/components/date-picker/datePickerModel.d.ts +10 -0
  27. package/dist/components/date-picker/index.d.ts +4 -0
  28. package/dist/components/date-picker/index.js +2 -0
  29. package/dist/components/date-picker/types.d.ts +57 -0
  30. package/dist/components/date-picker/useDatePicker.d.ts +29 -0
  31. package/dist/components/date-picker/useDatePickerValueState.d.ts +21 -0
  32. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +2 -2
  33. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +2 -2
  34. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
  35. package/dist/components/dropdown-menu/dropdownMenuContext.d.ts +7 -18
  36. package/dist/components/dropdown-menu/dropdownMenuInteraction.d.ts +3 -3
  37. package/dist/components/dropdown-menu/dropdownMenuInteractionTypes.d.ts +58 -29
  38. package/dist/components/dropdown-menu/useDropdownMenuDataController.d.ts +4 -3
  39. package/dist/components/dropdown-menu/useDropdownMenuDataRegistration.d.ts +6 -4
  40. package/dist/components/dropdown-menu/useDropdownMenuPresentation.d.ts +3 -4
  41. package/dist/components/dropdown-menu/useDropdownMenuTargetBindings.d.ts +5 -5
  42. package/dist/components/dropzone/dropzone.d.ts +31 -0
  43. package/dist/components/dropzone/dropzoneModel.d.ts +16 -0
  44. package/dist/components/dropzone/index.d.ts +3 -0
  45. package/dist/components/dropzone/index.js +2 -0
  46. package/dist/components/dropzone/types.d.ts +56 -0
  47. package/dist/components/dropzone/useDropzone.d.ts +25 -0
  48. package/dist/components/file-input/file-input.d.ts +29 -0
  49. package/dist/components/file-input/index.d.ts +3 -0
  50. package/dist/components/file-input/index.js +2 -0
  51. package/dist/components/file-input/types.d.ts +37 -0
  52. package/dist/components/file-input/useFileInput.d.ts +15 -0
  53. package/dist/components/floating/index.js +1 -1
  54. package/dist/components/floating/useFloatingPosition.d.ts +1 -13
  55. package/dist/components/floating/useFloatingTargetLifecycle.d.ts +32 -0
  56. package/dist/components/floating/useHoverDisclosure.d.ts +10 -0
  57. package/dist/components/hover-card/hover-card.d.ts +25 -0
  58. package/dist/components/hover-card/index.d.ts +3 -0
  59. package/dist/components/hover-card/index.js +2 -0
  60. package/dist/components/hover-card/types.d.ts +45 -0
  61. package/dist/components/hover-card/useHoverCard.d.ts +22 -0
  62. package/dist/components/hover-card/useHoverCardDisclosure.d.ts +19 -0
  63. package/dist/components/multi-select/index.d.ts +3 -0
  64. package/dist/components/multi-select/index.js +2 -0
  65. package/dist/components/multi-select/multi-select.d.ts +30 -0
  66. package/dist/components/multi-select/multiSelectModel.d.ts +3 -0
  67. package/dist/components/multi-select/types.d.ts +49 -0
  68. package/dist/components/multi-select/useMultiSelect.d.ts +46 -0
  69. package/dist/components/number-input/useNumberInput.d.ts +1 -3
  70. package/dist/components/popover/usePopoverBindings.d.ts +3 -6
  71. package/dist/components/scroll-area/useScrollArea.d.ts +4 -4
  72. package/dist/components/scroll-area/useScrollAreaAttributes.d.ts +3 -3
  73. package/dist/components/scroll-area/useScrollAreaPointer.d.ts +1 -1
  74. package/dist/components/segmented-control/index.d.ts +3 -0
  75. package/dist/components/segmented-control/index.js +2 -0
  76. package/dist/components/segmented-control/segmented-control.d.ts +26 -0
  77. package/dist/components/segmented-control/types.d.ts +47 -0
  78. package/dist/components/segmented-control/useSegmentedControl.d.ts +15 -0
  79. package/dist/components/select/useSelect.d.ts +31 -19
  80. package/dist/components/slider/useRangeSlider.d.ts +1 -1
  81. package/dist/components/slider/useRangeSliderPointer.d.ts +1 -1
  82. package/dist/components/tags-input/index.d.ts +3 -0
  83. package/dist/components/tags-input/index.js +2 -0
  84. package/dist/components/tags-input/tags-input.d.ts +27 -0
  85. package/dist/components/tags-input/tagsInputModel.d.ts +12 -0
  86. package/dist/components/tags-input/types.d.ts +37 -0
  87. package/dist/components/tags-input/useTagsInput.d.ts +23 -0
  88. package/dist/components/tooltip/useTooltipTargetBindings.d.ts +12 -0
  89. package/dist/date-picker.css +49 -0
  90. package/dist/date-picker.js +809 -0
  91. package/dist/dialog.js +9 -20
  92. package/dist/direction.js +6 -0
  93. package/dist/dropdown-menu.css +21 -3
  94. package/dist/dropdown-menu.js +341 -261
  95. package/dist/dropzone.css +135 -0
  96. package/dist/dropzone.js +431 -0
  97. package/dist/file-input.css +135 -0
  98. package/dist/file-input.js +198 -0
  99. package/dist/hover-card.css +80 -0
  100. package/dist/hover-card.js +402 -0
  101. package/dist/index.d.ts +9 -0
  102. package/dist/index.js +14 -3
  103. package/dist/internal/composables/useOverlayLayer.d.ts +12 -0
  104. package/dist/modal.js +1 -1
  105. package/dist/multi-select.css +316 -0
  106. package/dist/multi-select.js +481 -0
  107. package/dist/nativeChoice.js +169 -0
  108. package/dist/number-input.css +18 -18
  109. package/dist/number-input.js +36 -38
  110. package/dist/pagination.js +1 -10
  111. package/dist/pointerSession.js +130 -0
  112. package/dist/popover.css +21 -3
  113. package/dist/popover.js +37 -62
  114. package/dist/scroll-area.js +52 -62
  115. package/dist/segmented-control.css +176 -0
  116. package/dist/segmented-control.js +382 -0
  117. package/dist/select.css +50 -48
  118. package/dist/select.js +121 -271
  119. package/dist/slider.js +70 -129
  120. package/dist/tags-input.css +197 -0
  121. package/dist/tags-input.js +380 -0
  122. package/dist/tooltip.js +35 -30
  123. package/dist/useEditableOptionList.js +216 -0
  124. package/dist/useFlatOptionCollection.js +134 -0
  125. package/dist/useFloatingPosition.js +4 -160
  126. package/dist/useFloatingTargetLifecycle.js +127 -0
  127. package/dist/useFormControl.js +1 -0
  128. package/dist/{floating.js → useHoverDisclosure.js} +338 -421
  129. package/dist/useNativeChoiceTransaction.js +46 -0
  130. package/dist/useNativeFileSelection.js +86 -0
  131. package/dist/useOverlayZIndex.js +246 -15
  132. package/dist/utils/date.d.ts +13 -0
  133. package/dist/utils/dateAvailability.d.ts +7 -0
  134. package/dist/utils/dom/ancestry.d.ts +1 -0
  135. package/dist/utils/dom/direction.d.ts +2 -0
  136. package/dist/utils/dom/files.d.ts +3 -0
  137. package/dist/utils/dom/nativeChoice.d.ts +17 -0
  138. package/dist/utils/dom/pointerSession.d.ts +20 -0
  139. package/dist/utils/dom/scroll.d.ts +2 -1
  140. package/dist/utils/optionFilter.d.ts +5 -0
  141. package/docs/public-floating-api.md +7 -4
  142. package/docs/public-styles-api.md +25 -12
  143. package/package.json +39 -3
  144. package/src/styles/_mixins.scss +26 -0
  145. package/src/styles/styles-manifest.json +1 -2
  146. package/dist/components/floating/hoverDisclosureInteractionModel.d.ts +0 -42
  147. package/dist/components/floating/useHoverDisclosureInteractions.d.ts +0 -32
  148. package/dist/components/floating/useHoverDisclosureOpenState.d.ts +0 -25
  149. package/dist/components/floating/useHoverDisclosureTargetBinding.d.ts +0 -27
  150. package/dist/components/select/useSelectNativeControl.d.ts +0 -9
  151. package/dist/components/select/useSelectNativeValue.d.ts +0 -9
  152. package/dist/pointer.js +0 -9
  153. package/dist/utils/dom/pointer.d.ts +0 -2
@@ -0,0 +1,31 @@
1
+ import { DropzoneFileRejection, DropzoneProps, DropzoneSelection, DropzoneSlotProps } 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<DropzoneProps & {
4
+ "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
5
+ onDrop?: ((selection: DropzoneSelection) => any) | undefined;
6
+ onReject?: ((rejections: DropzoneFileRejection[]) => any) | undefined;
7
+ }> & (typeof globalThis extends {
8
+ __VLS_PROPS_FALLBACK: infer P;
9
+ } ? P : {});
10
+ expose: (exposed: import('vue').ShallowUnwrapRef<{
11
+ nativeElement: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
12
+ rootElement: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
13
+ open: () => void;
14
+ clear: () => void;
15
+ focus: (options?: FocusOptions) => void;
16
+ }>) => void;
17
+ attrs: any;
18
+ slots: {
19
+ default?(props: DropzoneSlotProps): unknown;
20
+ };
21
+ emit: ((evt: "update:modelValue", files: File[]) => void) & ((evt: "drop", selection: DropzoneSelection) => void) & ((evt: "reject", rejections: DropzoneFileRejection[]) => void);
22
+ }>) => import('vue').VNode & {
23
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
24
+ };
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
27
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
28
+ [K in keyof T]: T[K];
29
+ } : {
30
+ [K in keyof T as K]: T[K];
31
+ }) & {};
@@ -0,0 +1,16 @@
1
+ import { DropzoneSelection } from './types.js';
2
+ interface DropzonePolicyOptions {
3
+ accept?: string;
4
+ multiple: boolean;
5
+ maxFiles?: number;
6
+ maxSize?: number;
7
+ }
8
+ interface DropzoneDragItem {
9
+ kind: string;
10
+ type: string;
11
+ }
12
+ export declare function createDropzonePolicy(options: Readonly<DropzonePolicyOptions>): {
13
+ preview(items: Iterable<DropzoneDragItem>): "accept" | "reject";
14
+ commit(files: Iterable<File>): DropzoneSelection;
15
+ };
16
+ export {};
@@ -0,0 +1,3 @@
1
+ export { default as Dropzone } from './dropzone.js';
2
+ export { dropzoneErrorCodes, dropzoneParts, dropzoneStatuses } from './types.js';
3
+ export type { DropzoneErrorCode, DropzoneFileError, DropzoneFileRejection, DropzonePart, DropzoneProps, DropzoneRadius, DropzoneSelection, DropzoneSize, DropzoneSlotProps, DropzoneStatus, } from './types.js';
@@ -0,0 +1,2 @@
1
+ import { i as dropzone_default, n as dropzoneParts, r as dropzoneStatuses, t as dropzoneErrorCodes } from "../../dropzone.js";
2
+ export { dropzone_default as Dropzone, dropzoneErrorCodes, dropzoneParts, dropzoneStatuses };
@@ -0,0 +1,56 @@
1
+ import { InputHTMLAttributes } from 'vue';
2
+ import { StylesApiProps } from '../../styles-api.js';
3
+ export declare const dropzoneParts: readonly ["root", "input", "content", "label", "description"];
4
+ export declare const dropzoneStatuses: readonly ["idle", "accept", "reject"];
5
+ export declare const dropzoneErrorCodes: readonly ["file-invalid-type", "file-too-large", "too-many-files"];
6
+ export type DropzonePart = (typeof dropzoneParts)[number];
7
+ export type DropzoneStatus = (typeof dropzoneStatuses)[number];
8
+ export type DropzoneErrorCode = (typeof dropzoneErrorCodes)[number];
9
+ export type DropzoneSize = 'sm' | 'md' | 'lg';
10
+ export type DropzoneRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
11
+ export interface DropzoneFileError {
12
+ code: DropzoneErrorCode;
13
+ message: string;
14
+ }
15
+ export interface DropzoneFileRejection {
16
+ file: File;
17
+ errors: DropzoneFileError[];
18
+ }
19
+ export interface DropzoneSelection {
20
+ acceptedFiles: File[];
21
+ rejections: DropzoneFileRejection[];
22
+ }
23
+ export interface DropzoneSlotProps {
24
+ files: File[];
25
+ rejections: DropzoneFileRejection[];
26
+ status: DropzoneStatus;
27
+ dragging: boolean;
28
+ open: () => void;
29
+ clear: () => void;
30
+ }
31
+ export interface DropzoneProps extends StylesApiProps<DropzonePart> {
32
+ id?: string;
33
+ name?: string;
34
+ form?: string;
35
+ modelValue?: File[];
36
+ accept?: string;
37
+ capture?: boolean | 'user' | 'environment';
38
+ multiple?: boolean;
39
+ maxFiles?: number;
40
+ maxSize?: number;
41
+ size?: DropzoneSize;
42
+ radius?: DropzoneRadius;
43
+ label?: string;
44
+ description?: string;
45
+ activateOnClick?: boolean;
46
+ activateOnKeyboard?: boolean;
47
+ disabled?: boolean;
48
+ required?: boolean;
49
+ invalid?: boolean;
50
+ valid?: boolean;
51
+ ariaLabel?: string;
52
+ describedby?: string;
53
+ labelledby?: string;
54
+ inputAttrs?: InputHTMLAttributes;
55
+ validationMessage?: string;
56
+ }
@@ -0,0 +1,25 @@
1
+ import { DropzoneFileRejection, DropzoneProps, DropzoneSelection } from './types.js';
2
+ interface DropzoneCallbacks {
3
+ onUpdate: (files: File[]) => void;
4
+ onDrop: (selection: DropzoneSelection) => void;
5
+ onReject: (rejections: DropzoneFileRejection[]) => void;
6
+ }
7
+ export declare function useDropzone(props: Readonly<DropzoneProps>, callbacks: DropzoneCallbacks): {
8
+ rootRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
9
+ inputRef: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
10
+ control: import('../../internal/composables/useControlState.js').ControlState;
11
+ files: import('vue').ComputedRef<File[]>;
12
+ rejections: import('vue').ComputedRef<DropzoneFileRejection[]>;
13
+ status: import('vue').ComputedRef<"accept" | "idle" | "reject">;
14
+ rootClass: import('vue').ComputedRef<string[]>;
15
+ onDragenter: (event: DragEvent) => void;
16
+ onDragover: (event: DragEvent) => void;
17
+ onDragleave: () => void;
18
+ onDrop: (event: DragEvent) => void;
19
+ onChange: (event: Event) => void;
20
+ onKeydown: (event: KeyboardEvent) => void;
21
+ open: () => void;
22
+ clear: () => void;
23
+ focus: (options?: FocusOptions) => void;
24
+ };
25
+ export {};
@@ -0,0 +1,29 @@
1
+ import { FileInputProps, FileInputTriggerSlotProps, FileInputValueSlotProps } 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<FileInputProps & {
4
+ "onUpdate:modelValue"?: ((value: File[]) => any) | undefined;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: import('vue').ShallowUnwrapRef<{
9
+ nativeElement: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
10
+ clear: () => void;
11
+ focus: (options?: FocusOptions) => void;
12
+ open: () => void;
13
+ }>) => void;
14
+ attrs: any;
15
+ slots: {
16
+ trigger?(props: FileInputTriggerSlotProps): unknown;
17
+ value?(props: FileInputValueSlotProps): unknown;
18
+ };
19
+ emit: (evt: "update:modelValue", value: File[]) => void;
20
+ }>) => import('vue').VNode & {
21
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
22
+ };
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
25
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
26
+ [K in keyof T]: T[K];
27
+ } : {
28
+ [K in keyof T as K]: T[K];
29
+ }) & {};
@@ -0,0 +1,3 @@
1
+ export { default as FileInput } from './file-input.js';
2
+ export { fileInputParts } from './types.js';
3
+ export type { FileInputPart, FileInputProps, FileInputRadius, FileInputSize, FileInputTriggerSlotProps, FileInputValueSlotProps, } from './types.js';
@@ -0,0 +1,2 @@
1
+ import { n as file_input_default, t as fileInputParts } from "../../file-input.js";
2
+ export { file_input_default as FileInput, fileInputParts };
@@ -0,0 +1,37 @@
1
+ import { InputHTMLAttributes } from 'vue';
2
+ import { StylesApiProps } from '../../styles-api.js';
3
+ export declare const fileInputParts: readonly ["root", "input", "trigger", "value"];
4
+ export type FileInputPart = (typeof fileInputParts)[number];
5
+ export type FileInputRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ export type FileInputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
7
+ export interface FileInputTriggerSlotProps {
8
+ files: File[];
9
+ multiple: boolean;
10
+ }
11
+ export interface FileInputValueSlotProps {
12
+ files: File[];
13
+ fileNames: string[];
14
+ hasFiles: boolean;
15
+ }
16
+ export interface FileInputProps extends StylesApiProps<FileInputPart> {
17
+ id?: string;
18
+ name?: string;
19
+ form?: string;
20
+ modelValue?: File[];
21
+ accept?: string;
22
+ capture?: boolean | 'user' | 'environment';
23
+ multiple?: boolean;
24
+ size?: FileInputSize;
25
+ radius?: FileInputRadius;
26
+ buttonLabel?: string;
27
+ placeholder?: string;
28
+ disabled?: boolean;
29
+ required?: boolean;
30
+ invalid?: boolean;
31
+ valid?: boolean;
32
+ ariaLabel?: string;
33
+ describedby?: string;
34
+ labelledby?: string;
35
+ inputAttrs?: InputHTMLAttributes;
36
+ validationMessage?: string;
37
+ }
@@ -0,0 +1,15 @@
1
+ import { FileInputProps } from './types.js';
2
+ export declare function useFileInput(props: Readonly<FileInputProps>, emitUpdate: (value: File[]) => void): {
3
+ inputRef: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
4
+ control: import('../../internal/composables/useControlState.js').ControlState;
5
+ files: import('vue').ComputedRef<File[]>;
6
+ fileNames: import('vue').ComputedRef<string[]>;
7
+ hasFiles: import('vue').ComputedRef<boolean>;
8
+ rootClass: import('vue').ComputedRef<string[]>;
9
+ buttonText: import('vue').ComputedRef<string>;
10
+ displayValue: import('vue').ComputedRef<string>;
11
+ onChange: (event: Event) => void;
12
+ clear: () => void;
13
+ focus: (options?: FocusOptions) => void;
14
+ open: () => void;
15
+ };
@@ -1,3 +1,3 @@
1
1
  import { t as useFloatingPosition } from "../../useFloatingPosition.js";
2
- import { t as useHoverDisclosure } from "../../floating.js";
2
+ import { t as useHoverDisclosure } from "../../useHoverDisclosure.js";
3
3
  export { useFloatingPosition, useHoverDisclosure };
@@ -1,14 +1,2 @@
1
- import { Ref } from 'vue';
2
- import { FloatingReference, FloatingTarget, UseFloatingPositionOptions, UseFloatingPositionReturn } from './types.js';
3
- type Source<T> = () => T;
4
- export declare function readFloatingTarget(target: FloatingTarget | null | undefined): string | FloatingReference | null | undefined;
5
- export declare function isVirtualReference(value: unknown): value is FloatingReference;
6
- export declare function resolveFloatingTarget(target: string | FloatingReference | null | undefined): FloatingReference | null;
7
- export declare function useFloatingTarget(getTarget: Source<FloatingTarget | null | undefined>, fallback: Readonly<Ref<Element | null>>): {
8
- isExplicitTarget: import('vue').ComputedRef<boolean>;
9
- reference: import('vue').ComputedRef<FloatingReference | null>;
10
- resolvedTarget: import('vue').ShallowRef<FloatingReference | null, FloatingReference | null>;
11
- syncTarget: () => void;
12
- };
1
+ import { UseFloatingPositionOptions, UseFloatingPositionReturn } from './types.js';
13
2
  export declare function useFloatingPosition(options: UseFloatingPositionOptions): UseFloatingPositionReturn;
14
- export {};
@@ -0,0 +1,32 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { AttributeSnapshot } from '../../utils/dom/attributes.js';
3
+ import { FloatingReference, FloatingTarget } from './types.js';
4
+ type Source<T> = () => T;
5
+ export type FloatingTargetListener = readonly [
6
+ type: string,
7
+ listener: EventListenerOrEventListenerObject,
8
+ options?: boolean | AddEventListenerOptions
9
+ ];
10
+ export interface FloatingTargetAttributeAdapter<AttributeName extends string> {
11
+ names: readonly AttributeName[];
12
+ isActive?: Source<boolean>;
13
+ apply: (target: Element, snapshot: AttributeSnapshot<AttributeName>) => void;
14
+ }
15
+ export interface FloatingTargetBindingAdapter<AttributeName extends string = never> {
16
+ connect?: (target: Element) => void | (() => void);
17
+ listeners?: readonly FloatingTargetListener[];
18
+ attributes?: FloatingTargetAttributeAdapter<AttributeName>;
19
+ }
20
+ export interface FloatingTargetLifecycle {
21
+ bindTarget: <AttributeName extends string = never>(adapter: FloatingTargetBindingAdapter<AttributeName>) => void;
22
+ isExplicitTarget: ComputedRef<boolean>;
23
+ reference: ComputedRef<FloatingReference | null>;
24
+ targetElement: ComputedRef<Element | null>;
25
+ }
26
+ interface UseFloatingTargetLifecycleOptions {
27
+ target: Source<FloatingTarget | null | undefined>;
28
+ fallback: Readonly<Ref<Element | null>>;
29
+ getTargetElement?: (reference: FloatingReference) => Element | null;
30
+ }
31
+ export declare function useFloatingTargetLifecycle({ target, fallback, getTargetElement, }: UseFloatingTargetLifecycleOptions): FloatingTargetLifecycle;
32
+ export {};
@@ -1,2 +1,12 @@
1
1
  import { UseHoverDisclosureOptions, UseHoverDisclosureReturn } from './types.js';
2
+ interface HoverDisclosureDismissalHandlers {
3
+ escapeKeyDown: (event: KeyboardEvent) => void;
4
+ pointerDownOutside: (event: PointerEvent) => void;
5
+ }
6
+ interface HoverDisclosureWithExternalDismissal {
7
+ disclosure: UseHoverDisclosureReturn;
8
+ dismissalHandlers: HoverDisclosureDismissalHandlers;
9
+ }
2
10
  export declare function useHoverDisclosure(options?: Readonly<UseHoverDisclosureOptions>): UseHoverDisclosureReturn;
11
+ export declare function useHoverDisclosureWithExternalDismissal(options: Readonly<UseHoverDisclosureOptions>): HoverDisclosureWithExternalDismissal;
12
+ export {};
@@ -0,0 +1,25 @@
1
+ import { HoverCardContentSlotProps, HoverCardProps, HoverCardSlotProps } 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<HoverCardProps & {
4
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
5
+ onOpenChange?: ((value: boolean, details: import('../floating/index.js').HoverDisclosureOpenChangeDetails) => 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: HoverCardSlotProps): unknown;
13
+ content?(props: HoverCardContentSlotProps): unknown;
14
+ };
15
+ emit: ((evt: "update:open", value: boolean) => void) & ((evt: "openChange", value: boolean, details: import('../floating/index.js').HoverDisclosureOpenChangeDetails) => 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,3 @@
1
+ export { default as HoverCard } from './hover-card.js';
2
+ export { hoverCardParts, hoverCardPlacements } from './types.js';
3
+ export type { HoverCardContentSlotProps, HoverCardOffset, HoverCardOffsetOptions, HoverCardOpenChangeDetails, HoverCardOpenChangeReason, HoverCardPart, HoverCardPlacement, HoverCardProps, HoverCardSlotProps, HoverCardTarget, HoverCardTouchBehavior, HoverCardTriggerProps, } from './types.js';
@@ -0,0 +1,2 @@
1
+ import { n as hoverCardPlacements, r as hover_card_default, t as hoverCardParts } from "../../hover-card.js";
2
+ export { hover_card_default as HoverCard, hoverCardParts, hoverCardPlacements };
@@ -0,0 +1,45 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { StylesApiProps } from '../../styles-api.js';
3
+ import { FloatingOffset, FloatingOffsetOptions, FloatingPositionProps, FloatingTarget, HoverDisclosureOpenChangeDetails, HoverDisclosureOpenChangeReason, HoverDisclosureState, HoverDisclosureTouchBehavior } from '../floating/types.js';
4
+ export declare const hoverCardPlacements: readonly ["top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-start", "bottom", "bottom-end", "left-start", "left", "left-end"];
5
+ export declare const hoverCardParts: readonly ["root", "trigger", "content"];
6
+ export type HoverCardPart = (typeof hoverCardParts)[number];
7
+ export type HoverCardPlacement = (typeof hoverCardPlacements)[number];
8
+ export type HoverCardTarget = FloatingTarget;
9
+ export type HoverCardOffsetOptions = FloatingOffsetOptions;
10
+ export type HoverCardOffset = FloatingOffset;
11
+ export type HoverCardTouchBehavior = HoverDisclosureTouchBehavior;
12
+ export type HoverCardOpenChangeReason = HoverDisclosureOpenChangeReason;
13
+ export type HoverCardOpenChangeDetails = HoverDisclosureOpenChangeDetails;
14
+ export interface HoverCardTriggerProps {
15
+ class?: HTMLAttributes['class'];
16
+ style?: HTMLAttributes['style'];
17
+ 'data-state': HoverDisclosureState;
18
+ 'data-disabled'?: '';
19
+ }
20
+ export interface HoverCardSlotProps {
21
+ triggerProps: HoverCardTriggerProps;
22
+ isOpen: boolean;
23
+ open: () => void;
24
+ close: () => void;
25
+ toggle: () => void;
26
+ }
27
+ export interface HoverCardContentSlotProps {
28
+ isOpen: boolean;
29
+ open: () => void;
30
+ close: () => void;
31
+ toggle: () => void;
32
+ }
33
+ export interface HoverCardProps extends FloatingPositionProps<HoverCardPlacement>, StylesApiProps<HoverCardPart> {
34
+ id?: string;
35
+ baseZIndex?: number;
36
+ open?: boolean;
37
+ defaultOpen?: boolean;
38
+ openDelay?: number;
39
+ closeDelay?: number;
40
+ disabled?: boolean;
41
+ openOnFocus?: boolean;
42
+ closeOnEscape?: boolean;
43
+ touchBehavior?: HoverCardTouchBehavior;
44
+ keepMounted?: boolean;
45
+ }
@@ -0,0 +1,22 @@
1
+ import { CSSProperties } from 'vue';
2
+ import { HoverCardContentSlotProps, HoverCardOpenChangeDetails, HoverCardProps } from './types.js';
3
+ export declare function useHoverCard(props: Readonly<HoverCardProps>, onOpenChange?: (open: boolean, details: HoverCardOpenChangeDetails) => void): {
4
+ rootRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
5
+ contentRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
6
+ arrowRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
7
+ hoverCardId: import('vue').ComputedRef<string>;
8
+ isDisabled: import('vue').ComputedRef<boolean>;
9
+ isVisible: import('vue').ComputedRef<boolean>;
10
+ isTargetMode: import('vue').ComputedRef<boolean>;
11
+ state: import('vue').ComputedRef<import('../floating/index.js').HoverDisclosureState>;
12
+ shouldRenderContent: import('vue').ComputedRef<boolean>;
13
+ shouldShowContent: import('vue').ComputedRef<boolean>;
14
+ rootClass: import('vue').ComputedRef<string[]>;
15
+ contentStyle: import('vue').ComputedRef<CSSProperties>;
16
+ contentDirection: Readonly<import('vue').Ref<import('../../utils/dom/direction.js').ElementDirection, import('../../utils/dom/direction.js').ElementDirection>>;
17
+ contentSlotProps: import('vue').ComputedRef<HoverCardContentSlotProps>;
18
+ actualPlacement: Readonly<import('vue').Ref<import('../floating/index.js').FloatingPlacement, import('../floating/index.js').FloatingPlacement>>;
19
+ placementSide: import('vue').ComputedRef<string>;
20
+ arrowStyle: Readonly<import('vue').Ref<CSSProperties | undefined, CSSProperties | undefined>>;
21
+ teleportTo: import('vue').ComputedRef<import('../floating/index.js').TeleportTargetValue>;
22
+ };
@@ -0,0 +1,19 @@
1
+ import { MaybeRefOrGetter, Ref } from 'vue';
2
+ import { UseHoverDisclosureOptions } from '../floating/types.js';
3
+ interface HoverCardDisclosureLayerOptions {
4
+ baseZIndex: MaybeRefOrGetter<number>;
5
+ element: Ref<HTMLElement | null>;
6
+ inside: MaybeRefOrGetter<readonly (Element | null | undefined)[]>;
7
+ }
8
+ export declare function useHoverCardDisclosure(options: Readonly<UseHoverDisclosureOptions>, layerOptions: HoverCardDisclosureLayerOptions): {
9
+ zIndex: Readonly<Ref<number, number>>;
10
+ isOpen: import('vue').ComputedRef<boolean>;
11
+ isDisabled: import('vue').ComputedRef<boolean>;
12
+ state: import('vue').ComputedRef<import('../floating/index.js').HoverDisclosureState>;
13
+ triggerProps: import('vue').ComputedRef<import('../floating/index.js').HoverDisclosureTriggerProps>;
14
+ contentProps: import('vue').ComputedRef<import('../floating/index.js').HoverDisclosureContentProps>;
15
+ open: () => void;
16
+ close: () => void;
17
+ toggle: () => void;
18
+ };
19
+ export {};
@@ -0,0 +1,3 @@
1
+ export { default as MultiSelect } from './multi-select.js';
2
+ export { multiSelectParts } from './types.js';
3
+ export type { MultiSelectEmptySlotProps, MultiSelectFilter, MultiSelectOption, MultiSelectOptionSlotProps, MultiSelectPart, MultiSelectPillSlotProps, MultiSelectProps, MultiSelectRadius, MultiSelectSize, MultiSelectValue, } from './types.js';
@@ -0,0 +1,2 @@
1
+ import { n as multi_select_default, t as multiSelectParts } from "../../multi-select.js";
2
+ export { multi_select_default as MultiSelect, multiSelectParts };
@@ -0,0 +1,30 @@
1
+ import { MultiSelectEmptySlotProps, MultiSelectOptionSlotProps, MultiSelectPillSlotProps, MultiSelectProps, MultiSelectValue } 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<MultiSelectProps & {
4
+ onSearch?: ((searchValue: string) => any) | undefined;
5
+ "onUpdate:modelValue"?: ((value: MultiSelectValue[]) => any) | undefined;
6
+ }> & (typeof globalThis extends {
7
+ __VLS_PROPS_FALLBACK: infer P;
8
+ } ? P : {});
9
+ expose: (exposed: import('vue').ShallowUnwrapRef<{
10
+ nativeElement: import('vue').Ref<HTMLSelectElement | null, HTMLSelectElement | null>;
11
+ inputElement: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
12
+ focus: () => void | undefined;
13
+ }>) => void;
14
+ attrs: any;
15
+ slots: {
16
+ option?(props: MultiSelectOptionSlotProps): unknown;
17
+ pill?(props: MultiSelectPillSlotProps): unknown;
18
+ empty?(props: MultiSelectEmptySlotProps): unknown;
19
+ };
20
+ emit: ((evt: "search", searchValue: string) => void) & ((evt: "update:modelValue", value: MultiSelectValue[]) => 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,3 @@
1
+ import { MultiSelectOption, MultiSelectValue } from './types.js';
2
+ export declare function getMultiSelectSelectedOptions(options: readonly MultiSelectOption[] | undefined, values: readonly MultiSelectValue[]): MultiSelectOption[];
3
+ export declare function toggleMultiSelectValue(values: readonly MultiSelectValue[], value: MultiSelectValue, maxValues?: number): MultiSelectValue[];
@@ -0,0 +1,49 @@
1
+ import { InputHTMLAttributes } from 'vue';
2
+ import { StylesApiProps } from '../../styles-api.js';
3
+ export type MultiSelectValue = string | number;
4
+ export interface MultiSelectOption {
5
+ label: string;
6
+ value: MultiSelectValue;
7
+ disabled?: boolean;
8
+ }
9
+ export type MultiSelectFilter = (option: MultiSelectOption, searchValue: string) => boolean;
10
+ export type MultiSelectRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
11
+ export type MultiSelectSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
12
+ export interface MultiSelectOptionSlotProps {
13
+ option: MultiSelectOption;
14
+ selected: boolean;
15
+ highlighted: boolean;
16
+ }
17
+ export interface MultiSelectPillSlotProps {
18
+ option: MultiSelectOption;
19
+ }
20
+ export interface MultiSelectEmptySlotProps {
21
+ searchValue: string;
22
+ }
23
+ export interface MultiSelectProps extends StylesApiProps<MultiSelectPart> {
24
+ id?: string;
25
+ name?: string;
26
+ form?: string;
27
+ modelValue?: MultiSelectValue[];
28
+ defaultValue?: MultiSelectValue[];
29
+ options?: MultiSelectOption[];
30
+ filter?: MultiSelectFilter | false;
31
+ maxValues?: number;
32
+ size?: MultiSelectSize;
33
+ radius?: MultiSelectRadius;
34
+ placeholder?: string;
35
+ clearable?: boolean;
36
+ clearLabel?: string;
37
+ removeLabel?: string;
38
+ toggleLabel?: string;
39
+ disabled?: boolean;
40
+ required?: boolean;
41
+ invalid?: boolean;
42
+ ariaLabel?: string;
43
+ describedby?: string;
44
+ labelledby?: string;
45
+ inputAttrs?: InputHTMLAttributes;
46
+ validationMessage?: string;
47
+ }
48
+ export declare const multiSelectParts: readonly ["root", "pills", "pill", "pillLabel", "pillRemove", "input", "indicator", "clear", "toggle", "content", "option", "empty"];
49
+ export type MultiSelectPart = (typeof multiSelectParts)[number];
@@ -0,0 +1,46 @@
1
+ import { CSSProperties, ComputedRef, Ref, SelectHTMLAttributes } from 'vue';
2
+ import { ControlState } from '../../internal/composables/useControlState.js';
3
+ import { FlatOptionState } from '../../internal/composables/useFlatOptionCollection.js';
4
+ import { ComponentElementRef } from '../../utils/dom/componentRef.js';
5
+ import { FloatingPlacement, FloatingSide } from '../floating/types.js';
6
+ import { MultiSelectOption, MultiSelectProps, MultiSelectValue } from './types.js';
7
+ export interface MultiSelectControl {
8
+ templateRefs: {
9
+ root: Ref<HTMLElement | null>;
10
+ input: Ref<HTMLInputElement | null>;
11
+ native: Ref<HTMLSelectElement | null>;
12
+ };
13
+ nativeSelectAttrs: ComputedRef<SelectHTMLAttributes>;
14
+ isOpen: Ref<boolean>;
15
+ popupId: string;
16
+ listboxId: string;
17
+ control: ControlState;
18
+ visibleOptions: ComputedRef<MultiSelectOption[]>;
19
+ renderedOptions: ComputedRef<readonly FlatOptionState<MultiSelectOption>[]>;
20
+ selectedOptions: ComputedRef<MultiSelectOption[]>;
21
+ activeDescendantId: ComputedRef<string | undefined>;
22
+ rootClass: ComputedRef<string[]>;
23
+ floatingStyle: Readonly<Ref<CSSProperties>>;
24
+ actualPlacement: Readonly<Ref<FloatingPlacement>>;
25
+ placementSide: ComputedRef<FloatingSide>;
26
+ searchValue: Ref<string>;
27
+ canClear: ComputedRef<boolean>;
28
+ setDropdownElement: (elementRef: ComponentElementRef) => void;
29
+ toggle: () => void;
30
+ selectOption: (option: MultiSelectOption) => void;
31
+ removeOption: (option: MultiSelectOption) => void;
32
+ clearSelection: () => void;
33
+ onOptionMouseenter: (option: MultiSelectOption) => void;
34
+ onRootMousedown: (event: MouseEvent) => void;
35
+ onFocusout: (event: FocusEvent) => void;
36
+ onInput: (event: Event) => void;
37
+ onInputFocus: () => void;
38
+ onInputClick: () => void;
39
+ onInputKeydown: (event: KeyboardEvent) => void;
40
+ }
41
+ interface MultiSelectCallbacks {
42
+ valueChange: (value: MultiSelectValue[]) => void;
43
+ search: (searchValue: string) => void;
44
+ }
45
+ export declare function useMultiSelect(props: Readonly<MultiSelectProps>, callbacks: MultiSelectCallbacks): MultiSelectControl;
46
+ export {};
@@ -1,11 +1,9 @@
1
1
  import { InputHTMLAttributes } from 'vue';
2
2
  import { NumberInputControl } from './numberInputModel.js';
3
3
  import { NumberInputProps, NumberInputValue } from './types.js';
4
- export declare function useNumberInput(props: Readonly<NumberInputProps>, emitUpdate: (value: NumberInputValue) => void, getValue?: () => NumberInputValue): {
4
+ export declare function useNumberInput(props: Readonly<NumberInputProps>, onUpdate: (value: NumberInputValue) => void): {
5
5
  control: import('../../internal/composables/useControlState.js').ControlState;
6
6
  rootClass: import('vue').ComputedRef<string[]>;
7
- bounds: import('vue').ComputedRef<import('./numberInputModel.js').NumberInputBounds>;
8
- nativeStep: import('vue').ComputedRef<number>;
9
7
  nativeInputAttrs: import('vue').ComputedRef<InputHTMLAttributes>;
10
8
  modelInputValue: import('vue').ComputedRef<string>;
11
9
  leftControls: import('vue').ComputedRef<NumberInputControl[]>;
@@ -1,16 +1,13 @@
1
1
  import { Ref } from 'vue';
2
+ import { FloatingTargetLifecycle } from '../floating/useFloatingTargetLifecycle.js';
2
3
  import { PopoverRole } from './types.js';
3
4
  interface UsePopoverBindingsOptions {
4
- isExplicitTarget: Readonly<Ref<boolean>>;
5
- targetElement: Readonly<Ref<Element | null>>;
5
+ targetLifecycle: FloatingTargetLifecycle;
6
6
  popoverId: Readonly<Ref<string>>;
7
7
  popoverRole: Readonly<Ref<PopoverRole>>;
8
8
  isVisible: Readonly<Ref<boolean>>;
9
9
  isDisabled: Readonly<Ref<boolean>>;
10
10
  onTriggerClick: () => void;
11
- onDocumentClick: (event: MouseEvent) => void;
12
- onDocumentPointerDown: (event: MouseEvent | TouchEvent) => void;
13
- onDocumentKeydown: (event: KeyboardEvent) => void;
14
11
  }
15
- export declare function usePopoverBindings({ isExplicitTarget, targetElement, popoverId, popoverRole, isVisible, isDisabled, onTriggerClick, onDocumentClick, onDocumentPointerDown, onDocumentKeydown, }: UsePopoverBindingsOptions): void;
12
+ export declare function usePopoverBindings({ targetLifecycle, popoverId, popoverRole, isVisible, isDisabled, onTriggerClick, }: UsePopoverBindingsOptions): void;
16
13
  export {};