@accelint/design-toolkit 10.0.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 (277) hide show
  1. package/catalog-info.yaml +1 -1
  2. package/dist/components/accordion/context.d.ts +2 -2
  3. package/dist/components/accordion/group.d.ts +2 -2
  4. package/dist/components/accordion/header.d.ts +2 -2
  5. package/dist/components/accordion/index.d.ts +2 -2
  6. package/dist/components/accordion/panel.d.ts +2 -2
  7. package/dist/components/accordion/trigger.d.ts +2 -2
  8. package/dist/components/action-bar/index.d.ts +2 -2
  9. package/dist/components/audio/index.d.ts +2 -2
  10. package/dist/components/avatar/context.d.ts +4 -4
  11. package/dist/components/avatar/index.d.ts +2 -2
  12. package/dist/components/badge/context.d.ts +4 -4
  13. package/dist/components/badge/index.d.ts +2 -2
  14. package/dist/components/breadcrumbs/index.d.ts +2 -2
  15. package/dist/components/breadcrumbs/item.d.ts +2 -2
  16. package/dist/components/button/context.d.ts +8 -8
  17. package/dist/components/button/index.d.ts +2 -2
  18. package/dist/components/button/link.d.ts +2 -2
  19. package/dist/components/button/toggle.d.ts +2 -2
  20. package/dist/components/carousel/context.d.ts +4 -4
  21. package/dist/components/carousel/gallery.d.ts +2 -2
  22. package/dist/components/carousel/index.d.ts +2 -2
  23. package/dist/components/carousel/navigation.d.ts +3 -3
  24. package/dist/components/carousel/position.d.ts +2 -2
  25. package/dist/components/carousel/select.d.ts +2 -2
  26. package/dist/components/carousel/viewer.d.ts +2 -2
  27. package/dist/components/checkbox/context.d.ts +3 -3
  28. package/dist/components/checkbox/group.d.ts +2 -2
  29. package/dist/components/checkbox/index.d.ts +2 -2
  30. package/dist/components/chip/context.d.ts +4 -4
  31. package/dist/components/chip/deletable.d.ts +2 -2
  32. package/dist/components/chip/index.d.ts +2 -2
  33. package/dist/components/chip/list.d.ts +4 -4
  34. package/dist/components/chip/selectable.d.ts +2 -2
  35. package/dist/components/classification-badge/context.d.ts +4 -4
  36. package/dist/components/classification-badge/index.d.ts +2 -2
  37. package/dist/components/classification-banner/context.d.ts +4 -4
  38. package/dist/components/classification-banner/index.d.ts +2 -2
  39. package/dist/components/clock/index.d.ts +2 -2
  40. package/dist/components/color-picker/index.d.ts +2 -2
  41. package/dist/components/combobox-field/context.d.ts +4 -4
  42. package/dist/components/combobox-field/index.d.ts +2 -2
  43. package/dist/components/coordinate-field/context.d.ts +6 -6
  44. package/dist/components/coordinate-field/index.d.ts +2 -2
  45. package/dist/components/coordinate-field/segment.d.ts +2 -2
  46. package/dist/components/date-field/index.d.ts +2 -2
  47. package/dist/components/date-field/index.js.map +1 -1
  48. package/dist/components/deferred-collection/index.d.ts +2 -2
  49. package/dist/components/details-list/context.d.ts +4 -4
  50. package/dist/components/details-list/index.d.ts +2 -2
  51. package/dist/components/details-list/label.d.ts +2 -2
  52. package/dist/components/details-list/value.d.ts +2 -2
  53. package/dist/components/dialog/content.d.ts +2 -2
  54. package/dist/components/dialog/footer.d.ts +2 -2
  55. package/dist/components/dialog/index.d.ts +2 -2
  56. package/dist/components/dialog/title.d.ts +2 -2
  57. package/dist/components/divider/context.d.ts +4 -4
  58. package/dist/components/divider/index.d.ts +2 -2
  59. package/dist/components/drawer/back.d.ts +2 -2
  60. package/dist/components/drawer/close.d.ts +2 -2
  61. package/dist/components/drawer/content.d.ts +2 -2
  62. package/dist/components/drawer/context.d.ts +2 -2
  63. package/dist/components/drawer/footer.d.ts +2 -2
  64. package/dist/components/drawer/header-title.d.ts +2 -2
  65. package/dist/components/drawer/header.d.ts +2 -2
  66. package/dist/components/drawer/index.d.ts +2 -2
  67. package/dist/components/drawer/layout-main.d.ts +2 -2
  68. package/dist/components/drawer/layout.d.ts +2 -2
  69. package/dist/components/drawer/menu-item.d.ts +2 -2
  70. package/dist/components/drawer/menu.d.ts +2 -2
  71. package/dist/components/drawer/panel.d.ts +2 -2
  72. package/dist/components/drawer/trigger.d.ts +2 -2
  73. package/dist/components/drawer/view.d.ts +2 -2
  74. package/dist/components/flashcard/index.d.ts +9 -9
  75. package/dist/components/floating-card/context.d.ts +3 -3
  76. package/dist/components/floating-card/index.d.ts +2 -2
  77. package/dist/components/floating-card/panel.d.ts +2 -2
  78. package/dist/components/floating-card/provider.d.ts +2 -2
  79. package/dist/components/gantt/components/base-elements/point.d.ts +2 -2
  80. package/dist/components/gantt/components/base-elements/range.d.ts +2 -2
  81. package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +2 -2
  82. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +2 -2
  83. package/dist/components/gantt/components/containers/internal/index.d.ts +2 -2
  84. package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +2 -2
  85. package/dist/components/gantt/components/content-row/block.d.ts +2 -2
  86. package/dist/components/gantt/components/content-row/bracket.d.ts +3 -3
  87. package/dist/components/gantt/components/content-row/icon-marker.d.ts +2 -2
  88. package/dist/components/gantt/components/content-row/index.d.ts +2 -2
  89. package/dist/components/gantt/components/content-row/marker.d.ts +2 -2
  90. package/dist/components/gantt/components/content-row/spacer.d.ts +2 -2
  91. package/dist/components/gantt/components/current-time/index.d.ts +2 -2
  92. package/dist/components/gantt/components/header/index.d.ts +3 -3
  93. package/dist/components/gantt/components/panel-row/index.d.ts +2 -2
  94. package/dist/components/gantt/components/rows-virtualizer/index.d.ts +3 -3
  95. package/dist/components/gantt/components/timeline/index.d.ts +2 -2
  96. package/dist/components/gantt/components/timeline-chunk/index.d.ts +3 -3
  97. package/dist/components/gantt/context/index.d.ts +4 -4
  98. package/dist/components/gantt/context/store/index.d.ts +4 -4
  99. package/dist/components/gantt/context/temporal-data/index.d.ts +4 -4
  100. package/dist/components/hero/context.d.ts +2 -2
  101. package/dist/components/hero/index.d.ts +2 -2
  102. package/dist/components/hero/subtitle.d.ts +3 -3
  103. package/dist/components/hero/title.d.ts +2 -2
  104. package/dist/components/hotkey/context.d.ts +4 -4
  105. package/dist/components/hotkey/index.d.ts +2 -2
  106. package/dist/components/hotkey/set.d.ts +2 -2
  107. package/dist/components/icon/context.d.ts +4 -4
  108. package/dist/components/icon/index.d.ts +2 -2
  109. package/dist/components/input/context.d.ts +2 -2
  110. package/dist/components/input/index.d.ts +2 -2
  111. package/dist/components/kanban/card-body.d.ts +2 -2
  112. package/dist/components/kanban/card-header-actions.d.ts +2 -2
  113. package/dist/components/kanban/card-header-title.d.ts +2 -2
  114. package/dist/components/kanban/card-header.d.ts +2 -2
  115. package/dist/components/kanban/card.d.ts +2 -2
  116. package/dist/components/kanban/column-actions.d.ts +2 -2
  117. package/dist/components/kanban/column-container.d.ts +2 -2
  118. package/dist/components/kanban/column-content.d.ts +2 -2
  119. package/dist/components/kanban/column-header-actions.d.ts +2 -2
  120. package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
  121. package/dist/components/kanban/column-header-title.d.ts +2 -2
  122. package/dist/components/kanban/column-header.d.ts +2 -2
  123. package/dist/components/kanban/column.d.ts +2 -2
  124. package/dist/components/kanban/context.d.ts +2 -2
  125. package/dist/components/kanban/header-actions.d.ts +2 -2
  126. package/dist/components/kanban/header-search.d.ts +2 -2
  127. package/dist/components/kanban/header-title.d.ts +2 -2
  128. package/dist/components/kanban/header.d.ts +2 -2
  129. package/dist/components/kanban/kanban.d.ts +4 -4
  130. package/dist/components/label/context.d.ts +4 -4
  131. package/dist/components/label/index.d.ts +2 -2
  132. package/dist/components/lines/index.d.ts +2 -2
  133. package/dist/components/link/context.d.ts +2 -2
  134. package/dist/components/link/index.d.ts +2 -2
  135. package/dist/components/list/context.d.ts +2 -2
  136. package/dist/components/list/index.d.ts +2 -2
  137. package/dist/components/list/item-content.d.ts +2 -2
  138. package/dist/components/list/item-description.d.ts +2 -2
  139. package/dist/components/list/item-title.d.ts +2 -2
  140. package/dist/components/list/item.d.ts +2 -2
  141. package/dist/components/media-controls/context.d.ts +4 -4
  142. package/dist/components/media-controls/fullscreen-button.d.ts +2 -2
  143. package/dist/components/media-controls/index.d.ts +2 -2
  144. package/dist/components/media-controls/mute-button.d.ts +2 -2
  145. package/dist/components/media-controls/play-button.d.ts +2 -2
  146. package/dist/components/media-controls/playback-rate.d.ts +2 -2
  147. package/dist/components/media-controls/seek-button.d.ts +2 -2
  148. package/dist/components/media-controls/time-display.d.ts +2 -2
  149. package/dist/components/media-controls/time-range.d.ts +2 -2
  150. package/dist/components/media-controls/volume-slider.d.ts +2 -2
  151. package/dist/components/menu/context.d.ts +2 -2
  152. package/dist/components/menu/index.d.ts +2 -2
  153. package/dist/components/menu/item-description.d.ts +2 -2
  154. package/dist/components/menu/item-label.d.ts +2 -2
  155. package/dist/components/menu/item.d.ts +2 -2
  156. package/dist/components/menu/section.d.ts +2 -2
  157. package/dist/components/menu/separator.d.ts +2 -2
  158. package/dist/components/menu/submenu.d.ts +2 -2
  159. package/dist/components/notice/index.d.ts +2 -2
  160. package/dist/components/notice/list.d.ts +2 -2
  161. package/dist/components/notice/notice-icon.d.ts +2 -2
  162. package/dist/components/options/context.d.ts +2 -2
  163. package/dist/components/options/index.d.ts +2 -2
  164. package/dist/components/options/item-content.d.ts +2 -2
  165. package/dist/components/options/item-description.d.ts +2 -2
  166. package/dist/components/options/item-label.d.ts +2 -2
  167. package/dist/components/options/item.d.ts +2 -2
  168. package/dist/components/options/section.d.ts +2 -2
  169. package/dist/components/pagination/context.d.ts +2 -2
  170. package/dist/components/pagination/index.d.ts +2 -2
  171. package/dist/components/pagination/next.d.ts +2 -2
  172. package/dist/components/pagination/pages.d.ts +2 -2
  173. package/dist/components/pagination/prev.d.ts +2 -2
  174. package/dist/components/popover/content.d.ts +2 -2
  175. package/dist/components/popover/footer.d.ts +2 -2
  176. package/dist/components/popover/index.d.ts +2 -2
  177. package/dist/components/popover/title.d.ts +2 -2
  178. package/dist/components/popover/trigger.d.ts +2 -2
  179. package/dist/components/query-builder/action-element.d.ts +2 -2
  180. package/dist/components/query-builder/actions.d.ts +4 -4
  181. package/dist/components/query-builder/combinator-selector.d.ts +2 -2
  182. package/dist/components/query-builder/index.d.ts +2 -2
  183. package/dist/components/query-builder/rule-group.d.ts +4 -4
  184. package/dist/components/query-builder/rule.d.ts +2 -2
  185. package/dist/components/query-builder/value-editor.d.ts +2 -2
  186. package/dist/components/query-builder/value-selector.d.ts +2 -2
  187. package/dist/components/radio/context.d.ts +3 -3
  188. package/dist/components/radio/group.d.ts +2 -2
  189. package/dist/components/radio/index.d.ts +2 -2
  190. package/dist/components/search-field/context.d.ts +4 -4
  191. package/dist/components/search-field/index.d.ts +2 -2
  192. package/dist/components/select-field/context.d.ts +4 -4
  193. package/dist/components/select-field/index.d.ts +2 -2
  194. package/dist/components/sidenav/avatar.d.ts +2 -2
  195. package/dist/components/sidenav/content.d.ts +2 -2
  196. package/dist/components/sidenav/context.d.ts +2 -2
  197. package/dist/components/sidenav/footer.d.ts +2 -2
  198. package/dist/components/sidenav/header.d.ts +2 -2
  199. package/dist/components/sidenav/index.d.ts +2 -2
  200. package/dist/components/sidenav/item.d.ts +2 -2
  201. package/dist/components/sidenav/link.d.ts +2 -2
  202. package/dist/components/sidenav/menu-item.d.ts +2 -2
  203. package/dist/components/sidenav/menu.d.ts +2 -2
  204. package/dist/components/sidenav/trigger.d.ts +2 -2
  205. package/dist/components/skeleton/index.d.ts +2 -2
  206. package/dist/components/slider/index.d.ts +2 -2
  207. package/dist/components/status-indicator/index.d.ts +2 -2
  208. package/dist/components/stepper/back.d.ts +71 -0
  209. package/dist/components/stepper/back.js +82 -0
  210. package/dist/components/stepper/back.js.map +1 -0
  211. package/dist/components/stepper/context.d.ts +49 -0
  212. package/dist/components/stepper/context.js +56 -0
  213. package/dist/components/stepper/context.js.map +1 -0
  214. package/dist/components/stepper/index.d.ts +22 -0
  215. package/dist/components/stepper/index.js +23 -0
  216. package/dist/components/stepper/list.d.ts +65 -0
  217. package/dist/components/stepper/list.js +121 -0
  218. package/dist/components/stepper/list.js.map +1 -0
  219. package/dist/components/stepper/next.d.ts +80 -0
  220. package/dist/components/stepper/next.js +91 -0
  221. package/dist/components/stepper/next.js.map +1 -0
  222. package/dist/components/stepper/panel.d.ts +66 -0
  223. package/dist/components/stepper/panel.js +77 -0
  224. package/dist/components/stepper/panel.js.map +1 -0
  225. package/dist/components/stepper/step.d.ts +49 -0
  226. package/dist/components/stepper/step.js +89 -0
  227. package/dist/components/stepper/step.js.map +1 -0
  228. package/dist/components/stepper/stepper.d.ts +130 -0
  229. package/dist/components/stepper/stepper.js +154 -0
  230. package/dist/components/stepper/stepper.js.map +1 -0
  231. package/dist/components/stepper/styles.module.css +126 -0
  232. package/dist/components/stepper/types.d.ts +205 -0
  233. package/dist/components/stepper/types.js +12 -0
  234. package/dist/components/stepper/use-stepper-state.d.ts +175 -0
  235. package/dist/components/stepper/use-stepper-state.js +225 -0
  236. package/dist/components/stepper/use-stepper-state.js.map +1 -0
  237. package/dist/components/switch/context.d.ts +4 -4
  238. package/dist/components/switch/index.d.ts +2 -2
  239. package/dist/components/table/body.d.ts +2 -2
  240. package/dist/components/table/cell.d.ts +2 -2
  241. package/dist/components/table/context.d.ts +2 -2
  242. package/dist/components/table/header-cell.d.ts +2 -2
  243. package/dist/components/table/header.d.ts +2 -2
  244. package/dist/components/table/index.d.ts +2 -2
  245. package/dist/components/table/row.d.ts +2 -2
  246. package/dist/components/tabs/context.d.ts +6 -6
  247. package/dist/components/tabs/index.d.ts +2 -2
  248. package/dist/components/tabs/list.d.ts +2 -2
  249. package/dist/components/tabs/panel.d.ts +2 -2
  250. package/dist/components/tabs/tab.d.ts +2 -2
  251. package/dist/components/text-area-field/context.d.ts +4 -4
  252. package/dist/components/text-area-field/index.d.ts +2 -2
  253. package/dist/components/text-field/context.d.ts +4 -4
  254. package/dist/components/text-field/index.d.ts +2 -2
  255. package/dist/components/time-field/index.d.ts +2 -2
  256. package/dist/components/tooltip/context.d.ts +2 -2
  257. package/dist/components/tooltip/index.d.ts +2 -2
  258. package/dist/components/tooltip/trigger.d.ts +2 -2
  259. package/dist/components/tree/context.d.ts +3 -3
  260. package/dist/components/tree/index.d.ts +2 -2
  261. package/dist/components/tree/item-actions.d.ts +2 -2
  262. package/dist/components/tree/item-content.d.ts +2 -2
  263. package/dist/components/tree/item-description.d.ts +2 -2
  264. package/dist/components/tree/item-label.d.ts +2 -2
  265. package/dist/components/tree/item-prefix-icon.d.ts +2 -2
  266. package/dist/components/tree/item.d.ts +2 -2
  267. package/dist/components/tree/lines.d.ts +2 -2
  268. package/dist/components/video/index.d.ts +2 -2
  269. package/dist/components/view-stack/context.d.ts +2 -2
  270. package/dist/components/view-stack/index.d.ts +2 -2
  271. package/dist/components/view-stack/trigger.d.ts +2 -2
  272. package/dist/components/view-stack/view.d.ts +2 -2
  273. package/dist/index.d.ts +10 -1
  274. package/dist/index.js +9 -1
  275. package/dist/providers/portal.d.ts +2 -2
  276. package/dist/providers/theme-provider.d.ts +2 -2
  277. package/package.json +20 -10
