@accelint/design-toolkit 9.13.0 → 10.1.0

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 (317) hide show
  1. package/catalog-info.yaml +1 -1
  2. package/dist/components/accordion/group.d.ts +2 -2
  3. package/dist/components/accordion/index.d.ts +2 -2
  4. package/dist/components/accordion/panel.d.ts +2 -2
  5. package/dist/components/accordion/trigger.d.ts +2 -2
  6. package/dist/components/action-bar/index.d.ts +2 -2
  7. package/dist/components/audio/index.d.ts +2 -2
  8. package/dist/components/avatar/context.d.ts +2 -2
  9. package/dist/components/avatar/index.d.ts +2 -2
  10. package/dist/components/badge/context.d.ts +4 -4
  11. package/dist/components/breadcrumbs/index.d.ts +2 -2
  12. package/dist/components/breadcrumbs/item.d.ts +2 -2
  13. package/dist/components/button/context.d.ts +8 -8
  14. package/dist/components/button/index.d.ts +2 -2
  15. package/dist/components/button/link.d.ts +2 -2
  16. package/dist/components/button/toggle.d.ts +2 -2
  17. package/dist/components/carousel/context.d.ts +4 -4
  18. package/dist/components/carousel/gallery.d.ts +2 -2
  19. package/dist/components/carousel/index.d.ts +2 -2
  20. package/dist/components/carousel/navigation.d.ts +3 -3
  21. package/dist/components/carousel/position.d.ts +2 -2
  22. package/dist/components/carousel/select.d.ts +2 -2
  23. package/dist/components/carousel/viewer.d.ts +2 -2
  24. package/dist/components/checkbox/context.d.ts +3 -3
  25. package/dist/components/checkbox/group.d.ts +2 -2
  26. package/dist/components/checkbox/index.d.ts +2 -2
  27. package/dist/components/chip/context.d.ts +4 -4
  28. package/dist/components/chip/deletable.d.ts +2 -2
  29. package/dist/components/chip/index.d.ts +2 -2
  30. package/dist/components/chip/list.d.ts +4 -4
  31. package/dist/components/chip/selectable.d.ts +2 -2
  32. package/dist/components/classification-badge/context.d.ts +4 -4
  33. package/dist/components/classification-badge/index.d.ts +2 -2
  34. package/dist/components/classification-banner/context.d.ts +4 -4
  35. package/dist/components/classification-banner/index.d.ts +2 -2
  36. package/dist/components/clock/index.d.ts +2 -2
  37. package/dist/components/color-picker/index.d.ts +2 -2
  38. package/dist/components/combobox-field/context.d.ts +4 -4
  39. package/dist/components/combobox-field/index.d.ts +2 -2
  40. package/dist/components/coordinate-field/context.d.ts +6 -6
  41. package/dist/components/coordinate-field/index.d.ts +2 -2
  42. package/dist/components/coordinate-field/segment.d.ts +2 -2
  43. package/dist/components/date-field/index.d.ts +2 -2
  44. package/dist/components/date-field/index.js.map +1 -1
  45. package/dist/components/deferred-collection/index.d.ts +2 -2
  46. package/dist/components/details-list/context.d.ts +4 -4
  47. package/dist/components/details-list/index.d.ts +2 -2
  48. package/dist/components/details-list/label.d.ts +2 -2
  49. package/dist/components/details-list/value.d.ts +2 -2
  50. package/dist/components/dialog/content.d.ts +2 -2
  51. package/dist/components/dialog/context.d.ts +2 -2
  52. package/dist/components/dialog/footer.d.ts +2 -2
  53. package/dist/components/dialog/index.d.ts +2 -2
  54. package/dist/components/dialog/title.d.ts +2 -2
  55. package/dist/components/divider/context.d.ts +4 -4
  56. package/dist/components/divider/index.d.ts +2 -2
  57. package/dist/components/drawer/back.d.ts +2 -2
  58. package/dist/components/drawer/close.d.ts +2 -2
  59. package/dist/components/drawer/content.d.ts +2 -2
  60. package/dist/components/drawer/context.d.ts +2 -2
  61. package/dist/components/drawer/footer.d.ts +2 -2
  62. package/dist/components/drawer/header-title.d.ts +2 -2
  63. package/dist/components/drawer/header.d.ts +2 -2
  64. package/dist/components/drawer/index.d.ts +2 -2
  65. package/dist/components/drawer/layout-main.d.ts +2 -2
  66. package/dist/components/drawer/layout.d.ts +2 -2
  67. package/dist/components/drawer/menu-item.d.ts +2 -2
  68. package/dist/components/drawer/menu.d.ts +2 -2
  69. package/dist/components/drawer/panel.d.ts +2 -2
  70. package/dist/components/drawer/trigger.d.ts +2 -2
  71. package/dist/components/drawer/view.d.ts +2 -2
  72. package/dist/components/flashcard/index.d.ts +9 -9
  73. package/dist/components/floating-card/constants.d.ts +26 -0
  74. package/dist/components/floating-card/constants.js +40 -0
  75. package/dist/components/floating-card/constants.js.map +1 -0
  76. package/dist/components/floating-card/context.d.ts +38 -6
  77. package/dist/components/floating-card/context.js +24 -3
  78. package/dist/components/floating-card/context.js.map +1 -1
  79. package/dist/components/floating-card/hooks/use-card-layout.d.ts +36 -0
  80. package/dist/components/floating-card/hooks/use-card-layout.js +106 -0
  81. package/dist/components/floating-card/hooks/use-card-layout.js.map +1 -0
  82. package/dist/components/floating-card/hooks/use-drag.d.ts +62 -0
  83. package/dist/components/floating-card/hooks/use-drag.js +100 -0
  84. package/dist/components/floating-card/hooks/use-drag.js.map +1 -0
  85. package/dist/components/floating-card/hooks/use-mouse-interaction.d.ts +58 -0
  86. package/dist/components/floating-card/hooks/use-mouse-interaction.js +91 -0
  87. package/dist/components/floating-card/hooks/use-mouse-interaction.js.map +1 -0
  88. package/dist/components/floating-card/hooks/use-resize.d.ts +56 -0
  89. package/dist/components/floating-card/hooks/use-resize.js +98 -0
  90. package/dist/components/floating-card/hooks/use-resize.js.map +1 -0
  91. package/dist/components/floating-card/index.d.ts +6 -2
  92. package/dist/components/floating-card/index.js +24 -32
  93. package/dist/components/floating-card/index.js.map +1 -1
  94. package/dist/components/floating-card/panel.d.ts +69 -0
  95. package/dist/components/floating-card/panel.js +111 -0
  96. package/dist/components/floating-card/panel.js.map +1 -0
  97. package/dist/components/floating-card/provider.d.ts +10 -6
  98. package/dist/components/floating-card/provider.js +159 -153
  99. package/dist/components/floating-card/provider.js.map +1 -1
  100. package/dist/components/floating-card/styles.module.css +93 -39
  101. package/dist/components/floating-card/types.d.ts +51 -10
  102. package/dist/components/floating-card/utils.d.ts +8 -85
  103. package/dist/components/floating-card/utils.js +12 -38
  104. package/dist/components/floating-card/utils.js.map +1 -1
  105. package/dist/components/gantt/components/base-elements/range.d.ts +2 -2
  106. package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +2 -2
  107. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +2 -2
  108. package/dist/components/gantt/components/containers/internal/index.d.ts +2 -2
  109. package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +2 -2
  110. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.d.ts +2 -2
  111. package/dist/components/gantt/components/content-row/block.d.ts +2 -2
  112. package/dist/components/gantt/components/content-row/bracket.d.ts +3 -3
  113. package/dist/components/gantt/components/content-row/icon-marker.d.ts +2 -2
  114. package/dist/components/gantt/components/content-row/index.d.ts +2 -2
  115. package/dist/components/gantt/components/content-row/marker.d.ts +2 -2
  116. package/dist/components/gantt/components/content-row/spacer.d.ts +2 -2
  117. package/dist/components/gantt/components/current-time/index.d.ts +2 -2
  118. package/dist/components/gantt/components/header/index.d.ts +3 -3
  119. package/dist/components/gantt/components/panel-row/index.d.ts +2 -2
  120. package/dist/components/gantt/components/rows-virtualizer/index.d.ts +3 -3
  121. package/dist/components/gantt/components/timeline/index.d.ts +2 -2
  122. package/dist/components/gantt/components/timeline-chunk/index.d.ts +3 -3
  123. package/dist/components/gantt/context/index.d.ts +4 -4
  124. package/dist/components/gantt/context/store/index.d.ts +4 -4
  125. package/dist/components/gantt/context/temporal-data/index.d.ts +4 -4
  126. package/dist/components/gantt/hooks/use-layout-subscription/index.js +8 -8
  127. package/dist/components/gantt/hooks/use-layout-subscription/index.js.map +1 -1
  128. package/dist/components/hero/context.d.ts +2 -2
  129. package/dist/components/hero/index.d.ts +2 -2
  130. package/dist/components/hero/subtitle.d.ts +3 -3
  131. package/dist/components/hero/title.d.ts +2 -2
  132. package/dist/components/hotkey/context.d.ts +4 -4
  133. package/dist/components/hotkey/index.d.ts +2 -2
  134. package/dist/components/hotkey/set.d.ts +2 -2
  135. package/dist/components/icon/context.d.ts +4 -4
  136. package/dist/components/icon/index.d.ts +2 -2
  137. package/dist/components/input/index.d.ts +2 -2
  138. package/dist/components/kanban/card-body.d.ts +2 -2
  139. package/dist/components/kanban/card-header-actions.d.ts +2 -2
  140. package/dist/components/kanban/card-header-title.d.ts +2 -2
  141. package/dist/components/kanban/card-header.d.ts +2 -2
  142. package/dist/components/kanban/card.d.ts +2 -2
  143. package/dist/components/kanban/column-actions.d.ts +2 -2
  144. package/dist/components/kanban/column-container.d.ts +2 -2
  145. package/dist/components/kanban/column-content.d.ts +2 -2
  146. package/dist/components/kanban/column-header-actions.d.ts +2 -2
  147. package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
  148. package/dist/components/kanban/column-header-title.d.ts +2 -2
  149. package/dist/components/kanban/column-header.d.ts +2 -2
  150. package/dist/components/kanban/column.d.ts +2 -2
  151. package/dist/components/kanban/context.d.ts +2 -2
  152. package/dist/components/kanban/header-actions.d.ts +2 -2
  153. package/dist/components/kanban/header-search.d.ts +2 -2
  154. package/dist/components/kanban/header-title.d.ts +2 -2
  155. package/dist/components/kanban/header.d.ts +2 -2
  156. package/dist/components/kanban/kanban.d.ts +2 -2
  157. package/dist/components/label/context.d.ts +4 -4
  158. package/dist/components/label/index.d.ts +2 -2
  159. package/dist/components/lines/index.d.ts +2 -2
  160. package/dist/components/link/context.d.ts +2 -2
  161. package/dist/components/link/index.d.ts +2 -2
  162. package/dist/components/list/context.d.ts +2 -2
  163. package/dist/components/list/index.d.ts +2 -2
  164. package/dist/components/list/item-content.d.ts +2 -2
  165. package/dist/components/list/item-description.d.ts +2 -2
  166. package/dist/components/list/item-title.d.ts +2 -2
  167. package/dist/components/list/item.d.ts +2 -2
  168. package/dist/components/media-controls/context.d.ts +4 -4
  169. package/dist/components/media-controls/fullscreen-button.d.ts +2 -2
  170. package/dist/components/media-controls/index.d.ts +2 -2
  171. package/dist/components/media-controls/mute-button.d.ts +2 -2
  172. package/dist/components/media-controls/play-button.d.ts +2 -2
  173. package/dist/components/media-controls/playback-rate.d.ts +2 -2
  174. package/dist/components/media-controls/seek-button.d.ts +2 -2
  175. package/dist/components/media-controls/time-display.d.ts +2 -2
  176. package/dist/components/media-controls/time-range.d.ts +2 -2
  177. package/dist/components/media-controls/volume-slider.d.ts +2 -2
  178. package/dist/components/menu/context.d.ts +2 -2
  179. package/dist/components/menu/index.d.ts +2 -2
  180. package/dist/components/menu/item-description.d.ts +2 -2
  181. package/dist/components/menu/item-label.d.ts +2 -2
  182. package/dist/components/menu/item.d.ts +2 -2
  183. package/dist/components/menu/section.d.ts +2 -2
  184. package/dist/components/menu/separator.d.ts +2 -2
  185. package/dist/components/menu/submenu.d.ts +2 -2
  186. package/dist/components/notice/index.d.ts +2 -2
  187. package/dist/components/notice/list.d.ts +2 -2
  188. package/dist/components/notice/notice-icon.d.ts +2 -2
  189. package/dist/components/options/context.d.ts +2 -2
  190. package/dist/components/options/index.d.ts +2 -2
  191. package/dist/components/options/item-content.d.ts +2 -2
  192. package/dist/components/options/item-description.d.ts +2 -2
  193. package/dist/components/options/item-label.d.ts +2 -2
  194. package/dist/components/options/item.d.ts +2 -2
  195. package/dist/components/options/section.d.ts +2 -2
  196. package/dist/components/pagination/context.d.ts +2 -2
  197. package/dist/components/pagination/index.d.ts +2 -2
  198. package/dist/components/pagination/next.d.ts +2 -2
  199. package/dist/components/pagination/pages.d.ts +2 -2
  200. package/dist/components/pagination/prev.d.ts +2 -2
  201. package/dist/components/popover/content.d.ts +2 -2
  202. package/dist/components/popover/footer.d.ts +2 -2
  203. package/dist/components/popover/index.d.ts +2 -2
  204. package/dist/components/popover/title.d.ts +2 -2
  205. package/dist/components/popover/trigger.d.ts +2 -2
  206. package/dist/components/query-builder/action-element.d.ts +2 -2
  207. package/dist/components/query-builder/combinator-selector.d.ts +2 -2
  208. package/dist/components/query-builder/index.d.ts +2 -2
  209. package/dist/components/query-builder/rule-group.d.ts +4 -4
  210. package/dist/components/query-builder/rule.d.ts +2 -2
  211. package/dist/components/query-builder/value-editor.d.ts +2 -2
  212. package/dist/components/query-builder/value-selector.d.ts +2 -2
  213. package/dist/components/radio/context.d.ts +3 -3
  214. package/dist/components/radio/group.d.ts +2 -2
  215. package/dist/components/radio/index.d.ts +2 -2
  216. package/dist/components/search-field/context.d.ts +2 -2
  217. package/dist/components/search-field/index.d.ts +2 -2
  218. package/dist/components/select-field/context.d.ts +4 -4
  219. package/dist/components/select-field/index.d.ts +2 -2
  220. package/dist/components/sidenav/avatar.d.ts +2 -2
  221. package/dist/components/sidenav/content.d.ts +2 -2
  222. package/dist/components/sidenav/context.d.ts +2 -2
  223. package/dist/components/sidenav/footer.d.ts +2 -2
  224. package/dist/components/sidenav/header.d.ts +2 -2
  225. package/dist/components/sidenav/index.d.ts +2 -2
  226. package/dist/components/sidenav/item.d.ts +2 -2
  227. package/dist/components/sidenav/link.d.ts +2 -2
  228. package/dist/components/sidenav/menu-item.d.ts +2 -2
  229. package/dist/components/sidenav/menu.d.ts +2 -2
  230. package/dist/components/sidenav/trigger.d.ts +2 -2
  231. package/dist/components/skeleton/index.d.ts +2 -2
  232. package/dist/components/slider/index.d.ts +2 -2
  233. package/dist/components/status-indicator/index.d.ts +2 -2
  234. package/dist/components/stepper/back.d.ts +71 -0
  235. package/dist/components/stepper/back.js +82 -0
  236. package/dist/components/stepper/back.js.map +1 -0
  237. package/dist/components/stepper/context.d.ts +49 -0
  238. package/dist/components/stepper/context.js +56 -0
  239. package/dist/components/stepper/context.js.map +1 -0
  240. package/dist/components/stepper/index.d.ts +22 -0
  241. package/dist/components/stepper/index.js +23 -0
  242. package/dist/components/stepper/list.d.ts +65 -0
  243. package/dist/components/stepper/list.js +121 -0
  244. package/dist/components/stepper/list.js.map +1 -0
  245. package/dist/components/stepper/next.d.ts +80 -0
  246. package/dist/components/stepper/next.js +91 -0
  247. package/dist/components/stepper/next.js.map +1 -0
  248. package/dist/components/stepper/panel.d.ts +66 -0
  249. package/dist/components/stepper/panel.js +77 -0
  250. package/dist/components/stepper/panel.js.map +1 -0
  251. package/dist/components/stepper/step.d.ts +49 -0
  252. package/dist/components/stepper/step.js +89 -0
  253. package/dist/components/stepper/step.js.map +1 -0
  254. package/dist/components/stepper/stepper.d.ts +130 -0
  255. package/dist/components/stepper/stepper.js +154 -0
  256. package/dist/components/stepper/stepper.js.map +1 -0
  257. package/dist/components/stepper/styles.module.css +126 -0
  258. package/dist/components/stepper/types.d.ts +205 -0
  259. package/dist/components/stepper/types.js +12 -0
  260. package/dist/components/stepper/use-stepper-state.d.ts +175 -0
  261. package/dist/components/stepper/use-stepper-state.js +225 -0
  262. package/dist/components/stepper/use-stepper-state.js.map +1 -0
  263. package/dist/components/switch/context.d.ts +4 -4
  264. package/dist/components/switch/index.d.ts +2 -2
  265. package/dist/components/table/body.d.ts +4 -3
  266. package/dist/components/table/body.js.map +1 -1
  267. package/dist/components/table/cell.d.ts +4 -3
  268. package/dist/components/table/cell.js.map +1 -1
  269. package/dist/components/table/context.d.ts +2 -2
  270. package/dist/components/table/features.d.ts +80 -0
  271. package/dist/components/table/features.js +61 -0
  272. package/dist/components/table/features.js.map +1 -0
  273. package/dist/components/table/header-cell.d.ts +4 -3
  274. package/dist/components/table/header-cell.js.map +1 -1
  275. package/dist/components/table/header.d.ts +4 -3
  276. package/dist/components/table/header.js.map +1 -1
  277. package/dist/components/table/index.d.ts +2 -2
  278. package/dist/components/table/index.js +40 -49
  279. package/dist/components/table/index.js.map +1 -1
  280. package/dist/components/table/row-ordering-feature.d.ts +88 -0
  281. package/dist/components/table/row-ordering-feature.js +115 -0
  282. package/dist/components/table/row-ordering-feature.js.map +1 -0
  283. package/dist/components/table/row.d.ts +4 -3
  284. package/dist/components/table/row.js.map +1 -1
  285. package/dist/components/table/types.d.ts +15 -13
  286. package/dist/components/tabs/context.d.ts +6 -6
  287. package/dist/components/tabs/index.d.ts +2 -2
  288. package/dist/components/tabs/list.d.ts +2 -2
  289. package/dist/components/tabs/panel.d.ts +2 -2
  290. package/dist/components/tabs/tab.d.ts +2 -2
  291. package/dist/components/text-area-field/context.d.ts +4 -4
  292. package/dist/components/text-area-field/index.d.ts +2 -2
  293. package/dist/components/text-field/context.d.ts +4 -4
  294. package/dist/components/text-field/index.d.ts +2 -2
  295. package/dist/components/time-field/index.d.ts +2 -2
  296. package/dist/components/tooltip/context.d.ts +2 -2
  297. package/dist/components/tooltip/index.d.ts +2 -2
  298. package/dist/components/tooltip/trigger.d.ts +2 -2
  299. package/dist/components/tree/context.d.ts +3 -3
  300. package/dist/components/tree/index.d.ts +2 -2
  301. package/dist/components/tree/item-actions.d.ts +2 -2
  302. package/dist/components/tree/item-content.d.ts +2 -2
  303. package/dist/components/tree/item-description.d.ts +2 -2
  304. package/dist/components/tree/item-label.d.ts +2 -2
  305. package/dist/components/tree/item-prefix-icon.d.ts +2 -2
  306. package/dist/components/tree/item.d.ts +2 -2
  307. package/dist/components/tree/lines.d.ts +2 -2
  308. package/dist/components/video/index.d.ts +2 -2
  309. package/dist/components/view-stack/context.d.ts +2 -2
  310. package/dist/components/view-stack/index.d.ts +2 -2
  311. package/dist/components/view-stack/trigger.d.ts +2 -2
  312. package/dist/components/view-stack/view.d.ts +2 -2
  313. package/dist/index.d.ts +13 -2
  314. package/dist/index.js +11 -1
  315. package/dist/providers/portal.d.ts +2 -2
  316. package/dist/providers/theme-provider.d.ts +2 -2
  317. package/package.json +28 -12
