@salt-ds/lab 1.0.0-alpha.61 → 1.0.0-alpha.63

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 (250) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/css/salt-lab.css +623 -324
  3. package/dist-cjs/date-picker/DatePicker.js +4 -3
  4. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  5. package/dist-cjs/date-picker/DatePickerActions.js +1 -1
  6. package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
  7. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  8. package/dist-cjs/date-picker/DatePickerOverlay.js +0 -4
  9. package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
  10. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +65 -43
  11. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  12. package/dist-cjs/date-picker/DatePickerRangeInput.js +10 -26
  13. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  14. package/dist-cjs/date-picker/DatePickerSingleInput.js +8 -14
  15. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  16. package/dist-cjs/date-picker/useDatePicker.js +10 -7
  17. package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
  18. package/dist-cjs/date-picker/useKeyboard.js +23 -0
  19. package/dist-cjs/date-picker/useKeyboard.js.map +1 -0
  20. package/dist-cjs/index.js +19 -8
  21. package/dist-cjs/index.js.map +1 -1
  22. package/dist-cjs/number-input/NumberInput.css.js +6 -0
  23. package/dist-cjs/number-input/NumberInput.css.js.map +1 -0
  24. package/dist-cjs/{stepper-input/StepperInput.js → number-input/NumberInput.js} +15 -15
  25. package/dist-cjs/number-input/NumberInput.js.map +1 -0
  26. package/dist-cjs/number-input/internal/useActivateWhileMouseDown.js.map +1 -0
  27. package/dist-cjs/number-input/internal/useInterval.js.map +1 -0
  28. package/dist-cjs/number-input/internal/utils.js.map +1 -0
  29. package/dist-cjs/{stepper-input/useStepperInput.js → number-input/useNumberInput.js} +3 -3
  30. package/dist-cjs/number-input/useNumberInput.js.map +1 -0
  31. package/dist-cjs/slider/RangeSlider.js +161 -0
  32. package/dist-cjs/slider/RangeSlider.js.map +1 -0
  33. package/dist-cjs/slider/Slider.js +104 -70
  34. package/dist-cjs/slider/Slider.js.map +1 -1
  35. package/dist-cjs/slider/internal/SliderThumb.css.js +6 -0
  36. package/dist-cjs/slider/internal/SliderThumb.css.js.map +1 -0
  37. package/dist-cjs/slider/internal/SliderThumb.js +136 -70
  38. package/dist-cjs/slider/internal/SliderThumb.js.map +1 -1
  39. package/dist-cjs/slider/internal/SliderTooltip.css.js +6 -0
  40. package/dist-cjs/slider/internal/SliderTooltip.css.js.map +1 -0
  41. package/dist-cjs/slider/internal/SliderTooltip.js +43 -0
  42. package/dist-cjs/slider/internal/SliderTooltip.js.map +1 -0
  43. package/dist-cjs/slider/internal/SliderTrack.css.js +6 -0
  44. package/dist-cjs/slider/internal/SliderTrack.css.js.map +1 -0
  45. package/dist-cjs/slider/internal/SliderTrack.js +160 -80
  46. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -1
  47. package/dist-cjs/slider/internal/useRangeSliderThumb.js +194 -0
  48. package/dist-cjs/slider/internal/useRangeSliderThumb.js.map +1 -0
  49. package/dist-cjs/slider/internal/useSliderThumb.js +123 -0
  50. package/dist-cjs/slider/internal/useSliderThumb.js.map +1 -0
  51. package/dist-cjs/slider/internal/utils.js +97 -72
  52. package/dist-cjs/slider/internal/utils.js.map +1 -1
  53. package/dist-cjs/splitter/SplitHandle.css.js +6 -0
  54. package/dist-cjs/splitter/SplitHandle.css.js.map +1 -0
  55. package/dist-cjs/splitter/SplitHandle.js +60 -0
  56. package/dist-cjs/splitter/SplitHandle.js.map +1 -0
  57. package/dist-cjs/splitter/SplitPanel.css.js +6 -0
  58. package/dist-cjs/splitter/SplitPanel.css.js.map +1 -0
  59. package/dist-cjs/splitter/SplitPanel.js +37 -0
  60. package/dist-cjs/splitter/SplitPanel.js.map +1 -0
  61. package/dist-cjs/splitter/Splitter.js +31 -0
  62. package/dist-cjs/splitter/Splitter.js.map +1 -0
  63. package/dist-cjs/splitter/utils.js +18 -0
  64. package/dist-cjs/splitter/utils.js.map +1 -0
  65. package/dist-cjs/stepped-tracker/stepReducer.js +127 -81
  66. package/dist-cjs/stepped-tracker/stepReducer.js.map +1 -1
  67. package/dist-cjs/stepped-tracker/useStepReducer.js +6 -4
  68. package/dist-cjs/stepped-tracker/useStepReducer.js.map +1 -1
  69. package/dist-cjs/stepped-tracker/utils.js +44 -9
  70. package/dist-cjs/stepped-tracker/utils.js.map +1 -1
  71. package/dist-cjs/tabs-next/TabListNext.css.js +1 -1
  72. package/dist-cjs/tabs-next/TabListNext.js +10 -16
  73. package/dist-cjs/tabs-next/TabListNext.js.map +1 -1
  74. package/dist-cjs/tabs-next/TabOverflowList.css.js +1 -1
  75. package/dist-cjs/tabs-next/TabOverflowList.js +3 -2
  76. package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -1
  77. package/dist-cjs/tabs-next/TabsNext.js +4 -51
  78. package/dist-cjs/tabs-next/TabsNext.js.map +1 -1
  79. package/dist-cjs/tabs-next/TabsNextContext.js +1 -1
  80. package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -1
  81. package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -1
  82. package/dist-cjs/tabs-next/hooks/useOverflow.js +48 -5
  83. package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -1
  84. package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js +93 -0
  85. package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js.map +1 -0
  86. package/dist-es/date-picker/DatePicker.js +4 -3
  87. package/dist-es/date-picker/DatePicker.js.map +1 -1
  88. package/dist-es/date-picker/DatePickerActions.js +1 -1
  89. package/dist-es/date-picker/DatePickerActions.js.map +1 -1
  90. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  91. package/dist-es/date-picker/DatePickerOverlay.js +0 -4
  92. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
  93. package/dist-es/date-picker/DatePickerOverlayProvider.js +67 -45
  94. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  95. package/dist-es/date-picker/DatePickerRangeInput.js +10 -26
  96. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  97. package/dist-es/date-picker/DatePickerSingleInput.js +8 -14
  98. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  99. package/dist-es/date-picker/useDatePicker.js +10 -7
  100. package/dist-es/date-picker/useDatePicker.js.map +1 -1
  101. package/dist-es/date-picker/useKeyboard.js +21 -0
  102. package/dist-es/date-picker/useKeyboard.js.map +1 -0
  103. package/dist-es/index.js +9 -4
  104. package/dist-es/index.js.map +1 -1
  105. package/dist-es/number-input/NumberInput.css.js +4 -0
  106. package/dist-es/number-input/NumberInput.css.js.map +1 -0
  107. package/dist-es/{stepper-input/StepperInput.js → number-input/NumberInput.js} +14 -14
  108. package/dist-es/number-input/NumberInput.js.map +1 -0
  109. package/dist-es/number-input/internal/useActivateWhileMouseDown.js.map +1 -0
  110. package/dist-es/number-input/internal/useInterval.js.map +1 -0
  111. package/dist-es/number-input/internal/utils.js.map +1 -0
  112. package/dist-es/{stepper-input/useStepperInput.js → number-input/useNumberInput.js} +3 -3
  113. package/dist-es/number-input/useNumberInput.js.map +1 -0
  114. package/dist-es/slider/RangeSlider.js +159 -0
  115. package/dist-es/slider/RangeSlider.js.map +1 -0
  116. package/dist-es/slider/Slider.js +107 -73
  117. package/dist-es/slider/Slider.js.map +1 -1
  118. package/dist-es/slider/internal/SliderThumb.css.js +4 -0
  119. package/dist-es/slider/internal/SliderThumb.css.js.map +1 -0
  120. package/dist-es/slider/internal/SliderThumb.js +138 -72
  121. package/dist-es/slider/internal/SliderThumb.js.map +1 -1
  122. package/dist-es/slider/internal/SliderTooltip.css.js +4 -0
  123. package/dist-es/slider/internal/SliderTooltip.css.js.map +1 -0
  124. package/dist-es/slider/internal/SliderTooltip.js +41 -0
  125. package/dist-es/slider/internal/SliderTooltip.js.map +1 -0
  126. package/dist-es/slider/internal/SliderTrack.css.js +4 -0
  127. package/dist-es/slider/internal/SliderTrack.css.js.map +1 -0
  128. package/dist-es/slider/internal/SliderTrack.js +164 -84
  129. package/dist-es/slider/internal/SliderTrack.js.map +1 -1
  130. package/dist-es/slider/internal/useRangeSliderThumb.js +192 -0
  131. package/dist-es/slider/internal/useRangeSliderThumb.js.map +1 -0
  132. package/dist-es/slider/internal/useSliderThumb.js +121 -0
  133. package/dist-es/slider/internal/useSliderThumb.js.map +1 -0
  134. package/dist-es/slider/internal/utils.js +91 -63
  135. package/dist-es/slider/internal/utils.js.map +1 -1
  136. package/dist-es/splitter/SplitHandle.css.js +4 -0
  137. package/dist-es/splitter/SplitHandle.css.js.map +1 -0
  138. package/dist-es/splitter/SplitHandle.js +58 -0
  139. package/dist-es/splitter/SplitHandle.js.map +1 -0
  140. package/dist-es/splitter/SplitPanel.css.js +4 -0
  141. package/dist-es/splitter/SplitPanel.css.js.map +1 -0
  142. package/dist-es/splitter/SplitPanel.js +35 -0
  143. package/dist-es/splitter/SplitPanel.js.map +1 -0
  144. package/dist-es/splitter/Splitter.js +27 -0
  145. package/dist-es/splitter/Splitter.js.map +1 -0
  146. package/dist-es/splitter/utils.js +15 -0
  147. package/dist-es/splitter/utils.js.map +1 -0
  148. package/dist-es/stepped-tracker/stepReducer.js +128 -82
  149. package/dist-es/stepped-tracker/stepReducer.js.map +1 -1
  150. package/dist-es/stepped-tracker/useStepReducer.js +7 -5
  151. package/dist-es/stepped-tracker/useStepReducer.js.map +1 -1
  152. package/dist-es/stepped-tracker/utils.js +43 -9
  153. package/dist-es/stepped-tracker/utils.js.map +1 -1
  154. package/dist-es/tabs-next/TabListNext.css.js +1 -1
  155. package/dist-es/tabs-next/TabListNext.js +11 -17
  156. package/dist-es/tabs-next/TabListNext.js.map +1 -1
  157. package/dist-es/tabs-next/TabOverflowList.css.js +1 -1
  158. package/dist-es/tabs-next/TabOverflowList.js +4 -3
  159. package/dist-es/tabs-next/TabOverflowList.js.map +1 -1
  160. package/dist-es/tabs-next/TabsNext.js +5 -52
  161. package/dist-es/tabs-next/TabsNext.js.map +1 -1
  162. package/dist-es/tabs-next/TabsNextContext.js +1 -1
  163. package/dist-es/tabs-next/TabsNextContext.js.map +1 -1
  164. package/dist-es/tabs-next/hooks/useCollection.js.map +1 -1
  165. package/dist-es/tabs-next/hooks/useOverflow.js +49 -6
  166. package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -1
  167. package/dist-es/tabs-next/hooks/useRestoreActiveTab.js +91 -0
  168. package/dist-es/tabs-next/hooks/useRestoreActiveTab.js.map +1 -0
  169. package/dist-types/date-picker/DatePicker.d.ts +6 -1
  170. package/dist-types/date-picker/DatePickerContext.d.ts +2 -1
  171. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +18 -4
  172. package/dist-types/date-picker/DatePickerRangeInput.d.ts +1 -1
  173. package/dist-types/date-picker/index.d.ts +1 -0
  174. package/dist-types/date-picker/useKeyboard.d.ts +14 -0
  175. package/dist-types/index.d.ts +5 -4
  176. package/dist-types/{stepper-input/StepperInput.d.ts → number-input/NumberInput.d.ts} +7 -7
  177. package/dist-types/number-input/index.d.ts +2 -0
  178. package/dist-types/{stepper-input/useStepperInput.d.ts → number-input/useNumberInput.d.ts} +2 -2
  179. package/dist-types/slider/RangeSlider.d.ts +91 -0
  180. package/dist-types/slider/Slider.d.ts +74 -15
  181. package/dist-types/slider/index.d.ts +1 -1
  182. package/dist-types/slider/internal/SliderThumb.d.ts +20 -7
  183. package/dist-types/slider/internal/SliderTooltip.d.ts +6 -0
  184. package/dist-types/slider/internal/SliderTrack.d.ts +23 -3
  185. package/dist-types/slider/internal/useRangeSliderThumb.d.ts +26 -0
  186. package/dist-types/slider/internal/useSliderThumb.d.ts +24 -0
  187. package/dist-types/slider/internal/utils.d.ts +17 -15
  188. package/dist-types/splitter/SplitHandle.d.ts +21 -0
  189. package/dist-types/splitter/SplitPanel.d.ts +10 -0
  190. package/dist-types/splitter/Splitter.d.ts +22 -0
  191. package/dist-types/splitter/index.d.ts +4 -0
  192. package/dist-types/splitter/utils.d.ts +4 -0
  193. package/dist-types/stepped-tracker/Step.types.d.ts +2 -4
  194. package/dist-types/stepped-tracker/stepReducer.types.d.ts +6 -4
  195. package/dist-types/stepped-tracker/utils.d.ts +6 -3
  196. package/dist-types/tabs/drag-drop/drag-utils.d.ts +6 -6
  197. package/dist-types/tabs-next/TabsNextContext.d.ts +1 -1
  198. package/dist-types/tabs-next/hooks/useOverflow.d.ts +1 -1
  199. package/dist-types/tabs-next/hooks/useRestoreActiveTab.d.ts +10 -0
  200. package/package.json +4 -3
  201. package/dist-cjs/slider/Slider.css.js +0 -6
  202. package/dist-cjs/slider/Slider.css.js.map +0 -1
  203. package/dist-cjs/slider/internal/SliderContext.js +0 -19
  204. package/dist-cjs/slider/internal/SliderContext.js.map +0 -1
  205. package/dist-cjs/slider/internal/SliderMarks.js +0 -29
  206. package/dist-cjs/slider/internal/SliderMarks.js.map +0 -1
  207. package/dist-cjs/slider/internal/SliderSelection.js +0 -33
  208. package/dist-cjs/slider/internal/SliderSelection.js.map +0 -1
  209. package/dist-cjs/slider/internal/useKeyDownThumb.js +0 -50
  210. package/dist-cjs/slider/internal/useKeyDownThumb.js.map +0 -1
  211. package/dist-cjs/stepper-input/StepperInput.css.js +0 -6
  212. package/dist-cjs/stepper-input/StepperInput.css.js.map +0 -1
  213. package/dist-cjs/stepper-input/StepperInput.js.map +0 -1
  214. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js.map +0 -1
  215. package/dist-cjs/stepper-input/internal/useInterval.js.map +0 -1
  216. package/dist-cjs/stepper-input/internal/utils.js.map +0 -1
  217. package/dist-cjs/stepper-input/useStepperInput.js.map +0 -1
  218. package/dist-es/slider/Slider.css.js +0 -4
  219. package/dist-es/slider/Slider.css.js.map +0 -1
  220. package/dist-es/slider/internal/SliderContext.js +0 -16
  221. package/dist-es/slider/internal/SliderContext.js.map +0 -1
  222. package/dist-es/slider/internal/SliderMarks.js +0 -27
  223. package/dist-es/slider/internal/SliderMarks.js.map +0 -1
  224. package/dist-es/slider/internal/SliderSelection.js +0 -31
  225. package/dist-es/slider/internal/SliderSelection.js.map +0 -1
  226. package/dist-es/slider/internal/useKeyDownThumb.js +0 -48
  227. package/dist-es/slider/internal/useKeyDownThumb.js.map +0 -1
  228. package/dist-es/stepper-input/StepperInput.css.js +0 -4
  229. package/dist-es/stepper-input/StepperInput.css.js.map +0 -1
  230. package/dist-es/stepper-input/StepperInput.js.map +0 -1
  231. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js.map +0 -1
  232. package/dist-es/stepper-input/internal/useInterval.js.map +0 -1
  233. package/dist-es/stepper-input/internal/utils.js.map +0 -1
  234. package/dist-es/stepper-input/useStepperInput.js.map +0 -1
  235. package/dist-types/slider/internal/SliderContext.d.ts +0 -11
  236. package/dist-types/slider/internal/SliderMarks.d.ts +0 -7
  237. package/dist-types/slider/internal/SliderSelection.d.ts +0 -4
  238. package/dist-types/slider/internal/index.d.ts +0 -3
  239. package/dist-types/slider/internal/useKeyDownThumb.d.ts +0 -2
  240. package/dist-types/slider/types.d.ts +0 -4
  241. package/dist-types/stepper-input/index.d.ts +0 -2
  242. /package/dist-cjs/{stepper-input → number-input}/internal/useActivateWhileMouseDown.js +0 -0
  243. /package/dist-cjs/{stepper-input → number-input}/internal/useInterval.js +0 -0
  244. /package/dist-cjs/{stepper-input → number-input}/internal/utils.js +0 -0
  245. /package/dist-es/{stepper-input → number-input}/internal/useActivateWhileMouseDown.js +0 -0
  246. /package/dist-es/{stepper-input → number-input}/internal/useInterval.js +0 -0
  247. /package/dist-es/{stepper-input → number-input}/internal/utils.js +0 -0
  248. /package/dist-types/{stepper-input → number-input}/internal/useActivateWhileMouseDown.d.ts +0 -0
  249. /package/dist-types/{stepper-input → number-input}/internal/useInterval.d.ts +0 -0
  250. /package/dist-types/{stepper-input → number-input}/internal/utils.d.ts +0 -0