@@ -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
@@ -0,0 +1,77 @@
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/panel.tsx
21
+ /**
22
+ * Content panel displayed for the active step.
23
+ *
24
+ * Renders its children only when its `id` matches the current step. Inactive
25
+ * panels are unmounted from the DOM and do not participate in layout or focus order.
26
+ *
27
+ * @param props - The panel props.
28
+ * @param props.id - Step key matched against the current step and corresponding step button.
29
+ * @param props.children - Panel content to render when the step is active.
30
+ * @param props.className - CSS class applied to the panel container.
31
+ * @returns The rendered panel for the active step, or `null` when inactive.
32
+ *
33
+ * @example
34
+ * Basic panel:
35
+ * ```tsx
36
+ * <Stepper defaultStep="account">
37
+ * <StepperList>
38
+ * <StepperStep id="account">Account</StepperStep>
39
+ * <StepperStep id="profile">Profile</StepperStep>
40
+ * </StepperList>
41
+ * <StepperPanel id="account">
42
+ * <h2>Account Information</h2>
43
+ * <input type="text" name="username" />
44
+ * </StepperPanel>
45
+ * <StepperPanel id="profile">
46
+ * <h2>Profile Details</h2>
47
+ * <input type="text" name="displayName" />
48
+ * </StepperPanel>
49
+ * </Stepper>
50
+ * ```
51
+ *
52
+ * @example
53
+ * Custom styling:
54
+ * ```tsx
55
+ * <StepperPanel id="summary" className="panel-content">
56
+ * <SummaryContent />
57
+ * </StepperPanel>
58
+ * ```
59
+ */
60
+ function StepperPanel({ id, children, className, ...rest }) {
61
+ const { currentStep, getStepIndex } = useStepperContext();
62
+ if (!(currentStep === id)) return null;
63
+ const stepId = `stepper-step-${getStepIndex(id)}`;
64
+ return /* @__PURE__ */ jsx("div", {
65
+ ...rest,
66
+ role: "tabpanel",
67
+ "aria-labelledby": stepId,
68
+ tabIndex: -1,
69
+ className,
70
+ "data-current": "true",
71
+ children
72
+ });
73
+ }
74
+
75
+ //#endregion
76
+ export { StepperPanel };
77
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","names":[],"sources":["../../../src/components/stepper/panel.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 { useStepperContext } from './context';\nimport type { StepperPanelProps } from './types';\n\n/**\n * Content panel displayed for the active step.\n *\n * Renders its children only when its `id` matches the current step. Inactive\n * panels are unmounted from the DOM and do not participate in layout or focus order.\n *\n * @param props - The panel props.\n * @param props.id - Step key matched against the current step and corresponding step button.\n * @param props.children - Panel content to render when the step is active.\n * @param props.className - CSS class applied to the panel container.\n * @returns The rendered panel for the active step, or `null` when inactive.\n *\n * @example\n * Basic panel:\n * ```tsx\n * <Stepper defaultStep=\"account\">\n * <StepperList>\n * <StepperStep id=\"account\">Account</StepperStep>\n * <StepperStep id=\"profile\">Profile</StepperStep>\n * </StepperList>\n * <StepperPanel id=\"account\">\n * <h2>Account Information</h2>\n * <input type=\"text\" name=\"username\" />\n * </StepperPanel>\n * <StepperPanel id=\"profile\">\n * <h2>Profile Details</h2>\n * <input type=\"text\" name=\"displayName\" />\n * </StepperPanel>\n * </Stepper>\n * ```\n *\n * @example\n * Custom styling:\n * ```tsx\n * <StepperPanel id=\"summary\" className=\"panel-content\">\n * <SummaryContent />\n * </StepperPanel>\n * ```\n */\n\nexport function StepperPanel({\n id,\n children,\n className,\n ...rest\n}: StepperPanelProps) {\n const { currentStep, getStepIndex } = useStepperContext();\n\n const isCurrent = currentStep === id;\n\n // Conditional rendering: only render when current\n if (!isCurrent) {\n return null;\n }\n\n // Get the step index for aria-labelledby\n const stepIndex = getStepIndex(id);\n const stepId = `stepper-step-${stepIndex}`;\n\n return (\n <div\n {...rest}\n role='tabpanel'\n aria-labelledby={stepId}\n tabIndex={-1}\n className={className}\n data-current='true'\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,SAAgB,aAAa,EAC3B,IACA,UACA,WACA,GAAG,QACiB;CACpB,MAAM,EAAE,aAAa,iBAAiB,mBAAmB;AAKzD,KAAI,EAHc,gBAAgB,IAIhC,QAAO;CAKT,MAAM,SAAS,gBADG,aAAa,GAAG;AAGlC,QACE,oBAAC;EACC,GAAI;EACJ,MAAK;EACL,mBAAiB;EACjB,UAAU;EACC;EACX,gBAAa;EAEZ;GACG"}
@@ -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 { StepperStepProps } from "./types.js";
14
+ import "client-only";
15
+ import * as react_jsx_runtime206 from "react/jsx-runtime";
16
+
17
+ //#region src/components/stepper/step.d.ts
18
+
19
+ /**
20
+ * Interactive step button rendered inside a {@link StepperList}.
21
+ *
22
+ * Registers itself with the parent stepper on mount, unregisters on unmount,
23
+ * and exposes current, visited, and disabled state through data attributes for styling.
24
+ *
25
+ * @param props - The step props.
26
+ * @param props.id - Unique step key that must match the corresponding panel id.
27
+ * @param props.children - Visible content rendered inside the step button.
28
+ * @param props.className - CSS class applied to the step button.
29
+ * @param props.isDisabled - Whether this step is disabled locally in addition to shared disabled keys.
30
+ * @returns The rendered step button.
31
+ *
32
+ * @example
33
+ * Basic step with text label:
34
+ * ```tsx
35
+ * <StepperStep id="personal-info">Personal Information</StepperStep>
36
+ * ```
37
+ *
38
+ * @example
39
+ * Disabled step:
40
+ * ```tsx
41
+ * <StepperStep id="payment" isDisabled={!hasCompletedProfile}>
42
+ * Payment Details
43
+ * </StepperStep>
44
+ * ```
45
+ */
46
+ declare function StepperStep(props: StepperStepProps): react_jsx_runtime206.JSX.Element;
47
+ //#endregion
48
+ export { StepperStep };
49
+ //# sourceMappingURL=step.d.ts.map