@@ -0,0 +1,49 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { StepperState } from "./use-stepper-state.js";
14
+ import "client-only";
15
+ import * as react42 from "react";
16
+
17
+ //#region src/components/stepper/context.d.ts
18
+ /**
19
+ * Context for sharing Stepper state across child components.
20
+ *
21
+ * Provides access to current step, completion tracking, navigation methods,
22
+ * and step registration for StepperStep, StepperPanel, and navigation components.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * const { currentStep, completedSteps, next, previous } = useStepperContext();
27
+ * ```
28
+ */
29
+ declare const StepperContext: react42.Context<StepperState | null>;
30
+ /**
31
+ * Returns the nearest stepper state from context.
32
+ *
33
+ * Must be called within a {@link Stepper} component tree.
34
+ *
35
+ * @returns The shared stepper state for the current component subtree.
36
+ * @throws {Error} Throws when called outside a stepper provider.
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * function CustomStepIndicator() {
41
+ * const { currentStep, steps, isFirstStep } = useStepperContext();
42
+ * return <div>Step {steps.indexOf(currentStep) + 1} of {steps.length}</div>;
43
+ * }
44
+ * ```
45
+ */
46
+ declare function useStepperContext(): StepperState;
47
+ //#endregion
48
+ export { StepperContext, useStepperContext };
49
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+
14
+ 'use client';
15
+
16
+ import "client-only";
17
+ import { createContext, useContext } from "react";
18
+
19
+ //#region src/components/stepper/context.tsx
20
+ /**
21
+ * Context for sharing Stepper state across child components.
22
+ *
23
+ * Provides access to current step, completion tracking, navigation methods,
24
+ * and step registration for StepperStep, StepperPanel, and navigation components.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * const { currentStep, completedSteps, next, previous } = useStepperContext();
29
+ * ```
30
+ */
31
+ const StepperContext = createContext(null);
32
+ /**
33
+ * Returns the nearest stepper state from context.
34
+ *
35
+ * Must be called within a {@link Stepper} component tree.
36
+ *
37
+ * @returns The shared stepper state for the current component subtree.
38
+ * @throws {Error} Throws when called outside a stepper provider.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * function CustomStepIndicator() {
43
+ * const { currentStep, steps, isFirstStep } = useStepperContext();
44
+ * return <div>Step {steps.indexOf(currentStep) + 1} of {steps.length}</div>;
45
+ * }
46
+ * ```
47
+ */
48
+ function useStepperContext() {
49
+ const context = useContext(StepperContext);
50
+ if (context === null) throw new Error("useStepperContext must be used within a Stepper component");
51
+ return context;
52
+ }
53
+
54
+ //#endregion
55
+ export { StepperContext, useStepperContext };
56
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/stepper/context.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { createContext, useContext } from 'react';\nimport type { StepperState } from './use-stepper-state';\n\n/**\n * Context for sharing Stepper state across child components.\n *\n * Provides access to current step, completion tracking, navigation methods,\n * and step registration for StepperStep, StepperPanel, and navigation components.\n *\n * @example\n * ```tsx\n * const { currentStep, completedSteps, next, previous } = useStepperContext();\n * ```\n */\nexport const StepperContext = createContext<StepperState | null>(null);\n\n/**\n * Returns the nearest stepper state from context.\n *\n * Must be called within a {@link Stepper} component tree.\n *\n * @returns The shared stepper state for the current component subtree.\n * @throws {Error} Throws when called outside a stepper provider.\n *\n * @example\n * ```tsx\n * function CustomStepIndicator() {\n * const { currentStep, steps, isFirstStep } = useStepperContext();\n * return <div>Step {steps.indexOf(currentStep) + 1} of {steps.length}</div>;\n * }\n * ```\n */\nexport function useStepperContext(): StepperState {\n const context = useContext(StepperContext);\n\n if (context === null) {\n throw new Error(\n 'useStepperContext must be used within a Stepper component',\n );\n }\n\n return context;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAa,iBAAiB,cAAmC,KAAK;;;;;;;;;;;;;;;;;AAkBtE,SAAgB,oBAAkC;CAChD,MAAM,UAAU,WAAW,eAAe;AAE1C,KAAI,YAAY,KACd,OAAM,IAAI,MACR,4DACD;AAGH,QAAO"}
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { Orientation, StepperBackProps, StepperListProps, StepperListRenderState, StepperNextProps, StepperPanelProps, StepperPanelRenderState, StepperProps, StepperRenderState, StepperStepProps, StepperStepRenderState } from "./types.js";
14
+ import { StepperBack } from "./back.js";
15
+ import { StepperState, UseStepperStateProps, useStepperState } from "./use-stepper-state.js";
16
+ import { StepperContext, useStepperContext } from "./context.js";
17
+ import { StepperList } from "./list.js";
18
+ import { StepperNext } from "./next.js";
19
+ import { StepperPanel } from "./panel.js";
20
+ import { StepperStep } from "./step.js";
21
+ import { Stepper } from "./stepper.js";
22
+ export { type Orientation, Stepper, StepperBack, type StepperBackProps, StepperContext, StepperList, type StepperListProps, type StepperListRenderState, StepperNext, type StepperNextProps, StepperPanel, type StepperPanelProps, type StepperPanelRenderState, type StepperProps, type StepperRenderState, type StepperState, StepperStep, type StepperStepProps, type StepperStepRenderState, type UseStepperStateProps, useStepperContext, useStepperState };
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+
14
+ import { StepperContext, useStepperContext } from "./context.js";
15
+ import { StepperBack } from "./back.js";
16
+ import { StepperList } from "./list.js";
17
+ import { StepperNext } from "./next.js";
18
+ import { StepperPanel } from "./panel.js";
19
+ import { StepperStep } from "./step.js";
20
+ import { useStepperState } from "./use-stepper-state.js";
21
+ import { Stepper } from "./stepper.js";
22
+
23
+ export { Stepper, StepperBack, StepperContext, StepperList, StepperNext, StepperPanel, StepperStep, useStepperContext, useStepperState };
@@ -0,0 +1,65 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { StepperListProps } from "./types.js";
14
+ import "client-only";
15
+ import * as react_jsx_runtime195 from "react/jsx-runtime";
16
+
17
+ //#region src/components/stepper/list.d.ts
18
+
19
+ /**
20
+ * Navigation container for {@link StepperStep} children.
21
+ *
22
+ * Provides arrow-key step navigation based on the current stepper orientation.
23
+ * Horizontal steppers use Left and Right arrows, while vertical steppers use
24
+ * Up and Down arrows. Disabled steps are skipped during keyboard navigation.
25
+ *
26
+ * @param props - The step list props.
27
+ * @param props.children - Step buttons to render in navigation order.
28
+ * @param props.className - CSS class applied to the navigation container.
29
+ * @returns The rendered step navigation container.
30
+ *
31
+ * @example
32
+ * Horizontal step list:
33
+ * ```tsx
34
+ * <StepperList aria-label="Registration steps">
35
+ * <StepperStep id="account">Account</StepperStep>
36
+ * <StepperStep id="profile">Profile</StepperStep>
37
+ * <StepperStep id="preferences">Preferences</StepperStep>
38
+ * </StepperList>
39
+ * ```
40
+ *
41
+ * @example
42
+ * Vertical step list:
43
+ * ```tsx
44
+ * <Stepper orientation="vertical">
45
+ * <StepperList aria-label="Setup wizard">
46
+ * <StepperStep id="step-1">Welcome</StepperStep>
47
+ * <StepperStep id="step-2">Configuration</StepperStep>
48
+ * <StepperStep id="step-3">Review</StepperStep>
49
+ * </StepperList>
50
+ * </Stepper>
51
+ * ```
52
+ *
53
+ * @example
54
+ * Custom styling:
55
+ * ```tsx
56
+ * <StepperList className="flex-row gap-4">
57
+ * <StepperStep id="step-1">Step 1</StepperStep>
58
+ * <StepperStep id="step-2">Step 2</StepperStep>
59
+ * </StepperList>
60
+ * ```
61
+ */
62
+ declare function StepperList(props: StepperListProps): react_jsx_runtime195.JSX.Element;
63
+ //#endregion
64
+ export { StepperList };
65
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1,121 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+
14
+ 'use client';
15
+
16
+ import { useStepperContext } from "./context.js";
17
+ import "client-only";
18
+ import { jsx } from "react/jsx-runtime";
19
+
20
+ //#region src/components/stepper/list.tsx
21
+ /**
22
+ * Maps arrow keys to navigation direction based on orientation.
23
+ * @param key - Keyboard event key
24
+ * @param orientation - Stepper orientation
25
+ * @returns 1 for forward, -1 for backward, null for non-navigation keys
26
+ */
27
+ const getDirectionFromKey = (key, orientation) => {
28
+ if (orientation === "horizontal") {
29
+ if (key === "ArrowRight") return 1;
30
+ if (key === "ArrowLeft") return -1;
31
+ } else {
32
+ if (key === "ArrowDown") return 1;
33
+ if (key === "ArrowUp") return -1;
34
+ }
35
+ return null;
36
+ };
37
+ /**
38
+ * Navigation container for {@link StepperStep} children.
39
+ *
40
+ * Provides arrow-key step navigation based on the current stepper orientation.
41
+ * Horizontal steppers use Left and Right arrows, while vertical steppers use
42
+ * Up and Down arrows. Disabled steps are skipped during keyboard navigation.
43
+ *
44
+ * @param props - The step list props.
45
+ * @param props.children - Step buttons to render in navigation order.
46
+ * @param props.className - CSS class applied to the navigation container.
47
+ * @returns The rendered step navigation container.
48
+ *
49
+ * @example
50
+ * Horizontal step list:
51
+ * ```tsx
52
+ * <StepperList aria-label="Registration steps">
53
+ * <StepperStep id="account">Account</StepperStep>
54
+ * <StepperStep id="profile">Profile</StepperStep>
55
+ * <StepperStep id="preferences">Preferences</StepperStep>
56
+ * </StepperList>
57
+ * ```
58
+ *
59
+ * @example
60
+ * Vertical step list:
61
+ * ```tsx
62
+ * <Stepper orientation="vertical">
63
+ * <StepperList aria-label="Setup wizard">
64
+ * <StepperStep id="step-1">Welcome</StepperStep>
65
+ * <StepperStep id="step-2">Configuration</StepperStep>
66
+ * <StepperStep id="step-3">Review</StepperStep>
67
+ * </StepperList>
68
+ * </Stepper>
69
+ * ```
70
+ *
71
+ * @example
72
+ * Custom styling:
73
+ * ```tsx
74
+ * <StepperList className="flex-row gap-4">
75
+ * <StepperStep id="step-1">Step 1</StepperStep>
76
+ * <StepperStep id="step-2">Step 2</StepperStep>
77
+ * </StepperList>
78
+ * ```
79
+ */
80
+ function StepperList(props) {
81
+ const { children, className, ...restProps } = props;
82
+ const { currentStep, orientation, steps, goToStep, isDisabled } = useStepperContext();
83
+ const wrapIndex = (index) => {
84
+ if (index < 0) return steps.length - 1;
85
+ if (index >= steps.length) return 0;
86
+ return index;
87
+ };
88
+ const findNavigableStep = (startIndex, direction) => {
89
+ let searchIndex = wrapIndex(startIndex);
90
+ const maxIterations = steps.length;
91
+ for (let i = 0; i < maxIterations; i++) {
92
+ const key = steps[searchIndex];
93
+ if (key !== void 0 && !isDisabled(key)) return key;
94
+ searchIndex = wrapIndex(searchIndex + direction);
95
+ }
96
+ return null;
97
+ };
98
+ const handleKeyDown = (event) => {
99
+ if (currentStep === void 0 || steps.length === 0) return;
100
+ const currentIndex = steps.indexOf(currentStep);
101
+ if (currentIndex === -1) return;
102
+ const direction = getDirectionFromKey(event.key, orientation);
103
+ if (direction === null) return;
104
+ const targetKey = findNavigableStep(wrapIndex(currentIndex + direction), direction);
105
+ if (targetKey !== null) {
106
+ event.preventDefault();
107
+ goToStep(targetKey);
108
+ }
109
+ };
110
+ return /* @__PURE__ */ jsx("nav", {
111
+ ...restProps,
112
+ className,
113
+ "data-orientation": orientation,
114
+ onKeyDown: handleKeyDown,
115
+ children
116
+ });
117
+ }
118
+
119
+ //#endregion
120
+ export { StepperList };
121
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","names":[],"sources":["../../../src/components/stepper/list.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport type { Key } from '@react-types/shared';\nimport 'client-only';\nimport { useStepperContext } from './context';\nimport type { StepperListProps } from './types';\n\n/**\n * Maps arrow keys to navigation direction based on orientation.\n * @param key - Keyboard event key\n * @param orientation - Stepper orientation\n * @returns 1 for forward, -1 for backward, null for non-navigation keys\n */\nconst getDirectionFromKey = (\n key: string,\n orientation: 'horizontal' | 'vertical',\n): number | null => {\n if (orientation === 'horizontal') {\n if (key === 'ArrowRight') {\n return 1;\n }\n if (key === 'ArrowLeft') {\n return -1;\n }\n } else {\n if (key === 'ArrowDown') {\n return 1;\n }\n if (key === 'ArrowUp') {\n return -1;\n }\n }\n return null;\n};\n\n/**\n * Navigation container for {@link StepperStep} children.\n *\n * Provides arrow-key step navigation based on the current stepper orientation.\n * Horizontal steppers use Left and Right arrows, while vertical steppers use\n * Up and Down arrows. Disabled steps are skipped during keyboard navigation.\n *\n * @param props - The step list props.\n * @param props.children - Step buttons to render in navigation order.\n * @param props.className - CSS class applied to the navigation container.\n * @returns The rendered step navigation container.\n *\n * @example\n * Horizontal step list:\n * ```tsx\n * <StepperList aria-label=\"Registration steps\">\n * <StepperStep id=\"account\">Account</StepperStep>\n * <StepperStep id=\"profile\">Profile</StepperStep>\n * <StepperStep id=\"preferences\">Preferences</StepperStep>\n * </StepperList>\n * ```\n *\n * @example\n * Vertical step list:\n * ```tsx\n * <Stepper orientation=\"vertical\">\n * <StepperList aria-label=\"Setup wizard\">\n * <StepperStep id=\"step-1\">Welcome</StepperStep>\n * <StepperStep id=\"step-2\">Configuration</StepperStep>\n * <StepperStep id=\"step-3\">Review</StepperStep>\n * </StepperList>\n * </Stepper>\n * ```\n *\n * @example\n * Custom styling:\n * ```tsx\n * <StepperList className=\"flex-row gap-4\">\n * <StepperStep id=\"step-1\">Step 1</StepperStep>\n * <StepperStep id=\"step-2\">Step 2</StepperStep>\n * </StepperList>\n * ```\n */\nexport function StepperList(props: StepperListProps) {\n const { children, className, ...restProps } = props;\n\n const { currentStep, orientation, steps, goToStep, isDisabled } =\n useStepperContext();\n\n const wrapIndex = (index: number): number => {\n if (index < 0) {\n return steps.length - 1;\n }\n if (index >= steps.length) {\n return 0;\n }\n return index;\n };\n\n const findNavigableStep = (\n startIndex: number,\n direction: number,\n ): Key | null => {\n let searchIndex = wrapIndex(startIndex);\n const maxIterations = steps.length;\n\n for (let i = 0; i < maxIterations; i++) {\n const key = steps[searchIndex];\n if (key !== undefined && !isDisabled(key)) {\n return key;\n }\n searchIndex = wrapIndex(searchIndex + direction);\n }\n\n return null;\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (currentStep === undefined || steps.length === 0) {\n return;\n }\n\n const currentIndex = steps.indexOf(currentStep);\n if (currentIndex === -1) {\n return;\n }\n\n const direction = getDirectionFromKey(event.key, orientation);\n if (direction === null) {\n return;\n }\n\n const targetIndex = wrapIndex(currentIndex + direction);\n const targetKey = findNavigableStep(targetIndex, direction);\n\n if (targetKey !== null) {\n event.preventDefault();\n goToStep(targetKey);\n }\n };\n\n return (\n <nav\n {...restProps}\n className={className}\n data-orientation={orientation}\n onKeyDown={handleKeyDown}\n >\n {children}\n </nav>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,uBACJ,KACA,gBACkB;AAClB,KAAI,gBAAgB,cAAc;AAChC,MAAI,QAAQ,aACV,QAAO;AAET,MAAI,QAAQ,YACV,QAAO;QAEJ;AACL,MAAI,QAAQ,YACV,QAAO;AAET,MAAI,QAAQ,UACV,QAAO;;AAGX,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CT,SAAgB,YAAY,OAAyB;CACnD,MAAM,EAAE,UAAU,WAAW,GAAG,cAAc;CAE9C,MAAM,EAAE,aAAa,aAAa,OAAO,UAAU,eACjD,mBAAmB;CAErB,MAAM,aAAa,UAA0B;AAC3C,MAAI,QAAQ,EACV,QAAO,MAAM,SAAS;AAExB,MAAI,SAAS,MAAM,OACjB,QAAO;AAET,SAAO;;CAGT,MAAM,qBACJ,YACA,cACe;EACf,IAAI,cAAc,UAAU,WAAW;EACvC,MAAM,gBAAgB,MAAM;AAE5B,OAAK,IAAI,IAAI,GAAG,IAAI,eAAe,KAAK;GACtC,MAAM,MAAM,MAAM;AAClB,OAAI,QAAQ,UAAa,CAAC,WAAW,IAAI,CACvC,QAAO;AAET,iBAAc,UAAU,cAAc,UAAU;;AAGlD,SAAO;;CAGT,MAAM,iBAAiB,UAA+C;AACpE,MAAI,gBAAgB,UAAa,MAAM,WAAW,EAChD;EAGF,MAAM,eAAe,MAAM,QAAQ,YAAY;AAC/C,MAAI,iBAAiB,GACnB;EAGF,MAAM,YAAY,oBAAoB,MAAM,KAAK,YAAY;AAC7D,MAAI,cAAc,KAChB;EAIF,MAAM,YAAY,kBADE,UAAU,eAAe,UAAU,EACN,UAAU;AAE3D,MAAI,cAAc,MAAM;AACtB,SAAM,gBAAgB;AACtB,YAAS,UAAU;;;AAIvB,QACE,oBAAC;EACC,GAAI;EACO;EACX,oBAAkB;EAClB,WAAW;EAEV;GACG"}
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { StepperNextProps } from "./types.js";
14
+ import "client-only";
15
+ import * as react_jsx_runtime178 from "react/jsx-runtime";
16
+
17
+ //#region src/components/stepper/next.d.ts
18
+
19
+ /**
20
+ * Navigation button that moves to the next step.
21
+ *
22
+ * Automatically disables on the last step unless the disabled state is
23
+ * explicitly overridden. Uses an accessible name of `Go to next step`
24
+ * regardless of the visible button label.
25
+ *
26
+ * @param props - The next-button props.
27
+ * @param props.children - Visible button content, typically "Next", "Continue", or "Finish".
28
+ * @param props.isDisabled - Overrides the automatic last-step disabled state.
29
+ * @param props.className - CSS class applied to the button.
30
+ * @returns The rendered next-step button.
31
+ *
32
+ * @example
33
+ * Basic usage:
34
+ * ```tsx
35
+ * <Stepper defaultStep="step-1">
36
+ * <StepperList>
37
+ * <StepperStep id="step-1">Step 1</StepperStep>
38
+ * <StepperStep id="step-2">Step 2</StepperStep>
39
+ * </StepperList>
40
+ * <StepperPanel id="step-1">Content 1</StepperPanel>
41
+ * <StepperPanel id="step-2">Content 2</StepperPanel>
42
+ * <StepperBack>Back</StepperBack>
43
+ * <StepperNext>Next</StepperNext>
44
+ * </Stepper>
45
+ * ```
46
+ *
47
+ * @example
48
+ * Dynamic label based on step:
49
+ * ```tsx
50
+ * const { isLastStep } = useStepperContext();
51
+ * <StepperNext>
52
+ * {isLastStep() ? 'Finish' : 'Next'}
53
+ * </StepperNext>
54
+ * ```
55
+ *
56
+ * @example
57
+ * Override disabled state:
58
+ * ```tsx
59
+ * <StepperNext isDisabled={!formIsValid}>
60
+ * Continue
61
+ * </StepperNext>
62
+ * ```
63
+ *
64
+ * @example
65
+ * Custom styling:
66
+ * ```tsx
67
+ * <StepperNext className="custom-next-button">
68
+ * Next →
69
+ * </StepperNext>
70
+ * ```
71
+ */
72
+ declare function StepperNext({
73
+ children,
74
+ isDisabled: isDisabledProp,
75
+ className,
76
+ ...rest
77
+ }: StepperNextProps): react_jsx_runtime178.JSX.Element;
78
+ //#endregion
79
+ export { StepperNext };
80
+ //# sourceMappingURL=next.d.ts.map
@@ -0,0 +1,91 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+
14
+ 'use client';
15
+
16
+ import { Button } from "../button/index.js";
17
+ import { useStepperContext } from "./context.js";
18
+ import "client-only";
19
+ import { jsx } from "react/jsx-runtime";
20
+
21
+ //#region src/components/stepper/next.tsx
22
+ /**
23
+ * Navigation button that moves to the next step.
24
+ *
25
+ * Automatically disables on the last step unless the disabled state is
26
+ * explicitly overridden. Uses an accessible name of `Go to next step`
27
+ * regardless of the visible button label.
28
+ *
29
+ * @param props - The next-button props.
30
+ * @param props.children - Visible button content, typically "Next", "Continue", or "Finish".
31
+ * @param props.isDisabled - Overrides the automatic last-step disabled state.
32
+ * @param props.className - CSS class applied to the button.
33
+ * @returns The rendered next-step button.
34
+ *
35
+ * @example
36
+ * Basic usage:
37
+ * ```tsx
38
+ * <Stepper defaultStep="step-1">
39
+ * <StepperList>
40
+ * <StepperStep id="step-1">Step 1</StepperStep>
41
+ * <StepperStep id="step-2">Step 2</StepperStep>
42
+ * </StepperList>
43
+ * <StepperPanel id="step-1">Content 1</StepperPanel>
44
+ * <StepperPanel id="step-2">Content 2</StepperPanel>
45
+ * <StepperBack>Back</StepperBack>
46
+ * <StepperNext>Next</StepperNext>
47
+ * </Stepper>
48
+ * ```
49
+ *
50
+ * @example
51
+ * Dynamic label based on step:
52
+ * ```tsx
53
+ * const { isLastStep } = useStepperContext();
54
+ * <StepperNext>
55
+ * {isLastStep() ? 'Finish' : 'Next'}
56
+ * </StepperNext>
57
+ * ```
58
+ *
59
+ * @example
60
+ * Override disabled state:
61
+ * ```tsx
62
+ * <StepperNext isDisabled={!formIsValid}>
63
+ * Continue
64
+ * </StepperNext>
65
+ * ```
66
+ *
67
+ * @example
68
+ * Custom styling:
69
+ * ```tsx
70
+ * <StepperNext className="custom-next-button">
71
+ * Next →
72
+ * </StepperNext>
73
+ * ```
74
+ */
75
+ function StepperNext({ children = "Next", isDisabled: isDisabledProp, className, ...rest }) {
76
+ const { next, isLastStep } = useStepperContext();
77
+ const isDisabled = isDisabledProp ?? isLastStep;
78
+ return /* @__PURE__ */ jsx(Button, {
79
+ ...rest,
80
+ className,
81
+ isDisabled,
82
+ onClick: next,
83
+ "aria-label": "Go to next step",
84
+ "aria-disabled": isDisabled,
85
+ children
86
+ });
87
+ }
88
+
89
+ //#endregion
90
+ export { StepperNext };
91
+ //# sourceMappingURL=next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.js","names":[],"sources":["../../../src/components/stepper/next.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { Button } from '../button';\nimport { useStepperContext } from './context';\nimport type { StepperNextProps } from './types';\n\n/**\n * Navigation button that moves to the next step.\n *\n * Automatically disables on the last step unless the disabled state is\n * explicitly overridden. Uses an accessible name of `Go to next step`\n * regardless of the visible button label.\n *\n * @param props - The next-button props.\n * @param props.children - Visible button content, typically \"Next\", \"Continue\", or \"Finish\".\n * @param props.isDisabled - Overrides the automatic last-step disabled state.\n * @param props.className - CSS class applied to the button.\n * @returns The rendered next-step button.\n *\n * @example\n * Basic usage:\n * ```tsx\n * <Stepper defaultStep=\"step-1\">\n * <StepperList>\n * <StepperStep id=\"step-1\">Step 1</StepperStep>\n * <StepperStep id=\"step-2\">Step 2</StepperStep>\n * </StepperList>\n * <StepperPanel id=\"step-1\">Content 1</StepperPanel>\n * <StepperPanel id=\"step-2\">Content 2</StepperPanel>\n * <StepperBack>Back</StepperBack>\n * <StepperNext>Next</StepperNext>\n * </Stepper>\n * ```\n *\n * @example\n * Dynamic label based on step:\n * ```tsx\n * const { isLastStep } = useStepperContext();\n * <StepperNext>\n * {isLastStep() ? 'Finish' : 'Next'}\n * </StepperNext>\n * ```\n *\n * @example\n * Override disabled state:\n * ```tsx\n * <StepperNext isDisabled={!formIsValid}>\n * Continue\n * </StepperNext>\n * ```\n *\n * @example\n * Custom styling:\n * ```tsx\n * <StepperNext className=\"custom-next-button\">\n * Next →\n * </StepperNext>\n * ```\n */\n\nexport function StepperNext({\n children = 'Next',\n isDisabled: isDisabledProp,\n className,\n ...rest\n}: StepperNextProps) {\n const { next, isLastStep } = useStepperContext();\n\n // Auto-disable at last step unless explicitly overridden\n const isDisabled = isDisabledProp ?? isLastStep;\n\n return (\n <Button\n {...rest}\n className={className}\n isDisabled={isDisabled}\n onClick={next}\n aria-label='Go to next step'\n aria-disabled={isDisabled}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,SAAgB,YAAY,EAC1B,WAAW,QACX,YAAY,gBACZ,WACA,GAAG,QACgB;CACnB,MAAM,EAAE,MAAM,eAAe,mBAAmB;CAGhD,MAAM,aAAa,kBAAkB;AAErC,QACE,oBAAC;EACC,GAAI;EACO;EACC;EACZ,SAAS;EACT,cAAW;EACX,iBAAe;EAEd;GACM"}
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { StepperPanelProps } from "./types.js";
14
+ import "client-only";
15
+ import * as react_jsx_runtime208 from "react/jsx-runtime";
16
+
17
+ //#region src/components/stepper/panel.d.ts
18
+
19
+ /**
20
+ * Content panel displayed for the active step.
21
+ *
22
+ * Renders its children only when its `id` matches the current step. Inactive
23
+ * panels are unmounted from the DOM and do not participate in layout or focus order.
24
+ *
25
+ * @param props - The panel props.
26
+ * @param props.id - Step key matched against the current step and corresponding step button.
27
+ * @param props.children - Panel content to render when the step is active.
28
+ * @param props.className - CSS class applied to the panel container.
29
+ * @returns The rendered panel for the active step, or `null` when inactive.
30
+ *
31
+ * @example
32
+ * Basic panel:
33
+ * ```tsx
34
+ * <Stepper defaultStep="account">
35
+ * <StepperList>
36
+ * <StepperStep id="account">Account</StepperStep>
37
+ * <StepperStep id="profile">Profile</StepperStep>
38
+ * </StepperList>
39
+ * <StepperPanel id="account">
40
+ * <h2>Account Information</h2>
41
+ * <input type="text" name="username" />
42
+ * </StepperPanel>
43
+ * <StepperPanel id="profile">
44
+ * <h2>Profile Details</h2>
45
+ * <input type="text" name="displayName" />
46
+ * </StepperPanel>
47
+ * </Stepper>
48
+ * ```
49
+ *
50
+ * @example
51
+ * Custom styling:
52
+ * ```tsx
53
+ * <StepperPanel id="summary" className="panel-content">
54
+ * <SummaryContent />
55
+ * </StepperPanel>
56
+ * ```
57
+ */
58
+ declare function StepperPanel({
59
+ id,
60
+ children,
61
+ className,
62
+ ...rest
63
+ }: StepperPanelProps): react_jsx_runtime208.JSX.Element | null;
64
+ //#endregion
65
+ export { StepperPanel };
66
+ //# sourceMappingURL=panel.d.ts.map