@@ -0,0 +1,14 @@
1
+ import type { ElementProps, FloatingContext } from "@floating-ui/react";
2
+ export interface UseKeyboardProps {
3
+ /**
4
+ * Whether the hook is enabled
5
+ * @default true
6
+ */
7
+ enabled?: boolean;
8
+ }
9
+ /**
10
+ * Floating UI Interactions hook, that will open DatePicker on keydown
11
+ * @param context
12
+ * @param props
13
+ */
14
+ export declare function useKeyboard(context: FloatingContext, props: UseKeyboardProps): ElementProps;
@@ -1,6 +1,6 @@
1
1
  export type { SelectHandler, SelectionChangeHandler, SelectionStrategy, useCollectionItems, } from "./common-hooks";
2
- export type { ListChangeHandler as ListChangeHandlerDeprecated, ListSelectHandler as ListSelectHandlerDeprecated, } from "./list-deprecated";
3
2
  export { ListItemBase as ListItemBaseDeprecated, useListItem as useListItemDeprecated, } from "./list-deprecated";
3
+ export type { ListChangeHandler as ListChangeHandlerDeprecated, ListSelectHandler as ListSelectHandlerDeprecated, } from "./list-deprecated";
4
4
  export * from "./app-header";
5
5
  export * from "./breadcrumbs";
