@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,89 @@
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 { useEffect } from "react";
19
+ import { jsx } from "react/jsx-runtime";
20
+
21
+ //#region src/components/stepper/step.tsx
22
+ /**
23
+ * Interactive step button rendered inside a {@link StepperList}.
24
+ *
25
+ * Registers itself with the parent stepper on mount, unregisters on unmount,
26
+ * and exposes current, visited, and disabled state through data attributes for styling.
27
+ *
28
+ * @param props - The step props.
29
+ * @param props.id - Unique step key that must match the corresponding panel id.
30
+ * @param props.children - Visible content rendered inside the step button.
31
+ * @param props.className - CSS class applied to the step button.
32
+ * @param props.isDisabled - Whether this step is disabled locally in addition to shared disabled keys.
33
+ * @returns The rendered step button.
34
+ *
35
+ * @example
36
+ * Basic step with text label:
37
+ * ```tsx
38
+ * <StepperStep id="personal-info">Personal Information</StepperStep>
39
+ * ```
40
+ *
41
+ * @example
42
+ * Disabled step:
43
+ * ```tsx
44
+ * <StepperStep id="payment" isDisabled={!hasCompletedProfile}>
45
+ * Payment Details
46
+ * </StepperStep>
47
+ * ```
48
+ */
49
+ function StepperStep(props) {
50
+ const { id, children, className, isDisabled = false, ...restProps } = props;
51
+ const { currentStep, completedSteps, steps, register, unregister, goToStep, disabledKeys } = useStepperContext();
52
+ useEffect(() => {
53
+ register(id);
54
+ return () => {
55
+ unregister(id);
56
+ };
57
+ }, [
58
+ id,
59
+ register,
60
+ unregister
61
+ ]);
62
+ const isCurrent = currentStep === id;
63
+ const isCompleted = completedSteps.has(id);
64
+ const isStepDisabled = isDisabled || disabledKeys.has(id);
65
+ const stepNumber = steps.indexOf(id) + 1;
66
+ const totalSteps = steps.length;
67
+ const handleClick = () => {
68
+ if (isStepDisabled) return;
69
+ goToStep(id);
70
+ };
71
+ return /* @__PURE__ */ jsx("button", {
72
+ ...restProps,
73
+ type: "button",
74
+ className,
75
+ "aria-current": isCurrent ? "step" : void 0,
76
+ "aria-disabled": isStepDisabled,
77
+ "aria-label": `Step ${stepNumber} of ${totalSteps}`,
78
+ "data-current": isCurrent || void 0,
79
+ "data-visited": isCompleted || void 0,
80
+ "data-disabled": isStepDisabled || void 0,
81
+ disabled: isStepDisabled,
82
+ onClick: handleClick,
83
+ children
84
+ });
85
+ }
86
+
87
+ //#endregion
88
+ export { StepperStep };
89
+ //# sourceMappingURL=step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step.js","names":[],"sources":["../../../src/components/stepper/step.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 { useEffect } from 'react';\nimport { useStepperContext } from './context';\nimport type { StepperStepProps } from './types';\n\n/**\n * Interactive step button rendered inside a {@link StepperList}.\n *\n * Registers itself with the parent stepper on mount, unregisters on unmount,\n * and exposes current, visited, and disabled state through data attributes for styling.\n *\n * @param props - The step props.\n * @param props.id - Unique step key that must match the corresponding panel id.\n * @param props.children - Visible content rendered inside the step button.\n * @param props.className - CSS class applied to the step button.\n * @param props.isDisabled - Whether this step is disabled locally in addition to shared disabled keys.\n * @returns The rendered step button.\n *\n * @example\n * Basic step with text label:\n * ```tsx\n * <StepperStep id=\"personal-info\">Personal Information</StepperStep>\n * ```\n *\n * @example\n * Disabled step:\n * ```tsx\n * <StepperStep id=\"payment\" isDisabled={!hasCompletedProfile}>\n * Payment Details\n * </StepperStep>\n * ```\n */\nexport function StepperStep(props: StepperStepProps) {\n const { id, children, className, isDisabled = false, ...restProps } = props;\n\n const {\n currentStep,\n completedSteps,\n steps,\n register,\n unregister,\n goToStep,\n disabledKeys,\n } = useStepperContext();\n\n // Register/unregister step on mount/unmount\n useEffect(() => {\n register(id);\n return () => {\n unregister(id);\n };\n }, [id, register, unregister]);\n\n const isCurrent = currentStep === id;\n const isCompleted = completedSteps.has(id);\n const isStepDisabled = isDisabled || disabledKeys.has(id);\n const stepNumber = steps.indexOf(id) + 1;\n const totalSteps = steps.length;\n\n const handleClick = () => {\n if (isStepDisabled) {\n return;\n }\n goToStep(id);\n };\n\n return (\n <button\n {...restProps}\n type='button'\n className={className}\n aria-current={isCurrent ? 'step' : undefined}\n aria-disabled={isStepDisabled}\n aria-label={`Step ${stepNumber} of ${totalSteps}`}\n data-current={isCurrent || undefined}\n data-visited={isCompleted || undefined}\n data-disabled={isStepDisabled || undefined}\n disabled={isStepDisabled}\n onClick={handleClick}\n >\n {children}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,SAAgB,YAAY,OAAyB;CACnD,MAAM,EAAE,IAAI,UAAU,WAAW,aAAa,OAAO,GAAG,cAAc;CAEtE,MAAM,EACJ,aACA,gBACA,OACA,UACA,YACA,UACA,iBACE,mBAAmB;AAGvB,iBAAgB;AACd,WAAS,GAAG;AACZ,eAAa;AACX,cAAW,GAAG;;IAEf;EAAC;EAAI;EAAU;EAAW,CAAC;CAE9B,MAAM,YAAY,gBAAgB;CAClC,MAAM,cAAc,eAAe,IAAI,GAAG;CAC1C,MAAM,iBAAiB,cAAc,aAAa,IAAI,GAAG;CACzD,MAAM,aAAa,MAAM,QAAQ,GAAG,GAAG;CACvC,MAAM,aAAa,MAAM;CAEzB,MAAM,oBAAoB;AACxB,MAAI,eACF;AAEF,WAAS,GAAG;;AAGd,QACE,oBAAC;EACC,GAAI;EACJ,MAAK;EACM;EACX,gBAAc,YAAY,SAAS;EACnC,iBAAe;EACf,cAAY,QAAQ,WAAW,MAAM;EACrC,gBAAc,aAAa;EAC3B,gBAAc,eAAe;EAC7B,iBAAe,kBAAkB;EACjC,UAAU;EACV,SAAS;EAER;GACM"}
@@ -0,0 +1,130 @@
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 { StepperProps } from "./types.js";
14
+ import "client-only";
15
+ import * as react_jsx_runtime207 from "react/jsx-runtime";
16
+
17
+ //#region src/components/stepper/stepper.d.ts
18
+
19
+ /**
20
+ * Root Stepper component for building multi-step workflows.
21
+ *
22
+ * Manages step registration, navigation state, completion tracking, and
23
+ * disabled-step behavior for the stepper component family. Supports both
24
+ * controlled and uncontrolled current-step management.
25
+ *
26
+ * @param props - The stepper props.
27
+ * @param props.children - Step list, step panels, and optional navigation controls.
28
+ * @param props.className - CSS class applied to the root container.
29
+ * @param props.currentStep - Controlled current step key.
30
+ * @param props.defaultStep - Initial current step key for uncontrolled usage.
31
+ * @param props.onStepChange - Called when navigation changes the current step.
32
+ * @param props.onBeforeStepChange - Called before navigation; return `false` to block the move.
33
+ * @param props.orientation - Layout orientation for the step list.
34
+ * @param props.completedSteps - Controlled set of completed step keys.
35
+ * @param props.defaultCompletedSteps - Initial completed step keys for uncontrolled usage.
36
+ * @param props.disabledKeys - Step keys that cannot be navigated to.
37
+ * @returns The rendered stepper root.
38
+ *
39
+ * @example
40
+ * Uncontrolled stepper with default step:
41
+ * ```tsx
42
+ * <Stepper defaultStep="step-1" orientation="horizontal">
43
+ * <StepperList>
44
+ * <StepperStep id="step-1">Personal Info</StepperStep>
45
+ * <StepperStep id="step-2">Payment</StepperStep>
46
+ * <StepperStep id="step-3">Confirmation</StepperStep>
47
+ * </StepperList>
48
+ * <StepperPanel id="step-1">
49
+ * <h2>Personal Information</h2>
50
+ * <StepperNext>Next</StepperNext>
51
+ * </StepperPanel>
52
+ * <StepperPanel id="step-2">
53
+ * <h2>Payment Details</h2>
54
+ * <StepperBack>Back</StepperBack>
55
+ * <StepperNext>Next</StepperNext>
56
+ * </StepperPanel>
57
+ * <StepperPanel id="step-3">
58
+ * <h2>Confirmation</h2>
59
+ * <StepperBack>Back</StepperBack>
60
+ * </StepperPanel>
61
+ * </Stepper>
62
+ * ```
63
+ *
64
+ * @example
65
+ * Controlled stepper with validation:
66
+ * ```tsx
67
+ * const [currentStep, setCurrentStep] = useState<Key>('step-1');
68
+ * const [formData, setFormData] = useState({});
69
+ *
70
+ * const handleBeforeStepChange = (fromKey: Key, toKey: Key) => {
71
+ * // Validate form data before allowing navigation
72
+ * if (fromKey === 'step-1' && !formData.name) {
73
+ * alert('Please enter your name');
74
+ * return false;
75
+ * }
76
+ * return true;
77
+ * };
78
+ *
79
+ * <Stepper
80
+ * currentStep={currentStep}
81
+ * onStepChange={setCurrentStep}
82
+ * onBeforeStepChange={handleBeforeStepChange}
83
+ * >
84
+ * <StepperList>
85
+ * <StepperStep id="step-1">Step 1</StepperStep>
86
+ * <StepperStep id="step-2">Step 2</StepperStep>
87
+ * </StepperList>
88
+ * <StepperPanel id="step-1">
89
+ * <input onChange={(e) => setFormData({ name: e.target.value })} />
90
+ * <StepperNext>Next</StepperNext>
91
+ * </StepperPanel>
92
+ * <StepperPanel id="step-2">
93
+ * <StepperBack>Back</StepperBack>
94
+ * </StepperPanel>
95
+ * </Stepper>
96
+ * ```
97
+ *
98
+ * @example
99
+ * Stepper with disabled steps:
100
+ * ```tsx
101
+ * const [completedSteps, setCompletedSteps] = useState(new Set<Key>());
102
+ * const disabledKeys = useMemo(() => {
103
+ * const disabled = new Set<Key>();
104
+ * if (!completedSteps.has('step-1')) {
105
+ * disabled.add('step-2');
106
+ * disabled.add('step-3');
107
+ * }
108
+ * if (!completedSteps.has('step-2')) {
109
+ * disabled.add('step-3');
110
+ * }
111
+ * return disabled;
112
+ * }, [completedSteps]);
113
+ *
114
+ * <Stepper
115
+ * defaultStep="step-1"
116
+ * completedSteps={completedSteps}
117
+ * disabledKeys={disabledKeys}
118
+ * >
119
+ * <StepperList>
120
+ * <StepperStep id="step-1">Step 1</StepperStep>
121
+ * <StepperStep id="step-2">Step 2</StepperStep>
122
+ * <StepperStep id="step-3">Step 3</StepperStep>
123
+ * </StepperList>
124
+ * </Stepper>
125
+ * ```
126
+ */
127
+ declare function Stepper(props: StepperProps): react_jsx_runtime207.JSX.Element;
128
+ //#endregion
129
+ export { Stepper };
130
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1,154 @@
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 { StepperContext } from "./context.js";
17
+ import { useStepperState } from "./use-stepper-state.js";
18
+ import "client-only";
19
+ import { jsx } from "react/jsx-runtime";
20
+
21
+ //#region src/components/stepper/stepper.tsx
22
+ /**
23
+ * Root Stepper component for building multi-step workflows.
24
+ *
25
+ * Manages step registration, navigation state, completion tracking, and
26
+ * disabled-step behavior for the stepper component family. Supports both
27
+ * controlled and uncontrolled current-step management.
28
+ *
29
+ * @param props - The stepper props.
30
+ * @param props.children - Step list, step panels, and optional navigation controls.
31
+ * @param props.className - CSS class applied to the root container.
32
+ * @param props.currentStep - Controlled current step key.
33
+ * @param props.defaultStep - Initial current step key for uncontrolled usage.
34
+ * @param props.onStepChange - Called when navigation changes the current step.
35
+ * @param props.onBeforeStepChange - Called before navigation; return `false` to block the move.
36
+ * @param props.orientation - Layout orientation for the step list.
37
+ * @param props.completedSteps - Controlled set of completed step keys.
38
+ * @param props.defaultCompletedSteps - Initial completed step keys for uncontrolled usage.
39
+ * @param props.disabledKeys - Step keys that cannot be navigated to.
40
+ * @returns The rendered stepper root.
41
+ *
42
+ * @example
43
+ * Uncontrolled stepper with default step:
44
+ * ```tsx
45
+ * <Stepper defaultStep="step-1" orientation="horizontal">
46
+ * <StepperList>
47
+ * <StepperStep id="step-1">Personal Info</StepperStep>
48
+ * <StepperStep id="step-2">Payment</StepperStep>
49
+ * <StepperStep id="step-3">Confirmation</StepperStep>
50
+ * </StepperList>
51
+ * <StepperPanel id="step-1">
52
+ * <h2>Personal Information</h2>
53
+ * <StepperNext>Next</StepperNext>
54
+ * </StepperPanel>
55
+ * <StepperPanel id="step-2">
56
+ * <h2>Payment Details</h2>
57
+ * <StepperBack>Back</StepperBack>
58
+ * <StepperNext>Next</StepperNext>
59
+ * </StepperPanel>
60
+ * <StepperPanel id="step-3">
61
+ * <h2>Confirmation</h2>
62
+ * <StepperBack>Back</StepperBack>
63
+ * </StepperPanel>
64
+ * </Stepper>
65
+ * ```
66
+ *
67
+ * @example
68
+ * Controlled stepper with validation:
69
+ * ```tsx
70
+ * const [currentStep, setCurrentStep] = useState<Key>('step-1');
71
+ * const [formData, setFormData] = useState({});
72
+ *
73
+ * const handleBeforeStepChange = (fromKey: Key, toKey: Key) => {
74
+ * // Validate form data before allowing navigation
75
+ * if (fromKey === 'step-1' && !formData.name) {
76
+ * alert('Please enter your name');
77
+ * return false;
78
+ * }
79
+ * return true;
80
+ * };
81
+ *
82
+ * <Stepper
83
+ * currentStep={currentStep}
84
+ * onStepChange={setCurrentStep}
85
+ * onBeforeStepChange={handleBeforeStepChange}
86
+ * >
87
+ * <StepperList>
88
+ * <StepperStep id="step-1">Step 1</StepperStep>
89
+ * <StepperStep id="step-2">Step 2</StepperStep>
90
+ * </StepperList>
91
+ * <StepperPanel id="step-1">
92
+ * <input onChange={(e) => setFormData({ name: e.target.value })} />
93
+ * <StepperNext>Next</StepperNext>
94
+ * </StepperPanel>
95
+ * <StepperPanel id="step-2">
96
+ * <StepperBack>Back</StepperBack>
97
+ * </StepperPanel>
98
+ * </Stepper>
99
+ * ```
100
+ *
101
+ * @example
102
+ * Stepper with disabled steps:
103
+ * ```tsx
104
+ * const [completedSteps, setCompletedSteps] = useState(new Set<Key>());
105
+ * const disabledKeys = useMemo(() => {
106
+ * const disabled = new Set<Key>();
107
+ * if (!completedSteps.has('step-1')) {
108
+ * disabled.add('step-2');
109
+ * disabled.add('step-3');
110
+ * }
111
+ * if (!completedSteps.has('step-2')) {
112
+ * disabled.add('step-3');
113
+ * }
114
+ * return disabled;
115
+ * }, [completedSteps]);
116
+ *
117
+ * <Stepper
118
+ * defaultStep="step-1"
119
+ * completedSteps={completedSteps}
120
+ * disabledKeys={disabledKeys}
121
+ * >
122
+ * <StepperList>
123
+ * <StepperStep id="step-1">Step 1</StepperStep>
124
+ * <StepperStep id="step-2">Step 2</StepperStep>
125
+ * <StepperStep id="step-3">Step 3</StepperStep>
126
+ * </StepperList>
127
+ * </Stepper>
128
+ * ```
129
+ */
130
+ function Stepper(props) {
131
+ const { children, className, currentStep, defaultStep, onStepChange, onBeforeStepChange, orientation = "horizontal", completedSteps, defaultCompletedSteps, disabledKeys, ...restProps } = props;
132
+ const state = useStepperState({
133
+ currentStep,
134
+ defaultStep,
135
+ onStepChange,
136
+ onBeforeStepChange,
137
+ completedSteps,
138
+ defaultCompletedSteps,
139
+ disabledKeys,
140
+ orientation
141
+ });
142
+ return /* @__PURE__ */ jsx(StepperContext.Provider, {
143
+ value: state,
144
+ children: /* @__PURE__ */ jsx("div", {
145
+ ...restProps,
146
+ className,
147
+ children
148
+ })
149
+ });
150
+ }
151
+
152
+ //#endregion
153
+ export { Stepper };
154
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","names":[],"sources":["../../../src/components/stepper/stepper.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 { StepperContext } from './context';\nimport { useStepperState } from './use-stepper-state';\nimport type { StepperProps } from './types';\n\n/**\n * Root Stepper component for building multi-step workflows.\n *\n * Manages step registration, navigation state, completion tracking, and\n * disabled-step behavior for the stepper component family. Supports both\n * controlled and uncontrolled current-step management.\n *\n * @param props - The stepper props.\n * @param props.children - Step list, step panels, and optional navigation controls.\n * @param props.className - CSS class applied to the root container.\n * @param props.currentStep - Controlled current step key.\n * @param props.defaultStep - Initial current step key for uncontrolled usage.\n * @param props.onStepChange - Called when navigation changes the current step.\n * @param props.onBeforeStepChange - Called before navigation; return `false` to block the move.\n * @param props.orientation - Layout orientation for the step list.\n * @param props.completedSteps - Controlled set of completed step keys.\n * @param props.defaultCompletedSteps - Initial completed step keys for uncontrolled usage.\n * @param props.disabledKeys - Step keys that cannot be navigated to.\n * @returns The rendered stepper root.\n *\n * @example\n * Uncontrolled stepper with default step:\n * ```tsx\n * <Stepper defaultStep=\"step-1\" orientation=\"horizontal\">\n * <StepperList>\n * <StepperStep id=\"step-1\">Personal Info</StepperStep>\n * <StepperStep id=\"step-2\">Payment</StepperStep>\n * <StepperStep id=\"step-3\">Confirmation</StepperStep>\n * </StepperList>\n * <StepperPanel id=\"step-1\">\n * <h2>Personal Information</h2>\n * <StepperNext>Next</StepperNext>\n * </StepperPanel>\n * <StepperPanel id=\"step-2\">\n * <h2>Payment Details</h2>\n * <StepperBack>Back</StepperBack>\n * <StepperNext>Next</StepperNext>\n * </StepperPanel>\n * <StepperPanel id=\"step-3\">\n * <h2>Confirmation</h2>\n * <StepperBack>Back</StepperBack>\n * </StepperPanel>\n * </Stepper>\n * ```\n *\n * @example\n * Controlled stepper with validation:\n * ```tsx\n * const [currentStep, setCurrentStep] = useState<Key>('step-1');\n * const [formData, setFormData] = useState({});\n *\n * const handleBeforeStepChange = (fromKey: Key, toKey: Key) => {\n * // Validate form data before allowing navigation\n * if (fromKey === 'step-1' && !formData.name) {\n * alert('Please enter your name');\n * return false;\n * }\n * return true;\n * };\n *\n * <Stepper\n * currentStep={currentStep}\n * onStepChange={setCurrentStep}\n * onBeforeStepChange={handleBeforeStepChange}\n * >\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\">\n * <input onChange={(e) => setFormData({ name: e.target.value })} />\n * <StepperNext>Next</StepperNext>\n * </StepperPanel>\n * <StepperPanel id=\"step-2\">\n * <StepperBack>Back</StepperBack>\n * </StepperPanel>\n * </Stepper>\n * ```\n *\n * @example\n * Stepper with disabled steps:\n * ```tsx\n * const [completedSteps, setCompletedSteps] = useState(new Set<Key>());\n * const disabledKeys = useMemo(() => {\n * const disabled = new Set<Key>();\n * if (!completedSteps.has('step-1')) {\n * disabled.add('step-2');\n * disabled.add('step-3');\n * }\n * if (!completedSteps.has('step-2')) {\n * disabled.add('step-3');\n * }\n * return disabled;\n * }, [completedSteps]);\n *\n * <Stepper\n * defaultStep=\"step-1\"\n * completedSteps={completedSteps}\n * disabledKeys={disabledKeys}\n * >\n * <StepperList>\n * <StepperStep id=\"step-1\">Step 1</StepperStep>\n * <StepperStep id=\"step-2\">Step 2</StepperStep>\n * <StepperStep id=\"step-3\">Step 3</StepperStep>\n * </StepperList>\n * </Stepper>\n * ```\n */\nexport function Stepper(props: StepperProps) {\n const {\n children,\n className,\n currentStep,\n defaultStep,\n onStepChange,\n onBeforeStepChange,\n orientation = 'horizontal',\n completedSteps,\n defaultCompletedSteps,\n disabledKeys,\n ...restProps\n } = props;\n\n const state = useStepperState({\n currentStep,\n defaultStep,\n onStepChange,\n onBeforeStepChange,\n completedSteps,\n defaultCompletedSteps,\n disabledKeys,\n orientation,\n });\n\n return (\n <StepperContext.Provider value={state}>\n <div {...restProps} className={className}>\n {children}\n </div>\n </StepperContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HA,SAAgB,QAAQ,OAAqB;CAC3C,MAAM,EACJ,UACA,WACA,aACA,aACA,cACA,oBACA,cAAc,cACd,gBACA,uBACA,cACA,GAAG,cACD;CAEJ,MAAM,QAAQ,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,oBAAC,eAAe;EAAS,OAAO;YAC9B,oBAAC;GAAI,GAAI;GAAsB;GAC5B;IACG;GACkB"}
@@ -0,0 +1,126 @@
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
+ @reference '@accelint/design-foundation/styles';
14
+
15
+ @layer components.l1 {
16
+ .stepper {
17
+ @apply flex;
18
+
19
+ @variant orientation-horizontal {
20
+ @apply flex-col;
21
+ }
22
+
23
+ @variant orientation-vertical {
24
+ @apply h-full flex-row;
25
+ }
26
+ }
27
+
28
+ .list {
29
+ @apply gap-xs flex;
30
+
31
+ @variant orientation-horizontal {
32
+ @apply relative w-full flex-row;
33
+ }
34
+
35
+ @variant orientation-vertical {
36
+ @apply h-full flex-col;
37
+ }
38
+ }
39
+
40
+ .step {
41
+ @apply gap-xs fg-primary-muted rounded-small relative flex cursor-pointer items-center;
42
+ min-width: 100px;
43
+
44
+ @variant hover {
45
+ @apply fg-primary-bold;
46
+ }
47
+
48
+ @variant focus-visible {
49
+ @apply fg-primary-bold outline outline-2 outline-offset-2 outline-(--outline-accent-primary-bold);
50
+ }
51
+
52
+ @variant pressed {
53
+ @apply fg-pressed;
54
+ }
55
+
56
+ @variant current {
57
+ @apply fg-accent-primary-bold bg-accent-primary-muted;
58
+
59
+ @variant hover {
60
+ @apply fg-accent-primary-hover bg-accent-primary-hover;
61
+ }
62
+
63
+ @variant focus-visible {
64
+ @apply fg-accent-primary-hover bg-accent-primary-hover;
65
+ }
66
+
67
+ @variant pressed {
68
+ @apply fg-accent-primary-pressed bg-interactive-muted-pressed;
69
+ }
70
+ }
71
+
72
+ @variant visited {
73
+ @apply fg-normal-bold bg-normal-muted;
74
+
75
+ @variant hover {
76
+ @apply fg-normal-hover bg-normal-hover;
77
+ }
78
+
79
+ @variant focus-visible {
80
+ @apply fg-normal-hover bg-normal-hover;
81
+ }
82
+ }
83
+
84
+ @variant disabled {
85
+ @apply fg-disabled bg-interactive-disabled cursor-not-allowed;
86
+ }
87
+
88
+ /* Connectors for horizontal orientation */
89
+ @variant group-orientation-horizontal/stepper {
90
+ &:not(:last-child)::after {
91
+ @apply absolute top-1/2 left-full block h-px bg-(--outline-static);
92
+ content: '';
93
+ width: var(--connector-width, 1rem);
94
+ transform: translateY(-50%);
95
+ }
96
+
97
+ @variant visited {
98
+ &:not(:last-child)::after {
99
+ @apply bg-(--outline-normal-bold);
100
+ }
101
+ }
102
+ }
103
+
104
+ /* Connectors for vertical orientation */
105
+ @variant group-orientation-vertical/stepper {
106
+ @apply w-full;
107
+
108
+ &:not(:last-child)::after {
109
+ @apply absolute top-full left-1/2 block w-px bg-(--outline-static);
110
+ content: '';
111
+ height: var(--connector-height, 1rem);
112
+ transform: translateX(-50%);
113
+ }
114
+
115
+ @variant visited {
116
+ &:not(:last-child)::after {
117
+ @apply bg-(--outline-normal-bold);
118
+ }
119
+ }
120
+ }
121
+ }
122
+
123
+ .panel {
124
+ @apply fg-primary-bold p-m;
125
+ }
126
+ }