ropav 0.1.5 → 0.1.7

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 (235) hide show
  1. package/README.md +10 -0
  2. package/dist/accordion.css +17 -17
  3. package/dist/accordion.js +125 -154
  4. package/dist/alert.css +18 -18
  5. package/dist/alert.js +20 -20
  6. package/dist/aria.js +14 -0
  7. package/dist/aspect-ratio.js +1 -1
  8. package/dist/attributes.js +9 -0
  9. package/dist/attributes2.js +29 -0
  10. package/dist/avatar.css +19 -19
  11. package/dist/avatar.js +10 -18
  12. package/dist/badge.css +16 -16
  13. package/dist/badge.js +6 -6
  14. package/dist/base.css +18 -13
  15. package/dist/button-group.js +1 -1
  16. package/dist/button-link.js +13 -14
  17. package/dist/button.css +32 -27
  18. package/dist/button.js +13 -14
  19. package/dist/{useButtonColor.js → button.scss_vue_type_style_index_0_src_true_lang.js} +3 -2
  20. package/dist/card.js +1 -1
  21. package/dist/checkbox.css +32 -32
  22. package/dist/checkbox.js +23 -29
  23. package/dist/collapse.css +6 -6
  24. package/dist/collapse.js +8 -7
  25. package/dist/collectionNavigation.js +2 -99
  26. package/dist/color-input.css +19 -19
  27. package/dist/color-input.js +15 -14
  28. package/dist/color-picker.css +40 -40
  29. package/dist/color-picker.js +222 -202
  30. package/dist/color-picker2.js +1 -9
  31. package/dist/color-swatch.css +4 -4
  32. package/dist/color-swatch.js +7 -9
  33. package/dist/color.js +5 -10
  34. package/dist/componentColors.js +165 -84
  35. package/dist/componentRef.js +26 -0
  36. package/dist/components/accordion/accordionContext.d.ts +3 -0
  37. package/dist/components/accordion/accordionModel.d.ts +14 -0
  38. package/dist/components/accordion/index.d.ts +2 -1
  39. package/dist/components/accordion/index.js +1 -1
  40. package/dist/components/accordion/types.d.ts +1 -2
  41. package/dist/components/accordion/useAccordion.d.ts +2 -2
  42. package/dist/components/accordion/useAccordionItem.d.ts +2 -0
  43. package/dist/components/checkbox/useCheckbox.d.ts +2 -3
  44. package/dist/components/color-input/color-input.d.ts +2 -2
  45. package/dist/components/color-input/useColorInput.d.ts +1 -1
  46. package/dist/components/color-picker/index.js +2 -2
  47. package/dist/components/color-picker/types.d.ts +2 -2
  48. package/dist/components/color-picker/useColorPickerSaturation.d.ts +22 -0
  49. package/dist/components/color-picker/useColorPickerSlider.d.ts +20 -0
  50. package/dist/components/color-picker/useColorPickerValue.d.ts +1 -1
  51. package/dist/components/dialog/{dialog-core.d.ts → dialogContext.d.ts} +2 -6
  52. package/dist/components/dialog/useDialogContentInteractions.d.ts +18 -0
  53. package/dist/components/dialog/useDialogRootState.d.ts +19 -0
  54. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +2 -2
  55. package/dist/components/dropdown-menu/dropdown-menu-item-row.d.ts +1 -1
  56. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +1 -1
  57. package/dist/components/dropdown-menu/dropdown-menu-model.d.ts +8 -0
  58. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +2 -2
  59. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +2 -2
  60. package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +1 -1
  61. package/dist/components/dropdown-menu/dropdown-menu-sub.d.ts +1 -1
  62. package/dist/components/dropdown-menu/dropdown-menu.d.ts +3 -3
  63. package/dist/components/dropdown-menu/{dropdown-menu-primitive-core.d.ts → dropdownMenuContext.d.ts} +17 -19
  64. package/dist/components/dropdown-menu/dropdownMenuDataModel.d.ts +20 -0
  65. package/dist/components/dropdown-menu/dropdownMenuInteraction.d.ts +3 -0
  66. package/dist/components/dropdown-menu/dropdownMenuInteractionNavigation.d.ts +24 -0
  67. package/dist/components/dropdown-menu/dropdownMenuInteractionRegistry.d.ts +42 -0
  68. package/dist/components/dropdown-menu/dropdownMenuInteractionTypes.d.ts +85 -0
  69. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +11 -11
  70. package/dist/components/dropdown-menu/useDropdownMenuContextTrigger.d.ts +9 -0
  71. package/dist/components/dropdown-menu/useDropdownMenuDataController.d.ts +34 -0
  72. package/dist/components/dropdown-menu/useDropdownMenuDataRegistration.d.ts +22 -0
  73. package/dist/components/dropdown-menu/useDropdownMenuHoverIntent.d.ts +6 -5
  74. package/dist/components/dropdown-menu/useDropdownMenuInteractionDismissal.d.ts +17 -0
  75. package/dist/components/dropdown-menu/useDropdownMenuInteractionKeyboard.d.ts +19 -0
  76. package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +0 -1
  77. package/dist/components/dropdown-menu/useDropdownMenuPresentation.d.ts +29 -0
  78. package/dist/components/dropdown-menu/useDropdownMenuPrimitiveContent.d.ts +2 -2
  79. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +1 -1
  80. package/dist/components/dropdown-menu/useDropdownMenuTargetBindings.d.ts +19 -0
  81. package/dist/components/floating/hoverDisclosureInteractionModel.d.ts +42 -0
  82. package/dist/components/floating/index.js +1 -1
  83. package/dist/components/floating/useFloatingPosition.d.ts +0 -1
  84. package/dist/components/floating/useHoverDisclosureInteractions.d.ts +32 -0
  85. package/dist/components/floating/useHoverDisclosureOpenState.d.ts +25 -0
  86. package/dist/components/floating/useHoverDisclosureTargetBinding.d.ts +27 -0
  87. package/dist/components/input/useInput.d.ts +1 -1
  88. package/dist/components/number-input/numberInputModel.d.ts +15 -0
  89. package/dist/components/number-input/useNumberInput.d.ts +4 -18
  90. package/dist/components/pagination/index.d.ts +1 -1
  91. package/dist/components/pagination/index.js +1 -1
  92. package/dist/components/pagination/paginationModel.d.ts +4 -0
  93. package/dist/components/pagination/types.d.ts +15 -0
  94. package/dist/components/pagination/usePagination.d.ts +3 -19
  95. package/dist/components/popover/usePopoverBindings.d.ts +16 -0
  96. package/dist/components/progress/progressModel.d.ts +8 -0
  97. package/dist/components/progress/useProgress.d.ts +1 -7
  98. package/dist/components/radio/useRadio.d.ts +3 -4
  99. package/dist/components/scroll-area/scroll-area.d.ts +1 -1
  100. package/dist/components/scroll-area/scrollAreaModel.d.ts +64 -0
  101. package/dist/components/scroll-area/types.d.ts +4 -0
  102. package/dist/components/scroll-area/useScrollArea.d.ts +70 -52
  103. package/dist/components/scroll-area/{useScrollAreaPresentation.d.ts → useScrollAreaAttributes.d.ts} +37 -14
  104. package/dist/components/scroll-area/useScrollAreaDerivedState.d.ts +8 -0
  105. package/dist/components/scroll-area/useScrollAreaMeasurement.d.ts +35 -0
  106. package/dist/components/scroll-area/useScrollAreaPointer.d.ts +10 -8
  107. package/dist/components/scroll-area/useScrollAreaVisibility.d.ts +15 -20
  108. package/dist/components/select/useSelect.d.ts +2 -1
  109. package/dist/components/select/useSelectNativeValue.d.ts +1 -7
  110. package/dist/components/slider/rangeSliderModel.d.ts +41 -0
  111. package/dist/components/slider/{sliderCore.d.ts → sliderModel.d.ts} +2 -2
  112. package/dist/components/slider/useRangeSlider.d.ts +9 -17
  113. package/dist/components/slider/useRangeSliderValueState.d.ts +40 -0
  114. package/dist/components/slider/useSlider.d.ts +8 -14
  115. package/dist/components/slider/useSliderPointerPreview.d.ts +22 -0
  116. package/dist/components/slider/useSliderTooltipState.d.ts +40 -0
  117. package/dist/components/slider/useSliderValueState.d.ts +33 -0
  118. package/dist/components/switch/useSwitch.d.ts +1 -1
  119. package/dist/components/teleport-provider/index.js +1 -1
  120. package/dist/components/teleport-provider/useTeleportTarget.d.ts +1 -2
  121. package/dist/components/textarea/useTextarea.d.ts +1 -1
  122. package/dist/components/toast/useToastLifecycle.d.ts +19 -0
  123. package/dist/components/tooltip/useTooltip.d.ts +1 -2
  124. package/dist/composables/index.d.ts +2 -0
  125. package/dist/composables/index.js +2 -0
  126. package/dist/composables/useControllableValue.d.ts +14 -0
  127. package/dist/css.js +12 -0
  128. package/dist/dialog.js +227 -216
  129. package/dist/dropdown-menu.js +1493 -1118
  130. package/dist/events.js +59 -0
  131. package/dist/field.css +8 -8
  132. package/dist/field.js +13 -25
  133. package/dist/floating.js +553 -312
  134. package/dist/floatingOffset.js +11 -0
  135. package/dist/focus-trap.js +7 -5
  136. package/dist/focusNavigation.js +37 -0
  137. package/dist/icon-button.css +12 -173
  138. package/dist/icon-button.js +8 -7
  139. package/dist/index.d.ts +5 -4
  140. package/dist/index.js +13 -11
  141. package/dist/input.css +24 -24
  142. package/dist/input.js +20 -32
  143. package/dist/interactive.js +18 -0
  144. package/dist/modal.js +11 -7
  145. package/dist/number-input.css +18 -18
  146. package/dist/number-input.js +15 -13
  147. package/dist/number.js +22 -0
  148. package/dist/overlay.js +3 -2
  149. package/dist/pagination.css +28 -28
  150. package/dist/pagination.js +67 -65
  151. package/dist/pointer.js +9 -0
  152. package/dist/popover.css +34 -34
  153. package/dist/popover.js +93 -91
  154. package/dist/progress.css +29 -21
  155. package/dist/progress.js +25 -21
  156. package/dist/query.js +40 -0
  157. package/dist/radio.css +18 -18
  158. package/dist/radio.js +31 -37
  159. package/dist/rafScheduler.js +34 -0
  160. package/dist/scroll-area.css +35 -26
  161. package/dist/scroll-area.js +553 -500
  162. package/dist/select.css +45 -45
  163. package/dist/select.js +70 -56
  164. package/dist/slider.css +191 -191
  165. package/dist/slider.js +695 -628
  166. package/dist/styles-api.d.ts +0 -1
  167. package/dist/styles-api.js +1 -4
  168. package/dist/switch.css +17 -17
  169. package/dist/switch.js +15 -16
  170. package/dist/tabs.css +46 -46
  171. package/dist/tabs.js +51 -68
  172. package/dist/text.js +17 -0
  173. package/dist/textarea.css +26 -26
  174. package/dist/textarea.js +22 -33
  175. package/dist/toast.css +26 -26
  176. package/dist/toast.js +157 -129
  177. package/dist/tooltip.css +12 -12
  178. package/dist/tooltip.js +46 -47
  179. package/dist/useCollapse.js +19 -17
  180. package/dist/useControlState.js +4 -7
  181. package/dist/useControllableValue.js +8 -2
  182. package/dist/useFloatingPosition.js +122 -1128
  183. package/dist/useFormControl.js +3 -2
  184. package/dist/useOverlayZIndex.js +2 -6
  185. package/dist/useRequiredInject.js +1 -1
  186. package/dist/useTeleportTarget.js +3 -14
  187. package/dist/useTypeahead.js +94 -0
  188. package/dist/utils/aria.d.ts +3 -0
  189. package/dist/utils/attributes.d.ts +2 -0
  190. package/dist/utils/bem.d.ts +3 -0
  191. package/dist/utils/collectionNavigation.d.ts +2 -0
  192. package/dist/utils/color.d.ts +7 -0
  193. package/dist/{components/color-picker/color-picker-utils.d.ts → utils/colorPicker.d.ts} +5 -4
  194. package/dist/utils/componentColors.d.ts +7 -0
  195. package/dist/utils/css.d.ts +3 -0
  196. package/dist/utils/dom/ancestry.d.ts +7 -0
  197. package/dist/utils/dom/attributes.d.ts +16 -0
  198. package/dist/utils/dom/componentRef.d.ts +4 -0
  199. package/dist/utils/dom/events.d.ts +5 -0
  200. package/dist/utils/dom/focusNavigation.d.ts +7 -0
  201. package/dist/utils/dom/interactive.d.ts +2 -0
  202. package/dist/utils/dom/pointer.d.ts +2 -0
  203. package/dist/utils/dom/query.d.ts +4 -0
  204. package/dist/utils/dom/scroll.d.ts +23 -0
  205. package/dist/utils/floatingOffset.d.ts +10 -0
  206. package/dist/utils/geometry.d.ts +14 -0
  207. package/dist/utils/indexPath.d.ts +6 -0
  208. package/dist/utils/number.d.ts +4 -0
  209. package/dist/utils/rafScheduler.d.ts +4 -0
  210. package/dist/utils/text.d.ts +2 -0
  211. package/docs/code-architecture.md +118 -0
  212. package/docs/public-composables-api.md +52 -0
  213. package/docs/public-floating-api.md +6 -5
  214. package/package.json +54 -46
  215. package/src/styles/_mixins.scss +4 -0
  216. package/src/styles/_tokens.scss +12 -12
  217. package/src/styles/_variables.scss +1 -1
  218. package/dist/button-link.css +0 -167
  219. package/dist/components/dropdown-menu/dropdown-menu-outside.d.ts +0 -3
  220. package/dist/components/dropdown-menu/dropdown-menu-utils.d.ts +0 -21
  221. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +0 -37
  222. package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +0 -29
  223. package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +0 -52
  224. package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +0 -17
  225. package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +0 -18
  226. package/dist/components/scroll-area/scrollAreaCore.d.ts +0 -25
  227. package/dist/components/scroll-area/useScrollAreaControls.d.ts +0 -25
  228. package/dist/components/scroll-area/useScrollAreaMetrics.d.ts +0 -35
  229. /package/dist/components/alert/{useAlertColor.d.ts → alertColor.d.ts} +0 -0
  230. /package/dist/components/avatar/{useAvatarColor.d.ts → avatarColor.d.ts} +0 -0
  231. /package/dist/components/badge/{useBadgeColor.d.ts → badgeColor.d.ts} +0 -0
  232. /package/dist/components/button/{useButtonColor.d.ts → buttonColor.d.ts} +0 -0
  233. /package/dist/components/color-swatch/{useColorSwatchColor.d.ts → colorSwatchColor.d.ts} +0 -0
  234. /package/dist/components/toast/{useToastColor.d.ts → toastColor.d.ts} +0 -0
  235. /package/dist/{composables → internal/composables}/useOverlayLayer.d.ts +0 -0