6
6
  export * from "./button-bar";
@@ -19,11 +19,11 @@ export * from "./deck-layout";
19
19
  export * from "./dialog";
20
20
  export * from "./dropdown";
21
21
  export * from "./editable-label";
22
- export { FormFieldLegacy as FormField, type FormFieldLegacyProps as FormFieldProps, FormLabel, } from "./form-field-legacy";
23
22
  export * from "./form-field-context-legacy";
23
+ export { FormFieldLegacy as FormField, FormLabel, type FormFieldLegacyProps as FormFieldProps, } from "./form-field-legacy";
24
24
  export * from "./form-group";
25
25
  export * from "./formatted-input";
26
- export { InputLegacy as Input, type InputLegacyProps as InputProps, StaticInputAdornment, } from "./input-legacy";
26
+ export { InputLegacy as Input, StaticInputAdornment, type InputLegacyProps as InputProps, } from "./input-legacy";
27
27
  export * from "./layer-layout";
28
28
  export * from "./list";
29
29
  export * from "./list-next";
@@ -31,15 +31,16 @@ export * from "./localization-provider";
31
31
  export * from "./logo";
32
32
  export * from "./menu-button";
33
33
  export * from "./metric";
34
+ export * from "./number-input";
34
35
  export * from "./overlay";
