impact-nova 2.6.2 → 3.0.0-alpha.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 (259) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-cell-components.d.ts +9 -0
  2. package/dist/components/data/ag-grid-react/ag-grid-list.d.ts +16 -0
  3. package/dist/components/data/ag-grid-react/ag-grid-list.js +23 -0
  4. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +21 -9
  5. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.d.ts +14 -0
  6. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.js +70 -0
  7. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.d.ts +10 -5
  8. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.js +73 -41
  9. package/dist/components/data/ag-grid-react/cell-renderers/index.d.ts +7 -0
  10. package/dist/components/data/ag-grid-react/cell-renderers/index.js +42 -36
  11. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.d.ts +19 -0
  12. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.js +89 -0
  13. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.d.ts +28 -0
  14. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.js +96 -0
  15. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.d.ts +30 -10
  16. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +72 -24
  17. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.d.ts +42 -0
  18. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.js +86 -0
  19. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +2 -12
  20. package/dist/components/data/ag-grid-react/headers/header-search-input.js +200 -207
  21. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  22. package/dist/components/data/ag-grid-react/index.js +263 -244
  23. package/dist/components/data/data-table/data-table.js +85 -82
  24. package/dist/components/data/data-table/data-table.types.d.ts +5 -0
  25. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +2 -3
  26. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +2 -3
  27. package/dist/components/data/expandable-list-item/sku-next-page-coordinator.d.ts +14 -0
  28. package/dist/components/data/expandable-list-item/sku-strip-lookahead.d.ts +26 -0
  29. package/dist/components/data/expandable-list-item/useServerSkuInfinitePages.d.ts +10 -0
  30. package/dist/components/data/expandable-list-item/useSkuStripVirtualizer.d.ts +30 -0
  31. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.catalog.d.ts +81 -0
  32. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.item-grid.d.ts +1 -0
  33. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.product-card.d.ts +7 -0
  34. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts +2 -0
  35. package/dist/components/data-display/chart/chart-heatmap-demos.d.ts +3 -0
  36. package/dist/components/data-display/chart/chart-heatmap-play.d.ts +9 -0
  37. package/dist/components/data-display/chart/chart.category-cluster-heatmap.stories-data.d.ts +22 -0
  38. package/dist/components/data-display/chart/chart.diverging-heatmap.stories-data.d.ts +43 -0
  39. package/dist/components/data-display/chart/chart.js +100 -93
  40. package/dist/components/data-display/chart/chart.types.d.ts +10 -0
  41. package/dist/components/data-display/chart/chart.utils.d.ts +14 -2
  42. package/dist/components/data-display/chart/chart.utils.js +132 -35
  43. package/dist/components/data-display/chart/index.js +15 -13
  44. package/dist/components/data-display/chart/resolve-highcharts-options.js +19 -14
  45. package/dist/components/data-display/globe-map/globe-map.d.ts +8 -0
  46. package/dist/components/data-display/globe-map/globe-map.js +161 -0
  47. package/dist/components/data-display/globe-map/globe-map.stories-data.d.ts +12 -0
  48. package/dist/components/data-display/globe-map/globe-map.types.d.ts +83 -0
  49. package/dist/components/data-display/globe-map/globe-map.utils.d.ts +115 -0
  50. package/dist/components/data-display/globe-map/globe-map.utils.js +259 -0
  51. package/dist/components/data-display/globe-map/globe-map.variants.d.ts +19 -0
  52. package/dist/components/data-display/globe-map/globe-map.variants.js +80 -0
  53. package/dist/components/data-display/globe-map/index.d.ts +2 -0
  54. package/dist/components/data-display/globe-map/index.js +10 -0
  55. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.d.ts +4 -0
  56. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.js +7 -0
  57. package/dist/components/data-display/globe-map/internals/globe-map-context.d.ts +25 -0
  58. package/dist/components/data-display/globe-map/internals/globe-map-context.js +19 -0
  59. package/dist/components/data-display/globe-map/internals/globe-map-legend.d.ts +2 -0
  60. package/dist/components/data-display/globe-map/internals/globe-map-legend.js +51 -0
  61. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.d.ts +6 -0
  62. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.js +119 -0
  63. package/dist/components/data-display/globe-map/internals/globe-map-point-card.d.ts +2 -0
  64. package/dist/components/data-display/globe-map/internals/globe-map-point-card.js +106 -0
  65. package/dist/components/data-display/globe-map/internals/globe-map-scene.d.ts +17 -0
  66. package/dist/components/data-display/globe-map/internals/globe-map-scene.js +218 -0
  67. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.d.ts +2 -0
  68. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.js +33 -0
  69. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.d.ts +45 -0
  70. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.js +270 -0
  71. package/dist/components/data-display/hex-tilemap/hex-tilemap.d.ts +9 -0
  72. package/dist/components/data-display/hex-tilemap/hex-tilemap.js +94 -0
  73. package/dist/components/data-display/hex-tilemap/hex-tilemap.stories-data.d.ts +7 -0
  74. package/dist/components/data-display/hex-tilemap/hex-tilemap.types.d.ts +43 -0
  75. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.d.ts +11 -0
  76. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.js +47 -0
  77. package/dist/components/data-display/hex-tilemap/index.d.ts +2 -0
  78. package/dist/components/data-display/hex-tilemap/index.js +12 -0
  79. package/dist/components/data-display/hex-tilemap/internals/hex-camera.d.ts +40 -0
  80. package/dist/components/data-display/hex-tilemap/internals/hex-camera.js +103 -0
  81. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.d.ts +9 -0
  82. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.js +1387 -0
  83. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.d.ts +21 -0
  84. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.js +82 -0
  85. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.d.ts +18 -0
  86. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.js +47 -0
  87. package/dist/components/data-display/hex-tilemap/internals/hex-layout.d.ts +10 -0
  88. package/dist/components/data-display/hex-tilemap/internals/hex-layout.js +35 -0
  89. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.d.ts +31 -0
  90. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.js +138 -0
  91. package/dist/components/data-display/hex-tilemap/internals/hex-regions.d.ts +6 -0
  92. package/dist/components/data-display/hex-tilemap/internals/hex-regions.js +18 -0
  93. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.d.ts +24 -0
  94. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.js +19 -0
  95. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.d.ts +2 -0
  96. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.js +51 -0
  97. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.d.ts +2 -0
  98. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.js +36 -0
  99. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.d.ts +3 -0
  100. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.js +147 -0
  101. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.d.ts +13 -0
  102. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.js +99 -0
  103. package/dist/components/data-display/hex-tilemap/internals/hex-world-grid.d.ts +8 -0
  104. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.d.ts +27 -0
  105. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.js +137 -0
  106. package/dist/components/data-display/notch-card/index.d.ts +2 -0
  107. package/dist/components/data-display/notch-card/index.js +6 -0
  108. package/dist/components/data-display/notch-card/notch-card.d.ts +7 -0
  109. package/dist/components/data-display/notch-card/notch-card.js +151 -0
  110. package/dist/components/data-display/notch-card/notch-card.path.d.ts +19 -0
  111. package/dist/components/data-display/notch-card/notch-card.path.js +118 -0
  112. package/dist/components/data-display/notch-card/notch-card.types.d.ts +15 -0
  113. package/dist/components/data-display/notch-card/notch-card.variants.d.ts +15 -0
  114. package/dist/components/data-display/notch-card/notch-card.variants.js +86 -0
  115. package/dist/components/feedback/hover-card/hover-card.d.ts +3 -1
  116. package/dist/components/feedback/hover-card/hover-card.js +28 -24
  117. package/dist/components/feedback/tooltip/overflow-tooltip.d.ts +1 -1
  118. package/dist/components/feedback/tooltip/overflow-tooltip.js +63 -57
  119. package/dist/components/feedback/tooltip/overflow-tooltip.types.d.ts +4 -0
  120. package/dist/components/feedback/tooltip/tab-tooltip-render.js +2 -3
  121. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  122. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  123. package/dist/components/flows/filter-strip/index.d.ts +1 -0
  124. package/dist/components/flows/filter-strip/index.js +4 -2
  125. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +48 -46
  126. package/dist/components/flows/iris-chat/index.d.ts +10 -0
  127. package/dist/components/flows/iris-chat/index.js +55 -0
  128. package/dist/components/flows/iris-chat/iris-chat-artifact.d.ts +4 -0
  129. package/dist/components/flows/iris-chat/iris-chat-artifact.js +125 -0
  130. package/dist/components/flows/iris-chat/iris-chat-composer.d.ts +3 -0
  131. package/dist/components/flows/iris-chat/iris-chat-composer.js +297 -0
  132. package/dist/components/flows/iris-chat/iris-chat-context.d.ts +14 -0
  133. package/dist/components/flows/iris-chat/iris-chat-context.js +23 -0
  134. package/dist/components/flows/iris-chat/iris-chat-icons.d.ts +18 -0
  135. package/dist/components/flows/iris-chat/iris-chat-icons.js +176 -0
  136. package/dist/components/flows/iris-chat/iris-chat-markdown.d.ts +3 -0
  137. package/dist/components/flows/iris-chat/iris-chat-markdown.js +62 -0
  138. package/dist/components/flows/iris-chat/iris-chat-menu.d.ts +15 -0
  139. package/dist/components/flows/iris-chat/iris-chat-menu.js +259 -0
  140. package/dist/components/flows/iris-chat/iris-chat-prompt.d.ts +3 -0
  141. package/dist/components/flows/iris-chat/iris-chat-prompt.js +46 -0
  142. package/dist/components/flows/iris-chat/iris-chat-thinking.d.ts +12 -0
  143. package/dist/components/flows/iris-chat/iris-chat-thinking.js +202 -0
  144. package/dist/components/flows/iris-chat/iris-chat-thread.d.ts +37 -0
  145. package/dist/components/flows/iris-chat/iris-chat-thread.js +493 -0
  146. package/dist/components/flows/iris-chat/iris-chat.d.ts +43 -0
  147. package/dist/components/flows/iris-chat/iris-chat.js +336 -0
  148. package/dist/components/flows/iris-chat/iris-chat.types.d.ts +208 -0
  149. package/dist/components/flows/iris-chat/iris-chat.variants.d.ts +14 -0
  150. package/dist/components/flows/iris-chat/iris-chat.variants.js +78 -0
  151. package/dist/components/flows/iris-chat/read-iris-greeting-period.d.ts +4 -0
  152. package/dist/components/flows/iris-chat/read-iris-greeting-period.js +16 -0
  153. package/dist/components/flows/wizard/index.d.ts +2 -2
  154. package/dist/components/flows/wizard/index.js +17 -13
  155. package/dist/components/flows/wizard/wizard-context.d.ts +6 -1
  156. package/dist/components/flows/wizard/wizard-context.js +15 -7
  157. package/dist/components/flows/wizard/wizard.d.ts +22 -4
  158. package/dist/components/flows/wizard/wizard.js +278 -174
  159. package/dist/components/flows/wizard/wizard.types.d.ts +40 -0
  160. package/dist/components/forms/choice-card/assets/featured-backdrop-baked.webp.js +4 -0
  161. package/dist/components/forms/choice-card/assets/featured-noise.webp.js +4 -0
  162. package/dist/components/forms/choice-card/choice-card-featured-arcs.d.ts +4 -0
  163. package/dist/components/forms/choice-card/choice-card-featured-arcs.js +42 -0
  164. package/dist/components/forms/choice-card/choice-card-featured-backdrop.d.ts +4 -0
  165. package/dist/components/forms/choice-card/choice-card-featured-backdrop.js +45 -0
  166. package/dist/components/forms/choice-card/choice-card-indicator.variants.d.ts +8 -0
  167. package/dist/components/forms/choice-card/choice-card-indicator.variants.js +5 -0
  168. package/dist/components/forms/choice-card/choice-card-percent.d.ts +11 -0
  169. package/dist/components/forms/choice-card/choice-card-percent.js +80 -0
  170. package/dist/components/forms/choice-card/choice-card.d.ts +40 -3
  171. package/dist/components/forms/choice-card/choice-card.js +651 -170
  172. package/dist/components/forms/choice-card/choice-card.types.d.ts +40 -0
  173. package/dist/components/forms/choice-card/choice-card.variants.d.ts +7 -0
  174. package/dist/components/forms/choice-card/choice-card.variants.js +100 -0
  175. package/dist/components/forms/choice-card/index.d.ts +2 -1
  176. package/dist/components/forms/choice-card/index.js +27 -10
  177. package/dist/components/forms/select/components/SelectTriggerValue.js +2 -3
  178. package/dist/components/forms/select/components/Submenu.js +2 -3
  179. package/dist/components/layout/header/header.d.ts +3 -2
  180. package/dist/components/layout/header/header.js +67 -47
  181. package/dist/components/layout/header/header.types.d.ts +1 -0
  182. package/dist/components/primitives/iris/iris-agent-cursor.d.ts +3 -0
  183. package/dist/components/primitives/iris/iris-agent-cursor.js +89 -0
  184. package/dist/components/primitives/iris/iris-alan-gradient-icon.d.ts +5 -0
  185. package/dist/components/primitives/iris/iris-alan-gradient-icon.js +69 -0
  186. package/dist/components/primitives/iris/iris-control-context.d.ts +15 -0
  187. package/dist/components/primitives/iris/iris-control-context.js +44 -0
  188. package/dist/components/primitives/iris/iris-control-region.d.ts +10 -0
  189. package/dist/components/primitives/iris/iris-control-region.js +102 -0
  190. package/dist/components/primitives/iris/iris-control.types.d.ts +24 -0
  191. package/dist/components/primitives/iris/iris-control.variants.d.ts +4 -0
  192. package/dist/components/primitives/iris/iris-control.variants.js +20 -0
  193. package/dist/components/primitives/iris/iris.d.ts +24 -0
  194. package/dist/components/primitives/iris/iris.js +232 -0
  195. package/dist/components/primitives/iris/iris.types.d.ts +35 -0
  196. package/dist/components/primitives/iris/iris.variants.d.ts +30 -0
  197. package/dist/components/primitives/iris/iris.variants.js +120 -0
  198. package/dist/components/primitives/stepper/internals/pipeline-current-mark.d.ts +6 -0
  199. package/dist/components/primitives/stepper/internals/pipeline-current-mark.js +35 -0
  200. package/dist/components/primitives/stepper/internals/rail-status-dot.d.ts +13 -0
  201. package/dist/components/primitives/stepper/internals/rail-status-dot.js +70 -0
  202. package/dist/components/primitives/stepper/internals/step-hit-target.d.ts +15 -0
  203. package/dist/components/primitives/stepper/internals/step-hit-target.js +51 -0
  204. package/dist/components/primitives/stepper/internals/step-model.d.ts +3 -0
  205. package/dist/components/primitives/stepper/internals/step-model.js +10 -0
  206. package/dist/components/primitives/stepper/internals/stepper-compact.d.ts +5 -0
  207. package/dist/components/primitives/stepper/internals/stepper-compact.js +68 -0
  208. package/dist/components/primitives/stepper/internals/stepper-pipeline.d.ts +7 -0
  209. package/dist/components/primitives/stepper/internals/stepper-pipeline.js +87 -0
  210. package/dist/components/primitives/stepper/internals/stepper-rail.d.ts +5 -0
  211. package/dist/components/primitives/stepper/internals/stepper-rail.js +105 -0
  212. package/dist/components/primitives/stepper/internals/stepper-summary.d.ts +5 -0
  213. package/dist/components/primitives/stepper/internals/stepper-summary.js +103 -0
  214. package/dist/components/primitives/stepper/internals/stepper-track.d.ts +8 -0
  215. package/dist/components/primitives/stepper/internals/stepper-track.js +170 -0
  216. package/dist/components/primitives/stepper/stepper.d.ts +1 -0
  217. package/dist/components/primitives/stepper/stepper.js +134 -52
  218. package/dist/components/primitives/stepper/stepper.types.d.ts +17 -0
  219. package/dist/components/primitives/stepper/stepper.variants.d.ts +26 -0
  220. package/dist/components/primitives/stepper/stepper.variants.js +165 -5
  221. package/dist/components/primitives/tabs/tabs.d.ts +4 -1
  222. package/dist/components/primitives/tabs/tabs.js +131 -59
  223. package/dist/components/primitives/tabs/tabs.types.d.ts +5 -1
  224. package/dist/form-react/Fields/DateRangeField.js +20 -19
  225. package/dist/form-react/Fields/WeekRangePicker.js +36 -36
  226. package/dist/i18n/defaultMessages.d.ts +100 -0
  227. package/dist/i18n/defaultMessages.js +118 -21
  228. package/dist/i18n/index.d.ts +1 -1
  229. package/dist/i18n/locales/de.js +99 -2
  230. package/dist/i18n/locales/es.js +99 -2
  231. package/dist/i18n/locales/hi.js +99 -2
  232. package/dist/i18n/locales/kn.js +99 -2
  233. package/dist/impact-nova-components.css +972 -2
  234. package/dist/impact-nova-tokens.scss +109 -1
  235. package/dist/impact-nova.css +1 -1
  236. package/dist/index.d.ts +1 -1
  237. package/dist/index.js +585 -551
  238. package/dist/lib/virtualized/directional-range-extractor.d.ts +26 -0
  239. package/dist/lib/virtualized/directional-range-extractor.js +39 -0
  240. package/dist/lib/virtualized/index.d.ts +3 -0
  241. package/dist/lib/virtualized/index.js +35 -27
  242. package/dist/lib/virtualized/scroll-seek.d.ts +61 -0
  243. package/dist/lib/virtualized/scroll-seek.js +61 -0
  244. package/dist/lib/virtualized/usePaintedRangeVirtualizer.d.ts +19 -0
  245. package/dist/lib/virtualized/usePaintedRangeVirtualizer.js +30 -0
  246. package/dist/lib/virtualized/useResponsiveColumnCount.d.ts +35 -0
  247. package/dist/lib/virtualized/useResponsiveColumnCount.js +51 -0
  248. package/dist/lib/virtualized/useScrollSeekPaintedRange.d.ts +13 -0
  249. package/dist/lib/virtualized/useScrollSeekPaintedRange.js +45 -0
  250. package/dist/lib/virtualized/useVirtualizedList.d.ts +7 -0
  251. package/dist/lib/virtualized/useVirtualizedList.js +89 -87
  252. package/dist/lib/virtualized/useVirtualizedRows.d.ts +9 -2
  253. package/dist/lib/virtualized/useVirtualizedRows.js +15 -13
  254. package/dist/lib/virtualized/virtualized.types.d.ts +2 -0
  255. package/dist/llms/rules/installation.js +1 -1
  256. package/dist/llms/rules/requirements.js +1 -1
  257. package/dist/tailwind.config.js +3 -1
  258. package/dist/theme/tailwind-colors.js +2 -1
  259. package/package.json +39 -4