@@ -1,58 +1,76 @@
1
- import { ScrollAreaPosition, ScrollAreaProps } from './types.js';
2
- interface UseScrollAreaOptions {
3
- props: Readonly<ScrollAreaProps>;
4
- emitScroll: (event: Event) => void;
5
- emitPositionChange: (position: ScrollAreaPosition) => void;
6
- emitReachTop: (event: Event) => void;
7
- emitReachBottom: (event: Event) => void;
8
- emitReachLeft: (event: Event) => void;
9
- emitReachRight: (event: Event) => void;
1
+ import { ScrollAxis } from '../../utils/dom/scroll.js';
2
+ import { ScrollAreaPosition, ScrollAreaProps, ScrollAreaSlotProps } from './types.js';
3
+ interface ScrollAreaEmit {
4
+ (event: 'scroll', value: Event): void;
5
+ (event: 'scrollPositionChange', value: ScrollAreaPosition): void;
6
+ (event: 'reachTop', value: Event): void;
7
+ (event: 'reachBottom', value: Event): void;
8
+ (event: 'reachLeft', value: Event): void;
9
+ (event: 'reachRight', value: Event): void;
10
10
  }
11
- export declare function useScrollArea(options: UseScrollAreaOptions): {
12
- onScrollbarPointerdown: (axis: import('./scrollAreaCore.js').ScrollAxis, event: PointerEvent) => void;
13
- onThumbPointerdown: (axis: import('./scrollAreaCore.js').ScrollAxis, event: PointerEvent) => void;
14
- onViewportScroll: (event: Event) => void;
15
- onScrollbarKeydown: (axis: import('./scrollAreaCore.js').ScrollAxis, event: KeyboardEvent) => void;
16
- onScrollbarWheel: (axis: import('./scrollAreaCore.js').ScrollAxis, event: WheelEvent) => void;
17
- writeAxisPosition: (axis: import('./scrollAreaCore.js').ScrollAxis, value: number) => void;
18
- scrollTo: (scrollOptions: ScrollToOptions) => void;
19
- scrollBy: (scrollOptions: ScrollToOptions) => void;
11
+ export declare function useScrollArea(props: Readonly<ScrollAreaProps>, emit: ScrollAreaEmit): {
12
+ templateRefs: {
13
+ root: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
14
+ viewport: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
15
+ content: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
16
+ horizontalScrollbar: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
17
+ verticalScrollbar: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
18
+ };
20
19
  renderHorizontalScrollbar: import('vue').ComputedRef<boolean>;
21
20
  renderVerticalScrollbar: import('vue').ComputedRef<boolean>;
22
- horizontalScrollbarActive: import('vue').ComputedRef<boolean>;
23
- verticalScrollbarActive: import('vue').ComputedRef<boolean>;
24
- horizontalScrollbarVisible: import('vue').ComputedRef<boolean>;
25
- verticalScrollbarVisible: import('vue').ComputedRef<boolean>;
26
- showDuringScroll: () => void;
27
- setDraggingAxis: (axis: import('./scrollAreaCore.js').ScrollAxis | null) => void;
28
- onPointerenter: () => void;
29
- onPointerleave: () => void;
30
- onFocusin: () => void;
31
- onFocusout: (event: FocusEvent) => void;
32
- rootRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
33
- viewportRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
34
- contentRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
35
- horizontalScrollbarRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
36
- verticalScrollbarRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
37
- metrics: {
38
- clientWidth: number;
39
- clientHeight: number;
40
- scrollWidth: number;
41
- scrollHeight: number;
42
- x: number;
43
- y: number;
44
- overflowX: boolean;
45
- overflowY: boolean;
46
- horizontalThumbSize: number;
47
- horizontalThumbOffset: number;
48
- verticalThumbSize: number;
49
- verticalThumbOffset: number;
50
- };
51
- position: import('vue').ComputedRef<ScrollAreaPosition>;
21
+ rootAttrs: import('vue').ComputedRef<Record<string, unknown>>;
22
+ viewportAttrs: import('vue').ComputedRef<import('vue').HTMLAttributes>;
23
+ contentAttrs: import('vue').ComputedRef<import('vue').HTMLAttributes>;
24
+ horizontalScrollbarAttrs: import('vue').ComputedRef<{
25
+ role: string;
26
+ tabindex: number;
27
+ 'aria-controls': string | undefined;
28
+ 'aria-orientation': import('./types.js').ScrollAreaOrientation;
29
+ 'aria-valuemin': number;
30
+ 'aria-valuemax': number;
31
+ 'aria-valuenow': number;
32
+ 'aria-disabled': true | undefined;
33
+ 'aria-hidden': true | undefined;
34
+ 'data-orientation': string;
35
+ 'data-direction': import('../../utils/dom/scroll.js').ScrollDirection;
36
+ 'data-active': "" | undefined;
37
+ 'data-visible': "" | undefined;
38
+ class?: import('vue').ClassValue;
39
+ style?: import('vue').StyleValue;
40
+ }>;
41
+ verticalScrollbarAttrs: import('vue').ComputedRef<{
42
+ role: string;
43
+ tabindex: number;
44
+ 'aria-controls': string | undefined;
45
+ 'aria-orientation': import('./types.js').ScrollAreaOrientation;
46
+ 'aria-valuemin': number;
47
+ 'aria-valuemax': number;
48
+ 'aria-valuenow': number;
49
+ 'aria-disabled': true | undefined;
50
+ 'aria-hidden': true | undefined;
51
+ 'data-orientation': string;
52
+ 'data-direction': import('../../utils/dom/scroll.js').ScrollDirection;
53
+ 'data-active': "" | undefined;
54
+ 'data-visible': "" | undefined;
55
+ class?: import('vue').ClassValue;
56
+ style?: import('vue').StyleValue;
57
+ }>;
58
+ horizontalThumbAttrs: import('vue').ComputedRef<Pick<import('vue').HTMLAttributes, "class" | "style">>;
59
+ verticalThumbAttrs: import('vue').ComputedRef<Pick<import('vue').HTMLAttributes, "class" | "style">>;
60
+ cornerAttrs: import('vue').ComputedRef<{
61
+ 'aria-hidden': boolean;
62
+ 'data-direction': import('../../utils/dom/scroll.js').ScrollDirection;
63
+ 'data-visible': "" | undefined;
64
+ class?: import('vue').ClassValue;
65
+ style?: import('vue').StyleValue;
66
+ }>;
67
+ slotProps: import('vue').ComputedRef<ScrollAreaSlotProps>;
68
+ onScrollbarKeydown: (axis: ScrollAxis, event: KeyboardEvent) => void;
69
+ onScrollbarWheel: (axis: ScrollAxis, event: WheelEvent) => void;
70
+ onScrollbarPointerdown: (axis: ScrollAxis, event: PointerEvent) => void;
71
+ onThumbPointerdown: (axis: ScrollAxis, event: PointerEvent) => void;
72
+ scrollTo: (scrollOptions: ScrollToOptions) => void;
73
+ scrollBy: (scrollOptions: ScrollToOptions) => void;
52
74
  update: () => void;
53
- getPosition: (axis: import('./scrollAreaCore.js').ScrollAxis) => number;
54
- getMaxPosition: (axis: import('./scrollAreaCore.js').ScrollAxis) => number;
55
- getOverflow: (axis: import('./scrollAreaCore.js').ScrollAxis) => boolean;
56
75
  };
57
- export type ScrollAreaController = ReturnType<typeof useScrollArea>;
58
76
  export {};
@@ -1,10 +1,35 @@
1
- import { HTMLAttributes } from 'vue';
2
- import { ScrollAreaController } from './useScrollArea.js';
3
- import { ScrollAreaOrientation, ScrollAreaProps, ScrollAreaSlotProps } from './types.js';
4
- export declare function useScrollAreaPresentation(props: Readonly<ScrollAreaProps>, scrollArea: ScrollAreaController): {
5
- rootAttrs: import('vue').ComputedRef<Record<string, unknown>>;
6
- viewportAttrs: import('vue').ComputedRef<HTMLAttributes>;
1
+ import { HTMLAttributes, Ref } from 'vue';
2
+ import { ScrollAreaMetrics } from './scrollAreaModel.js';
3
+ import { ScrollAreaOrientation, ScrollAreaProps } from './types.js';
4
+ interface ScrollAreaRootHandlers {
5
+ onFocusin: () => void;
6
+ onFocusout: (event: FocusEvent) => void;
7
+ onPointerenter: () => void;
8
+ onPointerleave: () => void;
9
+ }
10
+ interface ScrollAreaAttributeState {
11
+ horizontalActive: Readonly<Ref<boolean>>;
12
+ horizontalVisible: Readonly<Ref<boolean>>;
13
+ verticalActive: Readonly<Ref<boolean>>;
14
+ verticalVisible: Readonly<Ref<boolean>>;
15
+ }
16
+ interface UseScrollAreaAttributesOptions {
17
+ metrics: ScrollAreaMetrics;
18
+ onViewportScroll: (event: Event) => void;
19
+ props: Readonly<ScrollAreaProps>;
20
+ rootHandlers: ScrollAreaRootHandlers;
21
+ state: ScrollAreaAttributeState;
22
+ viewport: Ref<HTMLElement | null>;
23
+ }
24
+ export declare function useScrollAreaAttributes({ metrics, onViewportScroll, props, rootHandlers, state, viewport, }: UseScrollAreaAttributesOptions): {
7
25
  contentAttrs: import('vue').ComputedRef<HTMLAttributes>;
26
+ cornerAttrs: import('vue').ComputedRef<{
27
+ 'aria-hidden': boolean;
28
+ 'data-direction': import('../../utils/dom/scroll.js').ScrollDirection;
29
+ 'data-visible': "" | undefined;
30
+ class?: import('vue').ClassValue;
31
+ style?: import('vue').StyleValue;
32
+ }>;
8
33
  horizontalScrollbarAttrs: import('vue').ComputedRef<{
9
34
  role: string;
10
35
  tabindex: number;
@@ -16,11 +41,14 @@ export declare function useScrollAreaPresentation(props: Readonly<ScrollAreaProp
16
41
  'aria-disabled': true | undefined;
17
42
  'aria-hidden': true | undefined;
18
43
  'data-orientation': string;
44
+ 'data-direction': import('../../utils/dom/scroll.js').ScrollDirection;
19
45
  'data-active': "" | undefined;
20
46
  'data-visible': "" | undefined;
21
47
  class?: import('vue').ClassValue;
22
48
  style?: import('vue').StyleValue;
23
49
  }>;
50
+ horizontalThumbAttrs: import('vue').ComputedRef<Pick<HTMLAttributes, "class" | "style">>;
51
+ rootAttrs: import('vue').ComputedRef<Record<string, unknown>>;
24
52
  verticalScrollbarAttrs: import('vue').ComputedRef<{
25
53
  role: string;
26
54
  tabindex: number;
@@ -32,18 +60,13 @@ export declare function useScrollAreaPresentation(props: Readonly<ScrollAreaProp
32
60
  'aria-disabled': true | undefined;
33
61
  'aria-hidden': true | undefined;
34
62
  'data-orientation': string;
63
+ 'data-direction': import('../../utils/dom/scroll.js').ScrollDirection;
35
64
  'data-active': "" | undefined;
36
65
  'data-visible': "" | undefined;
37
66
  class?: import('vue').ClassValue;
38
67
  style?: import('vue').StyleValue;
39
68
  }>;
40
- horizontalThumbAttrs: import('vue').ComputedRef<Pick<HTMLAttributes, "class" | "style">>;
41
69
  verticalThumbAttrs: import('vue').ComputedRef<Pick<HTMLAttributes, "class" | "style">>;
42
- cornerAttrs: import('vue').ComputedRef<{
43
- 'aria-hidden': boolean;
44
- 'data-visible': "" | undefined;
45
- class?: import('vue').ClassValue;
46
- style?: import('vue').StyleValue;
47
- }>;
48
- slotProps: import('vue').ComputedRef<ScrollAreaSlotProps>;
70
+ viewportAttrs: import('vue').ComputedRef<HTMLAttributes>;
49
71
  };
72
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ScrollAreaMetrics } from './scrollAreaModel.js';
2
+ import { ScrollAreaProps } from './types.js';
3
+ export declare function useScrollAreaDerivedState(props: Readonly<ScrollAreaProps>, metrics: ScrollAreaMetrics): {
4
+ horizontalScrollbarActive: import('vue').ComputedRef<boolean>;
5
+ renderHorizontalScrollbar: import('vue').ComputedRef<boolean>;
6
+ renderVerticalScrollbar: import('vue').ComputedRef<boolean>;
7
+ verticalScrollbarActive: import('vue').ComputedRef<boolean>;
8
+ };
@@ -0,0 +1,35 @@
1
+ import { Ref } from 'vue';
2
+ import { ScrollAxis } from '../../utils/dom/scroll.js';
3
+ interface ScrollAreaMeasurementElements {
4
+ content: Ref<HTMLElement | null>;
5
+ horizontalScrollbar: Ref<HTMLElement | null>;
6
+ verticalScrollbar: Ref<HTMLElement | null>;
7
+ viewport: Ref<HTMLElement | null>;
8
+ }
9
+ interface UseScrollAreaMeasurementOptions {
10
+ elements: ScrollAreaMeasurementElements;
11
+ isAxisEnabled: (axis: ScrollAxis) => boolean;
12
+ minimumThumbSize: number;
13
+ }
14
+ export declare function useScrollAreaMeasurement({ elements, isAxisEnabled, minimumThumbSize, }: UseScrollAreaMeasurementOptions): {
15
+ metrics: {
16
+ direction: import('../../utils/dom/scroll.js').ScrollDirection;
17
+ clientWidth: number;
18
+ clientHeight: number;
19
+ scrollWidth: number;
20
+ scrollHeight: number;
21
+ x: number;
22
+ y: number;
23
+ overflowX: boolean;
24
+ overflowY: boolean;
25
+ horizontalThumbSize: number;
26
+ horizontalThumbOffset: number;
27
+ verticalThumbSize: number;
28
+ verticalThumbOffset: number;
29
+ };
30
+ schedulePositionUpdate: () => void;
31
+ scheduleUpdate: () => void;
32
+ update: () => void;
33
+ updatePosition: (viewport?: HTMLElement | null) => void;
34
+ };
35
+ export {};
@@ -1,14 +1,16 @@
1
1
  import { Ref } from 'vue';
2
- import { ScrollAxis } from './scrollAreaCore.js';
3
- import { ScrollAreaControlsController } from './useScrollAreaControls.js';
4
- import { ScrollAreaMetricsController } from './useScrollAreaMetrics.js';
2
+ import { ScrollAxis } from '../../utils/dom/scroll.js';
3
+ import { ScrollAreaAxisState } from './scrollAreaModel.js';
4
+ interface ScrollAreaPointerElements {
5
+ horizontalScrollbar: Ref<HTMLElement | null>;
6
+ verticalScrollbar: Ref<HTMLElement | null>;
7
+ }
5
8
  interface UseScrollAreaPointerOptions {
6
- horizontalScrollbarRef: Ref<HTMLElement | null>;
7
- verticalScrollbarRef: Ref<HTMLElement | null>;
8
- metrics: ScrollAreaMetricsController;
9
- controls: ScrollAreaControlsController;
9
+ elements: ScrollAreaPointerElements;
10
+ isEmbedded: () => boolean;
11
+ refreshAxis: (axis: ScrollAxis) => ScrollAreaAxisState;
10
12
  setDraggingAxis: (axis: ScrollAxis | null) => void;
11
- shouldFocusScrollbar: () => boolean;
13
+ writeAxisPosition: (axis: ScrollAxis, position: number) => void;
12
14
  }
13
15
  export declare function useScrollAreaPointer(options: UseScrollAreaPointerOptions): {
14
16
  onScrollbarPointerdown: (axis: ScrollAxis, event: PointerEvent) => void;
@@ -1,27 +1,22 @@
1
1
  import { Ref } from 'vue';
2
- import { ScrollAxis } from './scrollAreaCore.js';
3
- import { ScrollAreaProps } from './types.js';
2
+ import { ScrollAxis } from '../../utils/dom/scroll.js';
3
+ import { ScrollAreaType } from './types.js';
4
4
  interface UseScrollAreaVisibilityOptions {
5
- props: Readonly<ScrollAreaProps>;
6
- rootRef: Ref<HTMLElement | null>;
7
- horizontalEnabled: Readonly<Ref<boolean>>;
8
- verticalEnabled: Readonly<Ref<boolean>>;
9
- overflowX: () => boolean;
10
- overflowY: () => boolean;
5
+ getHideDelay: () => number | undefined;
6
+ getType: () => ScrollAreaType;
7
+ isScrollbarActive: (axis: ScrollAxis) => boolean;
8
+ root: Ref<HTMLElement | null>;
11
9
  }
12
10
  export declare function useScrollAreaVisibility(options: UseScrollAreaVisibilityOptions): {
13
- renderHorizontalScrollbar: import('vue').ComputedRef<boolean>;
14
- renderVerticalScrollbar: import('vue').ComputedRef<boolean>;
15
- horizontalScrollbarActive: import('vue').ComputedRef<boolean>;
16
- verticalScrollbarActive: import('vue').ComputedRef<boolean>;
17
- horizontalScrollbarVisible: import('vue').ComputedRef<boolean>;
18
- verticalScrollbarVisible: import('vue').ComputedRef<boolean>;
19
- showDuringScroll: () => void;
11
+ horizontalVisible: import('vue').ComputedRef<boolean>;
12
+ rootHandlers: {
13
+ onPointerenter(): void;
14
+ onPointerleave(): void;
15
+ onFocusin(): void;
16
+ onFocusout(event: FocusEvent): void;
17
+ };
20
18
  setDraggingAxis: (axis: ScrollAxis | null) => void;
21
- onPointerenter: () => void;
22
- onPointerleave: () => void;
23
- onFocusin: () => void;
24
- onFocusout: (event: FocusEvent) => void;
19
+ showDuringScroll: () => void;
20
+ verticalVisible: import('vue').ComputedRef<boolean>;
25
21
  };
26
- export type ScrollAreaVisibilityController = ReturnType<typeof useScrollAreaVisibility>;
27
22
  export {};
@@ -7,8 +7,9 @@ export declare function useSelect(props: Readonly<SelectBehaviorProps>, emitUpda
7
7
  triggerRef: Ref<HTMLElement | null, HTMLElement | null>;
8
8
  isOpen: Ref<boolean, boolean>;
9
9
  selectId: string;
10
+ popupId: string;
10
11
  listboxId: string;
11
- control: import('../../composables/useControlState.js').ControlState;
12
+ control: import('../../internal/composables/useControlState.js').ControlState;
12
13
  visibleOptions: import('vue').ComputedRef<SelectOption[]>;
13
14
  focusedIndex: import('vue').ComputedRef<number>;
14
15
  activeDescendantId: import('vue').ComputedRef<string | undefined>;
@@ -2,13 +2,7 @@ import { SelectProps } from './types.js';
2
2
  export type SelectValue = string | number | null;
3
3
  export declare function useSelectNativeValue(props: Readonly<SelectProps>, emitUpdate: (value: SelectValue) => void): {
4
4
  nativeSelectRef: import('vue').Ref<HTMLSelectElement | null, HTMLSelectElement | null>;
5
- controllable: {
6
- initialValue: SelectValue;
7
- isControlled: import('vue').ComputedRef<boolean>;
8
- value: import('vue').ComputedRef<SelectValue>;
9
- setValue: (nextValue: SelectValue) => void;
10
- resetValue: (nextValue?: SelectValue) => void;
11
- };
5
+ controllable: import('../../composables/useControllableValue.js').UseControllableValueReturn<SelectValue>;
12
6
  getNativeValue: (select: HTMLSelectElement) => string | number | null;
13
7
  syncNativeSelection: (value: SelectValue) => void;
14
8
  requestValueUpdate: (value: SelectValue) => void;
@@ -0,0 +1,41 @@
1
+ import { RangeSliderProps, RangeSliderThumb, RangeSliderValue } from './types.js';
2
+ import { SliderBounds } from './sliderModel.js';
3
+ export interface RangeSliderPointerGeometry {
4
+ length: number;
5
+ start: number;
6
+ vertical: boolean;
7
+ }
8
+ export interface RangeSliderPointerCoordinates {
9
+ clientX: number;
10
+ clientY: number;
11
+ }
12
+ interface RangeSliderThumbUpdateOptions {
13
+ thumb: RangeSliderThumb;
14
+ value: number;
15
+ currentValue: RangeSliderValue;
16
+ bounds: SliderBounds;
17
+ step: number | 'any';
18
+ minRange: number;
19
+ nativeMin: RangeSliderValue;
20
+ nativeMax: RangeSliderValue;
21
+ anchorValue?: number;
22
+ }
23
+ export declare function normalizeRangeSliderMinRange(minRange: number, min: number, max: number): number;
24
+ export declare function normalizeRangeSliderValue(value: RangeSliderValue, min: number, max: number, step: number | 'any', minRange?: number): RangeSliderValue;
25
+ export declare function getClosestRangeSliderThumb(value: number, range: RangeSliderValue, activeThumb?: RangeSliderThumb): RangeSliderThumb;
26
+ export declare function getRangeSliderNativeStep(bounds: SliderBounds, step: number | 'any'): number | "any";
27
+ export declare function getRangeSliderNativeLimits(value: RangeSliderValue, bounds: SliderBounds, step: number | 'any', minRange: number): {
28
+ min: RangeSliderValue;
29
+ max: RangeSliderValue;
30
+ };
31
+ export declare function getRangeSliderThumbUpdate({ thumb, value, currentValue, bounds, step, minRange, nativeMin, nativeMax, anchorValue, }: RangeSliderThumbUpdateOptions): {
32
+ thumb: RangeSliderThumb;
33
+ value: RangeSliderValue;
34
+ };
35
+ export declare function getFormattedRangeSliderValue(value: RangeSliderValue, formatter: RangeSliderProps['formatValue']): [string | number, string | number];
36
+ export declare function getRangeSliderAriaValueText(value: RangeSliderValue, ariaValueText: RangeSliderProps['ariaValueText'], formatter: RangeSliderProps['formatValue']): [string | undefined, string | undefined];
37
+ export declare function getRangeSliderThumbIndex(thumb: RangeSliderThumb): 0 | 1;
38
+ export declare function getOppositeRangeSliderThumb(thumb: RangeSliderThumb): RangeSliderThumb;
39
+ export declare function getRangeSliderKeyboardValue(key: string, currentValue: number, step: number, min: number, max: number): number | undefined;
40
+ export declare function getRangeSliderPointerValue(pointer: RangeSliderPointerCoordinates, geometry: RangeSliderPointerGeometry, bounds: SliderBounds): number;
41
+ export {};
@@ -6,7 +6,8 @@ export interface SliderBounds {
6
6
  }
7
7
  interface SliderMarkStyleProperties {
8
8
  position: `--_rp-${string}`;
9
- colors: readonly `--_rp-${string}`[];
9
+ decorativeColors: readonly `--_rp-${string}`[];
10
+ foregroundColors: readonly `--_rp-${string}`[];
10
11
  }
11
12
  interface SliderThumbStyleProperties {
12
13
  size: `--${string}`;
@@ -17,7 +18,6 @@ interface SliderThumbStyleProperties {
17
18
  export declare function normalizeSliderBounds(min: number, max: number): SliderBounds;
18
19
  export declare function normalizeSliderStep(step: number | 'any'): number | "any";
19
20
  export declare function normalizeSliderValue(value: number, min: number, max: number, step: number | 'any'): number;
20
- export declare function getSliderValuePercent(value: number, min: number, max: number): number;
21
21
  export declare function setSliderStyleValue(style: CSSProperties, property: `--${string}`, value: string | undefined): void;
22
22
  export declare function applySliderThumbStyle(style: CSSProperties, thumb: RangeSliderThumbOptions | undefined, properties: SliderThumbStyleProperties): void;
23
23
  export declare function getSliderThumbOptions(thumb: SliderThumb): SliderThumbOptions;
@@ -1,19 +1,12 @@
1
1
  import { CSSProperties } from 'vue';
2
- import { RangeSliderProps, RangeSliderTrackSlotProps, RangeSliderThumb, RangeSliderValue } from './types.js';
3
- type RangeSliderStateProps = Readonly<RangeSliderProps & {
4
- min: number;
5
- max: number;
6
- step: number | 'any';
7
- minRange: number;
8
- tooltip: NonNullable<RangeSliderProps['tooltip']>;
9
- orientation: NonNullable<RangeSliderProps['orientation']>;
10
- ariaLabel: [string, string];
11
- }>;
12
- export declare function normalizeRangeSliderMinRange(minRange: number, min: number, max: number): number;
13
- export declare function normalizeRangeSliderValue(value: RangeSliderValue, min: number, max: number, step: number | 'any', minRange?: number): RangeSliderValue;
14
- export declare function getClosestRangeSliderThumb(value: number, range: RangeSliderValue, activeThumb?: RangeSliderThumb): RangeSliderThumb;
15
- export declare function useRangeSlider(props: RangeSliderStateProps, emitUpdate: (value: RangeSliderValue) => void, getValue?: () => RangeSliderValue): {
16
- control: import('../../composables/useControlState.js').ControlState;
2
+ import { RangeSliderThumb, RangeSliderValue } from './types.js';
3
+ import { RangeSliderStateProps } from './useRangeSliderValueState.js';
4
+ export { getClosestRangeSliderThumb, normalizeRangeSliderMinRange, normalizeRangeSliderValue, } from './rangeSliderModel.js';
5
+ export declare function useRangeSlider(props: RangeSliderStateProps, onChange: (value: RangeSliderValue) => void): {
6
+ nativeElements: import('vue').ComputedRef<[HTMLInputElement | null, HTMLInputElement | null]>;
7
+ setInputRef: (index: number, element: unknown) => void;
8
+ focus: (options?: FocusOptions) => void;
9
+ control: import('../../internal/composables/useControlState.js').ControlState;
17
10
  nativeMin: import('vue').ComputedRef<RangeSliderValue>;
18
11
  nativeMax: import('vue').ComputedRef<RangeSliderValue>;
19
12
  nativeStep: import('vue').ComputedRef<number | "any">;
@@ -33,7 +26,7 @@ export declare function useRangeSlider(props: RangeSliderStateProps, emitUpdate:
33
26
  filled: boolean;
34
27
  style: CSSProperties;
35
28
  }[]>;
36
- trackSlotProps: import('vue').ComputedRef<RangeSliderTrackSlotProps>;
29
+ trackSlotProps: import('vue').ComputedRef<import('./types.js').RangeSliderTrackSlotProps>;
37
30
  trackStyle: import('vue').ComputedRef<CSSProperties>;
38
31
  activeThumb: import('vue').Ref<RangeSliderThumb | undefined, RangeSliderThumb | undefined>;
39
32
  tooltipVisible: import('vue').ComputedRef<boolean>;
@@ -57,4 +50,3 @@ export declare function useRangeSlider(props: RangeSliderStateProps, emitUpdate:
57
50
  onTooltipTrackMouseLeave: () => void;
58
51
  onTooltipKeydown: (thumb: RangeSliderThumb, event: KeyboardEvent) => void;
59
52
  };
60
- export {};
@@ -0,0 +1,40 @@
1
+ import { RangeSliderProps, RangeSliderThumb, RangeSliderTrackSlotProps, RangeSliderValue } from './types.js';
2
+ export type RangeSliderStateProps = Readonly<RangeSliderProps & {
3
+ min: number;
4
+ max: number;
5
+ step: number | 'any';
6
+ minRange: number;
7
+ tooltip: NonNullable<RangeSliderProps['tooltip']>;
8
+ orientation: NonNullable<RangeSliderProps['orientation']>;
9
+ ariaLabel: [string, string];
10
+ }>;
11
+ export declare function useRangeSliderValueState(props: RangeSliderStateProps, onChange: (value: RangeSliderValue) => void, setActiveThumb: (thumb: RangeSliderThumb) => void): {
12
+ nativeElements: import('vue').ComputedRef<[HTMLInputElement | null, HTMLInputElement | null]>;
13
+ setInputRef: (index: number, element: unknown) => void;
14
+ focus: (options?: FocusOptions) => void;
15
+ control: import('../../internal/composables/useControlState.js').ControlState;
16
+ bounds: import('vue').ComputedRef<import('./sliderModel.js').SliderBounds>;
17
+ valueStep: import('vue').ComputedRef<number | "any">;
18
+ hasManualNativeKeyboard: import('vue').ComputedRef<boolean>;
19
+ nativeMin: import('vue').ComputedRef<RangeSliderValue>;
20
+ nativeMax: import('vue').ComputedRef<RangeSliderValue>;
21
+ nativeStep: import('vue').ComputedRef<number | "any">;
22
+ nativeNames: import('vue').ComputedRef<[string | undefined, string | undefined]>;
23
+ nativeIds: import('vue').ComputedRef<[string | undefined, string | undefined]>;
24
+ normalizedValue: import('vue').ComputedRef<RangeSliderValue>;
25
+ valuePercent: import('vue').ComputedRef<RangeSliderValue>;
26
+ formattedValue: import('vue').ComputedRef<[string | number, string | number]>;
27
+ ariaLabels: import('vue').ComputedRef<[string, string]>;
28
+ ariaValueText: import('vue').ComputedRef<[string | undefined, string | undefined]>;
29
+ markItems: import('vue').ComputedRef<{
30
+ key: string;
31
+ value: number;
32
+ label: string | number | undefined;
33
+ hasLabel: boolean;
34
+ filled: boolean;
35
+ style: import('vue').CSSProperties;
36
+ }[]>;
37
+ hasMarkLabels: import('vue').ComputedRef<boolean>;
38
+ trackSlotProps: import('vue').ComputedRef<RangeSliderTrackSlotProps>;
39
+ updateThumb: (thumb: RangeSliderThumb, value: number, anchorValue?: number) => RangeSliderThumb;
40
+ };
@@ -1,16 +1,10 @@
1
1
  import { CSSProperties } from 'vue';
2
- import { SliderProps, SliderTrackSlotProps } from './types.js';
3
- export { getSliderValuePercent, normalizeSliderBounds, normalizeSliderStep, normalizeSliderValue, } from './sliderCore.js';
4
- type SliderStateProps = Readonly<SliderProps & {
5
- min: number;
6
- max: number;
7
- step: number | 'any';
8
- tooltip: NonNullable<SliderProps['tooltip']>;
9
- thumb: NonNullable<SliderProps['thumb']>;
10
- orientation: NonNullable<SliderProps['orientation']>;
11
- }>;
12
- export declare function useSlider(props: SliderStateProps, emitUpdate: (value: number) => void, getValue?: () => number): {
13
- control: import('../../composables/useControlState.js').ControlState;
2
+ import { SliderStateProps } from './useSliderValueState.js';
3
+ export { normalizeSliderBounds, normalizeSliderStep, normalizeSliderValue } from './sliderModel.js';
4
+ export declare function useSlider(props: SliderStateProps, onChange: (value: number) => void): {
5
+ inputRef: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
6
+ focus: (options?: FocusOptions) => void;
7
+ control: import('../../internal/composables/useControlState.js').ControlState;
14
8
  nativeMin: import('vue').ComputedRef<number>;
15
9
  nativeMax: import('vue').ComputedRef<number>;
16
10
  nativeStep: import('vue').ComputedRef<number | "any">;
@@ -28,7 +22,7 @@ export declare function useSlider(props: SliderStateProps, emitUpdate: (value: n
28
22
  style: CSSProperties;
29
23
  }[]>;
30
24
  thumbMode: import('vue').ComputedRef<false | import('./types.js').SliderThumbMode>;
31
- trackSlotProps: import('vue').ComputedRef<SliderTrackSlotProps>;
25
+ trackSlotProps: import('vue').ComputedRef<import('./types.js').SliderTrackSlotProps>;
32
26
  trackStyle: import('vue').ComputedRef<CSSProperties>;
33
27
  trackHovered: import('vue').Ref<boolean, boolean>;
34
28
  dragging: import('vue').Ref<boolean, boolean>;
@@ -47,7 +41,7 @@ export declare function useSlider(props: SliderStateProps, emitUpdate: (value: n
47
41
  tooltipPercent: import('vue').ComputedRef<number>;
48
42
  tooltipFormattedValue: import('vue').ComputedRef<string | number>;
49
43
  tooltipContent: import('vue').ComputedRef<string>;
50
- onInput: (e: Event) => void;
44
+ onInput: (event: Event) => void;
51
45
  onTooltipPointerDown: (event: PointerEvent) => void;
52
46
  onTooltipPointerMove: (event: PointerEvent) => void;
53
47
  onTooltipTrackEnter: (event: PointerEvent) => void;
@@ -0,0 +1,22 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { SliderBounds } from './sliderModel.js';
3
+ import { SliderOrientation } from './types.js';
4
+ interface UseSliderPointerPreviewOptions {
5
+ enabled: () => boolean;
6
+ disabled: () => boolean;
7
+ orientation: () => SliderOrientation;
8
+ bounds: ComputedRef<SliderBounds>;
9
+ step: ComputedRef<number | 'any'>;
10
+ initialValue: number;
11
+ onStateChange: () => void;
12
+ }
13
+ export declare function useSliderPointerPreview(options: UseSliderPointerPreviewOptions): {
14
+ dragging: import('vue').Ref<boolean, boolean>;
15
+ previewAvailable: import('vue').Ref<boolean, boolean>;
16
+ previewValue: import('vue').Ref<number, number>;
17
+ onPointerDown: (event: PointerEvent) => boolean;
18
+ onPointerMove: (event: PointerEvent) => void;
19
+ onTrackEnter: (event: PointerEvent) => void;
20
+ onTrackLeave: () => void;
21
+ };
22
+ export {};
@@ -0,0 +1,40 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { SliderBounds } from './sliderModel.js';
3
+ import { SliderOrientation, SliderProps, SliderTooltip } from './types.js';
4
+ interface UseSliderTooltipStateOptions {
5
+ tooltip: () => SliderTooltip;
6
+ orientation: () => SliderOrientation;
7
+ disabled: () => boolean;
8
+ value: ComputedRef<number>;
9
+ bounds: ComputedRef<SliderBounds>;
10
+ step: ComputedRef<number | 'any'>;
11
+ formatValue: () => SliderProps['formatValue'];
12
+ }
13
+ export declare function useSliderTooltipState(options: UseSliderTooltipStateOptions): {
14
+ trackHovered: import('vue').Ref<boolean, boolean>;
15
+ dragging: import('vue').Ref<boolean, boolean>;
16
+ tooltipVisible: ComputedRef<boolean>;
17
+ tooltipOpen: ComputedRef<boolean>;
18
+ tooltipAlwaysVisible: ComputedRef<boolean>;
19
+ tooltipAnchor: ComputedRef<import('./types.js').SliderTooltipAnchor>;
20
+ tooltipPlacement: ComputedRef<import('../tooltip/index.js').TooltipPlacement>;
21
+ tooltipId: ComputedRef<string | undefined>;
22
+ tooltipColor: ComputedRef<import('../../utils/componentColors.js').ComponentColorValue | undefined>;
23
+ tooltipAutoContrast: ComputedRef<boolean | undefined>;
24
+ tooltipContrastColor: ComputedRef<string | undefined>;
25
+ tooltipOffset: ComputedRef<import('../floating/index.js').FloatingOffset | undefined>;
26
+ tooltipOpenDelay: ComputedRef<number>;
27
+ tooltipArrow: ComputedRef<boolean>;
28
+ tooltipValue: ComputedRef<number>;
29
+ tooltipPercent: ComputedRef<number>;
30
+ tooltipFormattedValue: ComputedRef<string | number>;
31
+ tooltipContent: ComputedRef<string>;
32
+ onTooltipPointerDown: (event: PointerEvent) => void;
33
+ onTooltipPointerMove: (event: PointerEvent) => void;
34
+ onTooltipTrackEnter: (event: PointerEvent) => void;
35
+ onTooltipTrackLeave: () => void;
36
+ onTooltipFocusIn: () => void;
37
+ onTooltipFocusOut: () => void;
38
+ onTooltipKeydown: (event: KeyboardEvent) => void;
39
+ };
40
+ export {};