35
36
  export * from "./portal";
36
37
  export * from "./query-input";
37
38
  export * from "./responsive";
38
39
  export * from "./search-input";
39
40
  export * from "./slider";
41
+ export * from "./splitter";
40
42
  export * from "./static-list";
41
43
  export * from "./stepped-tracker";
42
- export * from "./stepper-input";
43
44
  export * from "./system-status";
44
45
  export * from "./tabs";
45
46
  export * from "./tabs-next";
@@ -1,6 +1,6 @@
1
1
  import { type ValidationStatus } from "@salt-ds/core";
2
2
  import { type ComponentPropsWithoutRef, type InputHTMLAttributes, type ReactNode, type Ref, type SyntheticEvent } from "react";
3
- export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
3
+ export interface NumberInputProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
4
4
  /**
5
5
  * A boolean. When `true`, the input will receive a full border.
6
6
  */
@@ -14,7 +14,7 @@ export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">,
14
14
  */
15
15
  defaultValue?: number | string;
16
16
  /**
17
- * If `true`, the stepper input will be disabled.
17
+ * If `true`, the number input will be disabled.
18
18
  */
19
19
  disabled?: boolean;
20
20
  /**
@@ -28,7 +28,7 @@ export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">,
28
28
  */
29
29
  endAdornment?: ReactNode;
30
30
  /**
31
- * Whether to hide the stepper buttons. Defaults to `false`.
31
+ * Whether to hide the number buttons. Defaults to `false`.
32
32
  * @default false
33
33
  */
34
34
  hideButtons?: boolean;
@@ -51,7 +51,7 @@ export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">,
51
51
  */
52
52
  min?: number;
53
53
  /**
54
- * Callback when stepper input value is changed.
54
+ * Callback when number input value is changed.
55
55
  * @param event - the event triggers value change, could be undefined during increment / decrement button long press
56
56
  */
57
57
  onChange?: (event: SyntheticEvent | undefined, value: number | string) => void;
@@ -68,7 +68,7 @@ export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">,
68
68
  */
69
69
  startAdornment?: ReactNode;
70
70
  /**
71
- * The amount to increment or decrement the value by when using the stepper buttons or Up Arrow and Down Arrow keys. Default to 1.
71
+ * The amount to increment or decrement the value by when using the number buttons or Up Arrow and Down Arrow keys. Default to 1.
72
72
  * @default 1
73
73
  */
74
74
  step?: number;
@@ -93,8 +93,8 @@ export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">,
93
93
  */
94
94
  variant?: "primary" | "secondary";
95
95
  /**
96
- * The value of the stepper input. The component will be controlled if this prop is provided.
96
+ * The value of the number input. The component will be controlled if this prop is provided.
97
97
  */
98
98
  value?: number | string | undefined;
99
99
  }