@@ -1,246 +1,325 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import * as a from "react";
3
- import { useControllableState as y } from "@radix-ui/react-use-controllable-state";
4
- import { cn as p } from "../../../lib/utils.js";
5
- import { CreateFlowImage as S } from "impact-nova-icons";
6
- import { WizardScrollContext as R, useWizardScrollContext as N, useWizardContext as W, WizardContext as C } from "./wizard-context.js";
7
- const k = ({
8
- value: r,
1
+ import { jsx as s, jsxs as y } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import { useControllableState as S } from "@radix-ui/react-use-controllable-state";
4
+ import { cn as n } from "../../../lib/utils.js";
5
+ import { CreateFlowImage as R } from "impact-nova-icons";
6
+ import { WizardScrollContext as C, useWizardLayout as k, useWizardScrollContext as N, WizardLayoutContext as E, useWizardContext as W, WizardContext as M } from "./wizard-context.js";
7
+ const D = ({
8
+ value: o,
9
9
  defaultValue: e = 1,
10
- onValueChange: o,
11
- totalSteps: t,
12
- steps: s = [],
10
+ onValueChange: t,
11
+ totalSteps: a,
12
+ steps: l = [],
13
13
  children: i
14
14
  }) => {
15
- const [d, f] = y({
16
- prop: r,
15
+ const [c, p] = S({
16
+ prop: o,
17
17
  defaultProp: e,
18
- onChange: o
19
- }), [u, l] = a.useState([]), x = a.useCallback((g) => {
20
- l((b) => b.includes(g) ? b : [...b, g].sort((v, w) => v - w));
21
- }, []), c = a.useCallback((g) => {
22
- l((b) => b.filter((v) => v !== g));
23
- }, []), m = t ?? (u.length > 0 ? Math.max(...u) : s.length), h = a.useMemo(
18
+ onChange: t
19
+ }), [g, f] = r.useState([]), d = r.useCallback((v) => {
20
+ f((w) => w.includes(v) ? w : [...w, v].sort((b, h) => b - h));
21
+ }, []), x = r.useCallback((v) => {
22
+ f((w) => w.filter((b) => b !== v));
23
+ }, []), m = a ?? (g.length > 0 ? Math.max(...g) : l.length), u = r.useMemo(
24
24
  () => ({
25
- value: d ?? e,
25
+ value: c ?? e,
26
26
  totalSteps: m,
27
- steps: s,
28
- setValue: f,
29
- registerStep: x,
30
- unregisterStep: c
27
+ steps: l,
28
+ setValue: p,
29
+ registerStep: d,
30
+ unregisterStep: x
31
31
  }),
32
- [d, e, m, s, f, x, c]
32
+ [c, e, m, l, p, d, x]
33
33
  );
34
- return /* @__PURE__ */ n(C.Provider, { value: h, children: i });
34
+ return /* @__PURE__ */ s(M.Provider, { value: u, children: i });
35
35
  };
36
- k.displayName = "WizardRoot";
37
- const E = a.forwardRef(
38
- ({ className: r, children: e, ...o }, t) => /* @__PURE__ */ n(
36
+ D.displayName = "WizardRoot";
37
+ const L = r.forwardRef(
38
+ ({ className: o, children: e, orientation: t = "horizontal", ...a }, l) => /* @__PURE__ */ s(E.Provider, { value: { orientation: t }, children: /* @__PURE__ */ s(
39
39
  "div",
40
40
  {
41
- ref: t,
41
+ ref: l,
42
42
  "data-component": "wizard",
43
43
  "data-slot": "layout",
44
- className: p(
45
- "bg-canvas-elevated rounded-lg shadow-elevation-card overflow-hidden w-[83%] mx-auto min-h-0 min-w-0 flex-1",
46
- r
44
+ "data-orientation": t,
45
+ className: n(
46
+ "relative bg-canvas-elevated rounded-lg shadow-elevation-card overflow-hidden w-full max-w-full mx-auto min-h-0 min-w-0 flex-1",
47
+ t !== "vertical" && "md:w-[83%]",
48
+ o
47
49
  ),
48
- ...o,
50
+ ...a,
51
+ children: e
52
+ }
53
+ ) })
54
+ );
55
+ L.displayName = "WizardLayout";
56
+ const P = r.forwardRef(
57
+ ({ className: o, children: e, bordered: t = !0, ...a }, l) => /* @__PURE__ */ s(
58
+ "div",
59
+ {
60
+ ref: l,
61
+ className: n(
62
+ "relative z-[1] flex w-full shrink-0 flex-col gap-1 px-4 pt-4 pb-3 sm:px-6 sm:pt-5 sm:pb-4",
63
+ t && "border-b border-stroke-hairline",
64
+ o
65
+ ),
66
+ "data-slot": "intro",
67
+ "data-bordered": t ? "true" : "false",
68
+ ...a,
69
+ children: e
70
+ }
71
+ )
72
+ );
73
+ P.displayName = "WizardIntro";
74
+ const _ = r.forwardRef(
75
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
76
+ "div",
77
+ {
78
+ ref: a,
79
+ className: n(
80
+ "relative z-[1] flex flex-1 min-h-0 min-w-0 flex-col items-stretch overflow-hidden md:flex-row",
81
+ o
82
+ ),
83
+ "data-slot": "main",
84
+ ...t,
85
+ children: e
86
+ }
87
+ )
88
+ );
89
+ _.displayName = "WizardMain";
90
+ const I = r.forwardRef(
91
+ ({ className: o, children: e, bordered: t = !0, ...a }, l) => /* @__PURE__ */ s(
92
+ "div",
93
+ {
94
+ ref: l,
95
+ className: n(
96
+ "relative flex h-auto min-h-0 w-full shrink-0 flex-col self-stretch overflow-x-auto px-4 py-3 sm:px-6 md:h-full md:w-[240px] md:overflow-visible md:py-4 lg:w-[280px]",
97
+ o
98
+ ),
99
+ "data-slot": "nav",
100
+ "data-bordered": t ? "true" : "false",
101
+ ...a,
102
+ children: e
103
+ }
104
+ )
105
+ );
106
+ I.displayName = "WizardNav";
107
+ const j = r.forwardRef(
108
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
109
+ "div",
110
+ {
111
+ ref: a,
112
+ className: n(
113
+ "pointer-events-none absolute z-0 select-none",
114
+ o
115
+ ),
116
+ "data-slot": "decoration",
117
+ "aria-hidden": !0,
118
+ ...t,
49
119
  children: e
50
120
  }
51
121
  )
52
122
  );
53
- E.displayName = "WizardLayout";
54
- const M = a.forwardRef(
55
- ({ className: r, children: e, ...o }, t) => /* @__PURE__ */ n(
123
+ j.displayName = "WizardDecoration";
124
+ const F = r.forwardRef(
125
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
56
126
  "div",
57
127
  {
58
- ref: t,
59
- className: p(
60
- "w-[300px] xl:w-[427px] shrink-0 bg-canvas-elevated border-r border-stroke-hairline pt-[100px]",
61
- r
128
+ ref: a,
129
+ className: n(
130
+ "relative z-[1] w-[300px] xl:w-[427px] shrink-0 bg-canvas-elevated border-r border-stroke-hairline pt-[100px]",
131
+ o
62
132
  ),
63
133
  "data-slot": "sidebar",
64
- ...o,
134
+ ...t,
65
135
  children: e
66
136
  }
67
137
  )
68
138
  );
69
- M.displayName = "WizardSidebar";
70
- const D = a.forwardRef(
71
- ({ className: r, children: e, ...o }, t) => /* @__PURE__ */ n(
139
+ F.displayName = "WizardSidebar";
140
+ const H = r.forwardRef(
141
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
72
142
  "h1",
73
143
  {
74
- ref: t,
75
- className: p("font-manrope text-[24px] font-[800] leading-[36px] text-foreground mb-3 px-6 lg:px-10 xl:px-[64px]", r),
76
- ...o,
144
+ ref: a,
145
+ className: n(
146
+ "font-manrope text-[24px] font-[800] leading-[36px] text-foreground mb-3 px-6 lg:px-10 xl:px-[64px]",
147
+ o
148
+ ),
149
+ "data-slot": "title",
150
+ ...t,
77
151
  children: e
78
152
  }
79
153
  )
80
154
  );
81
- D.displayName = "WizardTitle";
82
- const _ = a.forwardRef(
83
- ({ className: r, children: e, ...o }, t) => /* @__PURE__ */ n(
155
+ H.displayName = "WizardTitle";
156
+ const T = r.forwardRef(
157
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
84
158
  "p",
85
159
  {
86
- ref: t,
87
- className: p("font-manrope text-[12px] font-[500] leading-[16px] text-secondary-foreground px-6 lg:px-10 xl:px-[64px]", r),
88
- ...o,
160
+ ref: a,
161
+ className: n(
162
+ "font-manrope text-[12px] font-[500] leading-[16px] text-secondary-foreground px-6 lg:px-10 xl:px-[64px]",
163
+ o
164
+ ),
165
+ "data-slot": "description",
166
+ ...t,
89
167
  children: e
90
168
  }
91
169
  )
92
170
  );
93
- _.displayName = "WizardDescription";
94
- const L = a.forwardRef(
95
- ({ className: r, src: e, alt: o = "Wizard illustration", children: t, ...s }, i) => /* @__PURE__ */ n(
171
+ T.displayName = "WizardDescription";
172
+ const A = r.forwardRef(
173
+ ({ className: o, src: e, alt: t = "Wizard illustration", children: a, ...l }, i) => /* @__PURE__ */ s(
96
174
  "div",
97
175
  {
98
176
  ref: i,
99
- className: p(
177
+ className: n(
100
178
  "mt-auto shrink-0 w-[200px] xl:w-[280px] h-[120px] xl:h-[166px] mx-auto xl:ml-[73px] xl:mr-[73px] mb-[100px]",
101
- r
179
+ o
102
180
  ),
103
181
  "data-slot": "media",
104
- ...s,
105
- children: t || (e ? /* @__PURE__ */ n("img", { src: e, alt: o, className: "w-full h-full object-contain" }) : /* @__PURE__ */ n(S, { className: "w-full h-full", role: "img", "aria-label": o }))
182
+ ...l,
183
+ children: a || (e ? /* @__PURE__ */ s("img", { src: e, alt: t, className: "w-full h-full object-contain" }) : /* @__PURE__ */ s(R, { className: "w-full h-full", role: "img", "aria-label": t }))
106
184
  }
107
185
  )
108
186
  );
109
- L.displayName = "WizardMedia";
110
- const P = a.forwardRef(
111
- ({ className: r, children: e, ...o }, t) => {
112
- const [s, i] = a.useState({ top: !1, bottom: !1 }), d = a.useMemo(
113
- () => ({ edges: s, setEdges: i }),
114
- [s]
187
+ A.displayName = "WizardMedia";
188
+ const B = r.forwardRef(
189
+ ({ className: o, children: e, ...t }, a) => {
190
+ const [l, i] = r.useState({ top: !1, bottom: !1 }), c = r.useMemo(
191
+ () => ({ edges: l, setEdges: i }),
192
+ [l]
115
193
  );
116
- return /* @__PURE__ */ n(R.Provider, { value: d, children: /* @__PURE__ */ n(
194
+ return /* @__PURE__ */ s(C.Provider, { value: c, children: /* @__PURE__ */ s(
117
195
  "div",
118
196
  {
119
- ref: t,
120
- className: p(
197
+ ref: a,
198
+ className: n(
121
199
  "flex flex-col flex-1 min-h-0 min-w-0 overflow-hidden pt-[50px] pb-[73px]",
122
- r
200
+ o
123
201
  ),
124
202
  "data-slot": "body",
125
- ...o,
203
+ ...t,
126
204
  children: e
127
205
  }
128
206
  ) });
129
207
  }
130
208
  );
131
- P.displayName = "WizardBody";
132
- const F = a.forwardRef(
133
- ({ className: r, interactive: e = !0, linear: o = !1, ...t }, s) => {
134
- const { value: i, totalSteps: d, steps: f, setValue: u } = W();
135
- if (d <= 0) return null;
136
- const l = (x) => {
137
- e && (o && x > i || u(x));
209
+ B.displayName = "WizardBody";
210
+ const $ = r.forwardRef(
211
+ ({ className: o, interactive: e = !0, linear: t = !1, ...a }, l) => {
212
+ const { value: i, totalSteps: c, steps: p, setValue: g } = W();
213
+ if (c <= 0) return null;
214
+ const f = (d) => {
215
+ e && (t && d > i || g(d));
138
216
  };
139
- return /* @__PURE__ */ n(
217
+ return /* @__PURE__ */ s(
140
218
  "div",
141
219
  {
142
- ref: s,
143
- className: p("flex gap-2 mb-[42px] shrink-0 px-6 sm:px-10 md:px-16 lg:px-20 xl:px-[60px] 2xl:px-[190px]", r),
220
+ ref: l,
221
+ className: n("flex gap-2 mb-[42px] shrink-0 px-6 sm:px-10 md:px-16 lg:px-20 xl:px-[60px] 2xl:px-[190px]", o),
144
222
  "data-slot": "progress",
145
223
  role: "list",
146
- ...t,
147
- children: Array.from({ length: d }, (x, c) => {
148
- const m = c + 1, h = c === i - 1, g = c < i - 1, v = f[c]?.label ?? `Step ${m} of ${d}`, w = e && (!o || m <= i);
149
- return /* @__PURE__ */ n(
224
+ ...a,
225
+ children: Array.from({ length: c }, (d, x) => {
226
+ const m = x + 1, u = x === i - 1, v = x < i - 1, b = p[x]?.label ?? `Step ${m} of ${c}`, h = e && (!t || m <= i);
227
+ return /* @__PURE__ */ s(
150
228
  "div",
151
229
  {
152
230
  role: "listitem",
153
- "aria-label": v,
154
- "aria-current": h ? "step" : void 0,
155
- tabIndex: w ? 0 : void 0,
156
- onClick: () => l(m),
157
- onKeyDown: w ? (z) => {
158
- (z.key === "Enter" || z.key === " ") && (z.preventDefault(), l(m));
231
+ "aria-label": b,
232
+ "aria-current": u ? "step" : void 0,
233
+ tabIndex: h ? 0 : void 0,
234
+ onClick: () => f(m),
235
+ onKeyDown: h ? (z) => {
236
+ (z.key === "Enter" || z.key === " ") && (z.preventDefault(), f(m));
159
237
  } : void 0,
160
- className: p(
238
+ className: n(
161
239
  "h-2 flex-1 max-w-[132px] rounded-[4px] transition-colors duration-300 motion-reduce:transition-none",
162
- h || g ? "bg-brand" : "bg-accent",
163
- w ? "cursor-pointer" : "cursor-default"
240
+ u || v ? "bg-brand" : "bg-accent",
241
+ h ? "cursor-pointer" : "cursor-default"
164
242
  )
165
243
  },
166
- c
244
+ x
167
245
  );
168
246
  })
169
247
  }
170
248
  );
171
249
  }
172
250
  );
173
- F.displayName = "WizardProgress";
174
- const H = a.forwardRef(
175
- ({ className: r, children: e, ...o }, t) => /* @__PURE__ */ n(
251
+ $.displayName = "WizardProgress";
252
+ const q = r.forwardRef(
253
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
176
254
  "h2",
177
255
  {
178
- ref: t,
179
- className: p("font-manrope text-[14px] font-[800] leading-[21px] text-foreground", r),
180
- ...o,
256
+ ref: a,
257
+ className: n("font-manrope text-[14px] font-[800] leading-[21px] text-foreground", o),
258
+ ...t,
181
259
  children: e
182
260
  }
183
261
  )
184
262
  );
185
- H.displayName = "WizardHeader";
186
- const T = a.forwardRef(
187
- ({ className: r, children: e, ...o }, t) => /* @__PURE__ */ n(
263
+ q.displayName = "WizardHeader";
264
+ const K = r.forwardRef(
265
+ ({ className: o, children: e, ...t }, a) => /* @__PURE__ */ s(
188
266
  "p",
189
267
  {
190
- ref: t,
191
- className: p("text-[14px] font-normal leading-relaxed text-secondary-foreground", r),
192
- ...o,
268
+ ref: a,
269
+ className: n("text-[14px] font-normal leading-relaxed text-secondary-foreground", o),
270
+ ...t,
193
271
  children: e
194
272
  }
195
273
  )
196
274
  );
197
- T.displayName = "WizardStepDescription";
198
- const j = a.forwardRef(
199
- ({ className: r, children: e, ...o }, t) => {
200
- const { edges: s, setEdges: i } = N(), d = a.useRef(null), f = a.useCallback(
201
- (l) => {
202
- d.current = l, typeof t == "function" ? t(l) : t && (t.current = l);
275
+ K.displayName = "WizardStepDescription";
276
+ const O = r.forwardRef(
277
+ ({ className: o, children: e, ...t }, a) => {
278
+ const { orientation: l } = k(), { edges: i, setEdges: c } = N(), p = r.useRef(null), g = r.useCallback(
279
+ (d) => {
280
+ p.current = d, typeof a == "function" ? a(d) : a && (a.current = d);
203
281
  },
204
- [t]
205
- ), u = a.useCallback(() => {
206
- const l = d.current;
207
- if (!l) return;
208
- const { scrollTop: x, scrollHeight: c, clientHeight: m } = l, h = 1, g = x > h, b = x + m < c - h;
209
- i((v) => v.top === g && v.bottom === b ? v : { top: g, bottom: b });
210
- }, [i]);
211
- return a.useEffect(() => {
212
- const l = d.current;
213
- if (!l) return;
282
+ [a]
283
+ ), f = r.useCallback(() => {
284
+ const d = p.current;
285
+ if (!d) return;
286
+ const { scrollTop: x, scrollHeight: m, clientHeight: u } = d, v = 1, w = x > v, b = x + u < m - v;
287
+ c((h) => h.top === w && h.bottom === b ? h : { top: w, bottom: b });
288
+ }, [c]);
289
+ return r.useEffect(() => {
290
+ const d = p.current;
291
+ if (!d) return;
214
292
  const x = () => {
215
- requestAnimationFrame(u);
293
+ requestAnimationFrame(f);
216
294
  };
217
- x(), l.addEventListener("scroll", u, { passive: !0 });
218
- const c = new ResizeObserver(x);
219
- c.observe(l);
220
- const m = l.firstElementChild;
221
- return m && c.observe(m), () => {
222
- l.removeEventListener("scroll", u), c.disconnect();
295
+ x(), d.addEventListener("scroll", f, { passive: !0 });
296
+ const m = new ResizeObserver(x);
297
+ m.observe(d);
298
+ const u = d.firstElementChild;
299
+ return u && m.observe(u), () => {
300
+ d.removeEventListener("scroll", f), m.disconnect();
223
301
  };
224
- }, [u, e]), /* @__PURE__ */ n(
302
+ }, [f, e]), /* @__PURE__ */ s(
225
303
  "div",
226
304
  {
227
- className: p(
305
+ className: n(
228
306
  "flex flex-col flex-1 min-h-0 transition-[box-shadow] duration-200",
229
- s.top && "shadow-[inset_0_1px_0_0_var(--color-border-hairline)]"
307
+ i.top && "shadow-[inset_0_1px_0_0_var(--color-border-hairline)]"
230
308
  ),
231
309
  "data-slot": "content-wrapper",
232
- "data-scroll-top": s.top || void 0,
233
- "data-scroll-bottom": s.bottom || void 0,
234
- children: /* @__PURE__ */ n(
310
+ "data-scroll-top": i.top || void 0,
311
+ "data-scroll-bottom": i.bottom || void 0,
312
+ children: /* @__PURE__ */ s(
235
313
  "div",
236
314
  {
237
- ref: f,
238
- className: p(
239
- "flex-1 min-h-0 overflow-y-auto overflow-x-hidden px-6 py-4 sm:px-10 md:px-16 lg:px-20 xl:px-[60px] 2xl:px-[190px]",
240
- r
315
+ ref: g,
316
+ className: n(
317
+ "flex-1 min-h-0 overflow-y-auto overflow-x-hidden py-4",
318
+ l === "vertical" ? "px-6 sm:px-8" : "px-6 sm:px-10 md:px-16 lg:px-20 xl:px-[60px] 2xl:px-[190px]",
319
+ o
241
320
  ),
242
321
  "data-slot": "content",
243
- ...o,
322
+ ...t,
244
323
  children: e
245
324
  }
246
325
  )
@@ -248,47 +327,72 @@ const j = a.forwardRef(
248
327
  );
249
328
  }
250
329
  );
251
- j.displayName = "WizardContent";
252
- const A = a.forwardRef(
253
- ({ className: r, value: e, children: o, ...t }, s) => {
254
- const { value: i, registerStep: d, unregisterStep: f } = W();
255
- return a.useEffect(() => (d(e), () => f(e)), [e, d, f]), i !== e ? null : /* @__PURE__ */ n("div", { ref: s, className: p(r), "data-step": e, ...t, children: o });
330
+ O.displayName = "WizardContent";
331
+ const U = r.forwardRef(
332
+ ({ className: o, value: e, children: t, ...a }, l) => {
333
+ const { value: i, registerStep: c, unregisterStep: p } = W();
334
+ return r.useEffect(() => (c(e), () => p(e)), [e, c, p]), i !== e ? null : /* @__PURE__ */ s("div", { ref: l, className: n(o), "data-step": e, ...a, children: t });
256
335
  }
257
336
  );
258
- A.displayName = "WizardStep";
259
- const B = a.forwardRef(
260
- ({ className: r, children: e, ...o }, t) => {
261
- const { edges: s } = N();
262
- return /* @__PURE__ */ n(
337
+ U.displayName = "WizardStep";
338
+ const G = r.forwardRef(
339
+ ({ className: o, children: e, bordered: t, ...a }, l) => {
340
+ const { edges: i } = N(), c = t === !0, p = t === void 0 && i.bottom;
341
+ return /* @__PURE__ */ y(
263
342
  "div",
264
343
  {
265
- ref: t,
266
- className: p(
267
- "relative z-10 mt-auto flex shrink-0 items-center justify-between bg-canvas-elevated pt-6 pb-[27px] px-6 sm:px-10 md:px-16 lg:px-20 xl:px-[60px] 2xl:px-[190px] transition-[box-shadow,border-color] duration-200",
268
- s.bottom && "border-t border-stroke-hairline shadow-elevation-wizard-footer",
269
- r
344
+ ref: l,
345
+ className: n(
346
+ "relative z-10 mt-auto flex w-full shrink-0 flex-col bg-canvas-elevated transition-[box-shadow,border-color] duration-200",
347
+ p && "border-t border-stroke-hairline",
348
+ (c || p) && "shadow-elevation-wizard-footer"
270
349
  ),
271
350
  "data-slot": "footer",
272
- "data-scroll-bottom": s.bottom || void 0,
273
- ...o,
274
- children: e
351
+ "data-bordered": t === void 0 ? void 0 : t ? "true" : "false",
352
+ "data-scroll-bottom": i.bottom || void 0,
353
+ ...a,
354
+ children: [
355
+ c ? /* @__PURE__ */ s(
356
+ "div",
357
+ {
358
+ "data-slot": "footer-rule",
359
+ "aria-hidden": !0,
360
+ className: "mx-6 border-t border-stroke-hairline sm:mx-8 md:mx-10 lg:mx-12 xl:mx-[60px] 2xl:mx-[60px]"
361
+ }
362
+ ) : null,
363
+ /* @__PURE__ */ s(
364
+ "div",
365
+ {
366
+ className: n(
367
+ "flex w-full flex-wrap items-center justify-between gap-3 px-6 pt-6 pb-[27px] sm:px-10 md:px-16 lg:px-20 xl:px-[60px] 2xl:px-[190px]",
368
+ o
369
+ ),
370
+ "data-slot": "footer-inner",
371
+ children: e
372
+ }
373
+ )
374
+ ]
275
375
  }
276
376
  );
277
377
  }
278
378
  );
279
- B.displayName = "WizardFooter";
379
+ G.displayName = "WizardFooter";
280
380
  export {
281
- P as WizardBody,
282
- j as WizardContent,
283
- _ as WizardDescription,
284
- B as WizardFooter,
285
- H as WizardHeader,
286
- E as WizardLayout,
287
- L as WizardMedia,
288
- F as WizardProgress,
289
- k as WizardRoot,
290
- M as WizardSidebar,
291
- A as WizardStep,
292
- T as WizardStepDescription,
293
- D as WizardTitle
381
+ B as WizardBody,
382
+ O as WizardContent,
383
+ j as WizardDecoration,
384
+ T as WizardDescription,
385
+ G as WizardFooter,
386
+ q as WizardHeader,
387
+ P as WizardIntro,
388
+ L as WizardLayout,
389
+ _ as WizardMain,
390
+ A as WizardMedia,
391
+ I as WizardNav,
392
+ $ as WizardProgress,
393
+ D as WizardRoot,
394
+ F as WizardSidebar,
395
+ U as WizardStep,
396
+ K as WizardStepDescription,
397
+ H as WizardTitle
294
398
  };
@@ -17,6 +17,37 @@ export interface WizardRootProps {
17
17
  steps?: WizardStepDefinition[];
18
18
  children?: React.ReactNode;
19
19
  }
20
+ /**
21
+ * Layout shell orientation. Parts remain optional — compose sidebar, intro, nav,
22
+ * progress, media, etc. only when needed (shadcn / Radix compound style).
23
+ */
24
+ export type WizardLayoutOrientation = "horizontal" | "vertical";
25
+ export interface WizardLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
26
+ /**
27
+ * `horizontal` — sidebar | body (default, existing reporting chrome).
28
+ * `vertical` — stack intro / main / footer for top-header + stepper compositions.
29
+ */
30
+ orientation?: WizardLayoutOrientation;
31
+ }
32
+ export interface WizardIntroProps extends React.HTMLAttributes<HTMLDivElement> {
33
+ /**
34
+ * Full-width bottom divider under the top title band.
35
+ * - `true` (default) — show hairline under intro
36
+ * - `false` — no divider (override via className if you need a custom rule)
37
+ */
38
+ bordered?: boolean;
39
+ }
40
+ export interface WizardNavProps extends React.HTMLAttributes<HTMLDivElement> {
41
+ /**
42
+ * Inset divider on the nav’s trailing edge (desktop: vertical with top/bottom gaps;
43
+ * stacked viewports: horizontal under the nav).
44
+ * - `true` (default) — show hairline
45
+ * - `false` — no divider
46
+ */
47
+ bordered?: boolean;
48
+ }
49
+ /** Optional absolute decoration slot — children only; never participates in content layout. */
50
+ export type WizardDecorationProps = React.HTMLAttributes<HTMLDivElement>;
20
51
  export interface WizardMediaProps extends React.HTMLAttributes<HTMLDivElement> {
21
52
  src?: string;
22
53
  alt?: string;
@@ -28,3 +59,12 @@ export interface WizardProgressProps extends React.HTMLAttributes<HTMLDivElement
28
59
  export interface WizardStepProps extends React.HTMLAttributes<HTMLDivElement> {
29
60
  value: number;
30
61
  }
62
+ export interface WizardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
63
+ /**
64
+ * Top rule above actions.
65
+ * - `true` — inset hairline (stepper-nav pack)
66
+ * - `false` — never show
67
+ * - omit — edge-to-edge `border-t` when content can scroll further (sidebar pack)
68
+ */
69
+ bordered?: boolean;
70
+ }
@@ -0,0 +1,4 @@
1
+ const a = "data:image/webp;base64,UklGRpwBAABXRUJQVlA4TI8BAAAv1sAcAI9AkG3T+Tv/GgKCIv9HI5C0cf07//Mf/405DnOYMDBBBEEKYoBg2wrTKJreiNn/dhU+nOOfPvIj+s/AbSNFPaoycExf2H1Uw+a/Nv+1+a/Nf/0W1vReDkPXyPpAlWgoyp0NH0n+opaiJo+UxHyxdNVklOgTa6yWoEsSOMY9wzJk0lusMywXkyRebug6gr1ZxcpVkVEKrg5akpNRVQ/HpKE59aklUKyfdmAypU9wGXnOjzrLlRjkJjg2E0mH5QOE0Leos5J8Pvxwmvd19Wp+1NL5Q0xefdhLRGhBb5ggMb0lHs/dIhdf80eUSGJWhThlnk2vQzsxWR8YUqx3RPy+iz8KClPNAyrMj+qj2EwMaL17Wnwfx6QfovTgtYwb2n/iguShk6S1T0kKuSdKotialaHJPuFFD5PjXeeV9qjoibinuc7LR8hZJ4nLZDH172WoN0DucyI9qDx5nZVkXUjaI4uY1jlbTmk6offyAc4/+kQSj/4WVZU5qF7SrXt9FUXTlHPWUf79rIhc+yIA";
2
+ export {
3
+ a as default
4
+ };