100
- export declare const StepperInput: import("react").ForwardRefExoticComponent<StepperInputProps & import("react").RefAttributes<HTMLDivElement>>;
100
+ export declare const NumberInput: import("react").ForwardRefExoticComponent<NumberInputProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export * from "./useNumberInput";
2
+ export * from "./NumberInput";
@@ -1,9 +1,9 @@
1
1
  import { type Dispatch, type MouseEvent, type MutableRefObject, type SetStateAction, type SyntheticEvent } from "react";
2
- import type { StepperInputProps } from "./StepperInput";
2
+ import type { NumberInputProps } from "./NumberInput";
3
3
  /**
4
4
  * Manages increment / decrement logic
5
5
  */
6
- export declare const useStepperInput: ({ decimalPlaces, disabled, inputRef, max, min, onChange, readOnly, setValue, step, stepBlock, value, }: Pick<StepperInputProps, "value" | "max" | "min" | "onChange" | "disabled" | "readOnly" | "step" | "inputRef" | "decimalPlaces" | "stepBlock"> & {
6
+ export declare const useNumberInput: ({ decimalPlaces, disabled, inputRef, max, min, onChange, readOnly, setValue, step, stepBlock, value, }: Pick<NumberInputProps, "value" | "max" | "min" | "onChange" | "disabled" | "readOnly" | "step" | "inputRef" | "decimalPlaces" | "stepBlock"> & {
7
7
  setValue: Dispatch<SetStateAction<string | number | undefined>>;
8
8
  inputRef: MutableRefObject<HTMLInputElement | null>;
9
9
  }) => {
@@ -0,0 +1,91 @@
1
+ import { type HTMLAttributes, type SyntheticEvent } from "react";
2
+ export interface RangeSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
3
+ /**
4
+ * When minimum and maximum labels are defined, ensure
5
+ * they are confined within the boundary of the slider.
6
+ */
7
+ constrainLabelPosition?: boolean;
8
+ /**
9
+ * The number of allowed decimal places
10
+ * @default 2
11
+ */
12
+ decimalPlaces?: number;
13
+ /**
14
+ * The default value. Use when the component is not controlled.
15
+ * @default [min, min + (max - min) / 2]
16
+ */
17
+ defaultValue?: [number, number];
18
+ /**
19
+ * Disable the slider.
20
+ */
21
+ disabled?: boolean;
22
+ /**
23
+ * Show visual ticks above the marks.
24
+ */
25
+ showTicks?: boolean;
26
+ /**
27
+ * A callback to format the display value in the tooltip, min and max labels
28
+ * and the `aria-valuetext` attribute.
29
+ */
30
+ format?: (value: number) => string | number;
31
+ /**
32
+ * Marks that are displayed under the track.
33
+ */
34
+ marks?: {
35
+ label: string;
36
+ value: number;
37
+ }[];
38
+ /**
39
+ * Maximum slider value.
40
+ * @default 10
41
+ */
42
+ max?: number;
43
+ /**
44
+ * Minimum slider value.
45
+ * @default 0
46
+ */
47
+ min?: number;
48
+ /**
49
+ * Label for maximum value.
50
+ */
51
+ maxLabel?: string;
52
+ /**
53
+ * Label for minimum value.
54
+ */
55
+ minLabel?: string;
56
+ /**
57
+ * Callback called when slider value is changed.
58
+ * Event is either an Input change event or a click event.
59
+ */
60
+ onChange?: (event: SyntheticEvent<unknown> | Event, value: [number, number]) => void;
61
+ /**
62
+ * Callback called when the slider is stopped from being dragged or
63
+ * its value is changed from the keyboard.
64
+ * Event is either an Input change event or a click event.
65
+ */
66
+ onChangeEnd?: (event: SyntheticEvent<unknown> | Event, value: [number, number]) => void;
67
+ /**
68
+ * Restrict slider value to marks only. The step will be ignored.
69
+ */
70
+ restrictToMarks?: boolean;
71
+ /**
72
+ * Show the slider value in a tooltip when the thumb is hovered.
73
+ * @default true
74
+ */
75
+ showTooltip?: boolean;
76
+ /**
77
+ * Minimum interval the slider thumb can move.
78
+ * @default 1
79
+ */
80
+ step?: number;
81
+ /**
82
+ * Maximum interval the slider thumb can move when using PageUp and PageDown keys.
83
+ * @default 2
84
+ */
85
+ stepMultiplier?: number;
86
+ /**
87
+ * Value of the slider, to be used when in a controlled state.
88
+ */
89
+ value?: [number, number];
90
+ }
91
+ export declare const RangeSlider: import("react").ForwardRefExoticComponent<RangeSliderProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,33 +1,92 @@
1
- import { type HTMLAttributes } from "react";
2
- import type { SliderChangeHandler, SliderValue } from "./types";
1
+ import { type HTMLAttributes, type SyntheticEvent } from "react";
3
2
  export interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
4
3
  /**
5
- * Minimum slider value
4
+ * When minimum and maximum labels are defined, ensure
5
+ * they are confined within the boundary of the slider.
6
+ * @default false
6
7
  */
7
- min?: number;
8
+ constrainLabelPosition?: boolean;
9
+ /**
10
+ * The number of allowed decimal places
11
+ * @default 2
12
+ */
13
+ decimalPlaces?: number;
14
+ /**
15
+ * The default value. Use when the component is not controlled.
16
+ * @default min + (max - min) / 2,
17
+ */
18
+ defaultValue?: number;
19
+ /**
20
+ * Disable the slider.
21
+ */
22
+ disabled?: boolean;
8
23
  /**
9
- * Maximum slider value
24
+ * A callback to format the display value in the tooltip, min and max labels
25
+ * and the `aria-valuetext` attribute.
26
+ */
27
+ format?: (value: number) => string | number;
28
+ /**
29
+ * Marks that are displayed under the track.
30
+ */
31
+ marks?: {
32
+ label: string;
33
+ value: number;
34
+ }[];
35
+ /**
36
+ * Maximum slider value.
37
+ * @default 10
10
38
  */
11
39
  max?: number;
12
40
  /**
13
- * Minimum interval the slider thumb can move
41
+ * Minimum slider value.
42
+ * @default 0
14
43
  */
15
- step?: number;
44
+ min?: number;
16
45
  /**
17
- * Initial value of the slider
46
+ * Label for maximum value.
18
47
  */
19
- defaultValue?: SliderValue;
48
+ maxLabel?: string;
20
49
  /**
21
- * The markings the slider is displayed with
50
+ * Label for the minimum value.
22
51
  */
23
- marks?: "inline" | "bottom" | "all";
52
+ minLabel?: string;
53
+ /**
54
+ * Callback called when slider value is changed.
55
+ * Event is either an Input change event or a click event.
56
+ */
57
+ onChange?: (event: SyntheticEvent<unknown> | Event, value: number) => void;
58
+ /**
59
+ * Callback called when the slider is stopped from being dragged or
60
+ * its value is changed from the keyboard.
61
+ * Event is either an Input change event or a click event.
62
+ */
63
+ onChangeEnd?: (event: SyntheticEvent<unknown> | Event, value: number) => void;
64
+ /**
65
+ * Restrict slider value to marks only. The step will be ignored.
66
+ */
67
+ restrictToMarks?: boolean;
68
+ /**
69
+ * Show visual ticks above the marks.
70
+ */
71
+ showTicks?: boolean;
72
+ /**
73
+ * Show the slider value in a tooltip when the thumb is hovered.
74
+ * @default true
75
+ */
76
+ showTooltip?: boolean;
77
+ /**
78
+ * Minimum interval the slider thumb can move.
79
+ * @default 1
80
+ */
81
+ step?: number;
24
82
  /**
25
- * Value of the slider, to be used when in a controlled state
83
+ * Maximum interval the slider thumb can move when using PageUp and PageDown keys.
84
+ * @default 2
26
85
  */
27
- value?: SliderValue;
86
+ stepMultiplier?: number;
28
87
  /**
29
- * Change handler to be used when in a controlled state
88
+ * Value of the slider, to be used when in a controlled state.
30
89
  */
31
- onChange?: SliderChangeHandler;
90
+ value?: number;
32
91
  }
33
92
  export declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,2 +1,2 @@
1
1
  export * from "./Slider";
2
- export * from "./types";
2
+ export * from "./RangeSlider";
@@ -1,8 +1,21 @@
1
- import { type ComponentPropsWithoutRef } from "react";
2
- import type { ActiveThumbIndex, ThumbIndex } from "../types";
3
- export interface SliderThumbProps extends ComponentPropsWithoutRef<"div"> {
4
- index: ThumbIndex;
5
- activeThumb: ActiveThumbIndex;
6
- setActiveThumb: (index: ActiveThumbIndex) => void;
1
+ import { type ChangeEvent, type ComponentPropsWithoutRef } from "react";
2
+ interface SliderThumbProps extends Omit<ComponentPropsWithoutRef<"input">, "onChange" | "defaultValue" | "min" | "max"> {
3
+ disabled: boolean;
4
+ format?: (value: number) => number | string;
5
+ handleInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
6
+ handleKeydownOnThumb: (event: React.KeyboardEvent) => void;
7
+ handlePointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
8
+ index?: number;
9
+ max: number;
10
+ maxLabel?: string;
11
+ min: number;
12
+ minLabel?: string;
13
+ offsetPercentage?: string;
14
+ showTooltip?: boolean;
15
+ sliderValue: [number, number] | number;
16
+ step: number;
17
+ stepMultiplier: number;
18
+ trackDragging: boolean;
7
19
  }
8
- export declare function SliderThumb(props: SliderThumbProps): JSX.Element;
20
+ export declare const SliderThumb: ({ "aria-label": ariaLabel, "aria-valuetext": ariaValueText, "aria-labelledby": ariaLabelledBy, disabled, format, handleInputChange, handleKeydownOnThumb, handlePointerDown, index, max, maxLabel, min, minLabel, offsetPercentage, showTooltip, sliderValue, step, stepMultiplier, trackDragging, ...rest }: SliderThumbProps) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,6 @@
1
+ interface SliderTooltipProps {
2
+ value: number | string;
3
+ open?: boolean;
4
+ }
5
+ export declare const SliderTooltip: ({ value, open }: SliderTooltipProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -1,4 +1,24 @@
1
- import { type ComponentPropsWithoutRef } from "react";
2
- export interface SliderTrackProps extends ComponentPropsWithoutRef<"div"> {
1
+ import { type HTMLAttributes, type RefObject } from "react";
2
+ interface SliderTrackProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
3
+ children: React.ReactNode;
4
+ constrainLabelPosition?: boolean;
5
+ disabled: boolean;
6
+ showTicks?: boolean;
7
+ format?: (value: number) => string | number;
8
+ handlePointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
9
+ isDragging: boolean;
10
+ isRange?: boolean;
11
+ marks?: {
12
+ label: string;
13
+ value: number;
14
+ }[];
15
+ max: number;
16
+ maxLabel?: number | string;
17
+ min: number;
18
+ minLabel?: number | string;
19
+ progressPercentage?: number;
20
+ progressPercentageRange?: [number, number];
21
+ sliderRef: RefObject<HTMLDivElement>;
3
22
  }
4
- export declare const SliderTrack: ({ ...props }: SliderTrackProps) => import("react/jsx-runtime").JSX.Element;
23
+ export declare const SliderTrack: import("react").ForwardRefExoticComponent<SliderTrackProps & import("react").RefAttributes<HTMLDivElement>>;
24
+ export {};
@@ -0,0 +1,26 @@
1
+ import { type ChangeEvent, type Dispatch, type SetStateAction, type SyntheticEvent } from "react";
2
+ import type { SliderProps } from "../Slider";
3
+ declare type UseRangeSliderThumbProps = Pick<SliderProps, "min" | "max" | "step"> & {
4
+ decimalPlaces: number;
5
+ handleInputChange: (event: ChangeEvent<HTMLInputElement>, thumbIndex: number) => void;
6
+ marks?: {
7
+ label: string;
8
+ value: number;
9
+ }[];
10
+ onChange?: (event: SyntheticEvent<unknown> | Event, value: [number, number]) => void;
11
+ onChangeEnd?: (event: SyntheticEvent<unknown> | Event, value: [number, number]) => void;
12
+ restrictToMarks?: boolean;
13
+ setValue: Dispatch<SetStateAction<[number, number]>>;
14
+ stepMultiplier: number;
15
+ value: [number, number];
16
+ };
17
+ export declare const useRangeSliderThumb: ({ decimalPlaces, handleInputChange, marks, min, max, step, onChange, onChangeEnd, restrictToMarks, setValue, stepMultiplier, value, }: UseRangeSliderThumbProps) => {
18
+ handleKeydownOnThumb: (event: React.KeyboardEvent, thumbIndex: number) => void;
19
+ handlePointerDownOnThumb: (event: React.PointerEvent<HTMLDivElement>, thumbIndex?: number | undefined) => void;
20
+ handlePointerDownOnTrack: (event: React.PointerEvent<HTMLDivElement>) => void;
21
+ isDragging: boolean;
22
+ preventThumbOverlap: (currentValue: number, value: [number, number], thumbIndex: number) => [number, number];
23
+ sliderRef: import("react").RefObject<HTMLDivElement>;
24
+ thumbIndexState: number;
25
+ };
26
+ export {};
@@ -0,0 +1,24 @@
1
+ import { type ChangeEvent, type Dispatch, type SetStateAction, type SyntheticEvent } from "react";
2
+ import type { SliderProps } from "../Slider";
3
+ declare type UseSliderThumbProps = Pick<SliderProps, "min" | "max" | "step"> & {
4
+ decimalPlaces: number;
5
+ handleInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
6
+ marks?: {
7
+ label: string;
8
+ value: number;
9
+ }[];
10
+ onChange?: (event: SyntheticEvent<unknown> | Event, value: number) => void;
11
+ onChangeEnd?: (event: SyntheticEvent<unknown> | Event, value: number) => void;
12
+ restrictToMarks?: boolean;
13
+ setValue: Dispatch<SetStateAction<number>>;
14
+ stepMultiplier: number;
15
+ value: number;
16
+ };
17
+ export declare const useSliderThumb: ({ decimalPlaces, handleInputChange, marks, min, max, step, onChange, onChangeEnd, restrictToMarks, setValue, stepMultiplier, value, }: UseSliderThumbProps) => {
18
+ handleKeydownOnThumb: (event: React.KeyboardEvent) => void;
19
+ handlePointerDownOnThumb: (event: React.PointerEvent<HTMLDivElement>) => void;
20
+ handlePointerDownOnTrack: (event: React.PointerEvent<HTMLDivElement>) => void;
21
+ isDragging: boolean;
22
+ sliderRef: import("react").RefObject<HTMLDivElement>;
23
+ };
24
+ export {};
@@ -1,18 +1,20 @@
1
1
  import type { RefObject } from "react";
2
- import type { SliderChangeHandler, SliderValue, ThumbIndex } from "../types";
3
- export declare const getValue: (trackRef: RefObject<Element>, min: number, max: number, step: number, clientX: number) => number;
4
- export declare const setValue: (value: SliderValue, newValue: number, index: ThumbIndex, onChange: SliderChangeHandler) => void;
5
- export declare const roundToStep: (value: number, step: number) => number;
6
- export declare const clampValue: (value: number, [min, max]: number[]) => number;
7
- export declare const getPercentage: (min: number, max: number, value: number) => number;
8
- export declare const getPercentageDifference: (min: number, max: number, value: number[]) => string;
9
- export declare const getPercentageOffset: (min: number, max: number, value: number[]) => string;
10
- export declare const countDecimalPlaces: (num: number) => number;
11
- export declare const getMarkStyles: (min: number, max: number, step: number) => {
2
+ export declare const toFloat: (value: number | string) => number;
3
+ export declare const calculateMarkPosition: (value: number | string, max: number, min: number) => number;
4
+ export declare const calculatePercentage: (value: number, max: number, min: number) => number;
5
+ export declare const clamp: (value: number, max: number, min: number, step: number, decimalPlaces: number, marks?: {
6
+ value: number;
7
+ label: string;
8
+ }[] | undefined, restrictToMarks?: boolean | undefined) => number;
9
+ export declare const clampRange: (range: [number, number], max: number, min: number, step: number, decimalPlaces: number, marks?: {
10
+ value: number;
11
+ label: string;
12
+ }[] | undefined, restrictToMarks?: boolean | undefined) => [number, number];
13
+ export declare const getClickedPosition: (sliderRef: RefObject<HTMLDivElement>, clientX: number, max: number, min: number, step: number, decimalPlaces: number, marks?: {
14
+ label: string;
15
+ value: number;
16
+ }[] | undefined, restrictToMarks?: boolean | undefined) => number | undefined;
17
+ export declare const getKeyboardValue: (event: React.KeyboardEvent, value: number, step: number, stepMultiplier: number, max: number, min: number, restrictToMarks?: boolean | undefined, marks?: {
12
18
  label: string;
13
19
  value: number;
14
- position: string;
15
- }[];
16
- export declare const getNearestIndex: (value: SliderValue, newValue: number) => ThumbIndex;
17
- export declare const preventOverlappingValues: (value: SliderValue, newValue: number, index: ThumbIndex) => number;
18
- export declare const parseValueProp: (value: number[] | undefined, min: number, max: number) => SliderValue | undefined;
20
+ }[] | undefined) => number;
@@ -0,0 +1,21 @@
1
+ import { type PanelResizeHandleProps } from "react-resizable-panels";
2
+ export declare type SplitHandleVariant = "primary" | "secondary" | "tertiary" | "transparent";
3
+ export declare type SplitHandleBorder = "top" | "bottom" | "right" | "left" | "top-bottom" | "left-right" | "none";
4
+ export interface SplitHandleProps extends PanelResizeHandleProps {
5
+ /**
6
+ * Styling variant
7
+ * @default "primary"
8
+ */
9
+ variant?: SplitHandleVariant;
10
+ /**
11
+ * Change which sides get a border displayed
12
+ *
13
+ * Default is based on the orientation and appearance
14
+ * set on the parent Stepper components, ex.
15
+ * bordered + vertical = left-right
16
+ * bordered + horizontal = top-bottom
17
+ * transparent = none
18
+ */
19
+ border?: SplitHandleBorder;
20
+ }
21
+ export declare function SplitHandle({ variant: variantProp, border: borderProp, hitAreaMargins, className, ...props }: SplitHandleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { type ImperativePanelHandle, type PanelProps } from "react-resizable-panels";
2
+ export declare type SplitPanelVariant = "primary" | "secondary" | "tertiary";
3
+ export interface SplitPanelProps extends PanelProps {
4
+ /**
5
+ * Styling variant
6
+ * @default "primary"
7
+ */
8
+ variant?: SplitPanelVariant;
9
+ }
10
+ export declare const SplitPanel: import("react").ForwardRefExoticComponent<SplitPanelProps & import("react").RefAttributes<ImperativePanelHandle>>;
@@ -0,0 +1,22 @@
1
+ import { type ReactNode } from "react";
2
+ import { type PanelGroupProps } from "react-resizable-panels";
3
+ export declare type SplitterAppearance = "bordered" | "transparent";
4
+ export declare type SplitterOrientation = "horizontal" | "vertical";
5
+ export declare const OrientationContext: import("react").Context<SplitterOrientation>;
6
+ export declare const AppearanceContext: import("react").Context<SplitterAppearance>;
7
+ export interface SplitterProps extends Omit<PanelGroupProps, "direction"> {
8
+ /**
9
+ * The orientation of the splitter.
10
+ * Replaces `PanelGroupProps["direction"]`
11
+ */
12
+ orientation: SplitterOrientation;
13
+ /**
14
+ * The appearance of the splitter.
15
+ * If set to "transparent", the splitter handle will
16
+ * be transparent, hence the background will be visible.
17
+ * @default "bordered"
18
+ */
19
+ appearance?: SplitterAppearance;
20
+ children: ReactNode;
21
+ }
22
+ export declare function Splitter({ orientation, appearance: appearanceProp, ...props }: SplitterProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { Splitter, type SplitterProps } from "./Splitter";
2
+ export { SplitPanel, type SplitPanelProps } from "./SplitPanel";
3
+ export { SplitHandle, type SplitHandleProps } from "./SplitHandle";
4
+ export type { ImperativePanelHandle } from "react-resizable-panels";
@@ -0,0 +1,4 @@
1
+ import type { SplitHandleBorder } from "./SplitHandle";
2
+ import type { SplitterAppearance, SplitterOrientation } from "./Splitter";
3
+ export declare function computeAccent(appearance: SplitterAppearance, orientation: SplitterOrientation): SplitHandleBorder;
4
+ export declare function computeVariant(appearance: SplitterAppearance): "primary" | "transparent";
@@ -11,11 +11,9 @@ export interface StepProps extends Omit<ComponentPropsWithoutRef<"li">, "onToggl
11
11
  substeps?: StepRecord[];
12
12
  children?: ReactNode;
13
13
  }
14
- export declare type StepRecord = (Omit<StepProps, "children"> & {
14
+ export declare type StepRecord = Omit<StepProps, "children"> & {
15
15
  id: string;
16
- }) | (Omit<StepProps, "children"> & {
17
- key: string;
18
- });
16
+ };
19
17
  export declare type StepStatus = "warning" | "error";
20
18
  export declare type StepStage = "pending" | "locked" | "completed" | "inprogress" | "active";
21
19
  export declare type StepDepth = number;
@@ -2,10 +2,10 @@ import type { StepRecord } from ".";
2
2
  export interface StepReducerState {
3
3
  steps: StepRecord[];
4
4
  flatSteps: StepRecord[];
5
+ activeStepIndex: number;
5
6
  activeStep: StepRecord | null;
6
7
  previousStep: StepRecord | null;
7
8
  nextStep: StepRecord | null;
8
- activeStepIndex: number;
9
9
  started: boolean;
10
10
  ended: boolean;
11
11
  }
@@ -14,11 +14,13 @@ export declare type StepReducerAction = {
14
14
  } | {
15
15
  type: "previous";
16
16
  } | {
17
- type: "error";
17
+ type: "reset";
18
+ } | {
19
+ type: "status/error";
18
20
  } | {
19
- type: "warning";
21
+ type: "status/warning";
20
22
  } | {
21
- type: "clear";
23
+ type: "status/clear";
22
24
  };
23
25
  export interface StepReducerOptions {
24
26
  activeStepId?: string;
@@ -1,7 +1,10 @@
1
- import type { StepRecord, StepStage } from "./Step.types";
1
+ import type { StepRecord, StepStage, StepStatus } from "./Step.types";
2
2
  import type { StepReducerOptions, StepReducerState } from "./stepReducer.types";
3
- export declare function assignSteps(steps: StepRecord[], stage?: StepStage): StepRecord[];
4
- export declare function resetSteps(steps: StepRecord[]): StepRecord[];
3
+ export declare function assignStepsStage(steps: StepRecord[], stage?: StepStage): StepRecord[];
4
+ export declare function assignStepStatus(steps: StepRecord[], stepId: string, status: StepStatus | undefined): StepRecord[];
5
+ export declare function resetSteps(steps: StepRecord[], options?: {
6
+ resetStatus: boolean;
7
+ }): StepRecord[];
5
8
  export declare function autoStageSteps(steps: StepRecord[], options?: StepReducerOptions): StepRecord[];
6
9
  export declare function flattenSteps(steps: StepRecord[]): StepRecord[];
7
10
  export declare function initStepReducerState(initialSteps: StepRecord[], options?: StepReducerOptions): StepReducerState;