@purpur/library 9.10.0 → 10.0.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 (520) hide show
  1. package/CHANGELOG.json +124 -0
  2. package/CHANGELOG.md +53 -1
  3. package/dist/LICENSE.txt +270 -175
  4. package/dist/{RichText-BAVZadzi.js → RichText-B865Qkzj.js} +2 -2
  5. package/dist/{RichText-BAVZadzi.js.map → RichText-B865Qkzj.js.map} +1 -1
  6. package/dist/{RichText-D4vznH1B.mjs → RichText-CPkBwXNI.mjs} +3 -3
  7. package/dist/{RichText-D4vznH1B.mjs.map → RichText-CPkBwXNI.mjs.map} +1 -1
  8. package/dist/accordion-aEZas0k1.mjs +122 -0
  9. package/dist/accordion-aEZas0k1.mjs.map +1 -0
  10. package/dist/accordion-zwsF1oUj.js +2 -0
  11. package/dist/accordion-zwsF1oUj.js.map +1 -0
  12. package/dist/accordion.cjs.js +1 -1
  13. package/dist/accordion.es.js +1 -1
  14. package/dist/button-C5CYysw5.js +2 -0
  15. package/dist/button-C5CYysw5.js.map +1 -0
  16. package/dist/button-mHw_J7JU.mjs +106 -0
  17. package/dist/button-mHw_J7JU.mjs.map +1 -0
  18. package/dist/button.cjs.js +1 -1
  19. package/dist/button.es.js +1 -1
  20. package/dist/{calendar-Cru-p6gC.mjs → calendar-DTL_g0ue.mjs} +4 -14
  21. package/dist/{calendar-Cru-p6gC.mjs.map → calendar-DTL_g0ue.mjs.map} +1 -1
  22. package/dist/{calendar-DDR8CQYo.js → calendar-DVOrK53J.js} +2 -2
  23. package/dist/{calendar-DDR8CQYo.js.map → calendar-DVOrK53J.js.map} +1 -1
  24. package/dist/calendar.cjs.js +1 -1
  25. package/dist/calendar.es.js +1 -1
  26. package/dist/{card-t2ZkZ82G.mjs → card-C0yhMN5d.mjs} +3 -3
  27. package/dist/card-C0yhMN5d.mjs.map +1 -0
  28. package/dist/{card-pdsBEJif.js → card-CIlY38WI.js} +2 -2
  29. package/dist/card-CIlY38WI.js.map +1 -0
  30. package/dist/card.cjs.js +1 -1
  31. package/dist/card.es.js +1 -1
  32. package/dist/{carousel-BIKcwvYz.mjs → carousel-Dq9yzk_-.mjs} +2 -2
  33. package/dist/{carousel-BIKcwvYz.mjs.map → carousel-Dq9yzk_-.mjs.map} +1 -1
  34. package/dist/{carousel-DnSaLDZf.js → carousel-j-s6M1hu.js} +2 -2
  35. package/dist/{carousel-DnSaLDZf.js.map → carousel-j-s6M1hu.js.map} +1 -1
  36. package/dist/carousel.cjs.js +1 -1
  37. package/dist/carousel.es.js +1 -1
  38. package/dist/{chat-field-Wjvh2J6C.js → chat-field-CLAjIHlM.js} +2 -2
  39. package/dist/{chat-field-Wjvh2J6C.js.map → chat-field-CLAjIHlM.js.map} +1 -1
  40. package/dist/{chat-field-CVF4DooY.mjs → chat-field-nxFRXoQx.mjs} +2 -2
  41. package/dist/{chat-field-CVF4DooY.mjs.map → chat-field-nxFRXoQx.mjs.map} +1 -1
  42. package/dist/chat-field.cjs.js +1 -1
  43. package/dist/chat-field.es.js +1 -1
  44. package/dist/{chip-group-B775zvKD.js → chip-group-BLuG0MC6.js} +2 -2
  45. package/dist/{chip-group-B775zvKD.js.map → chip-group-BLuG0MC6.js.map} +1 -1
  46. package/dist/{chip-group-xuOe7nL3.mjs → chip-group-Bo4kJ8Vq.mjs} +2 -2
  47. package/dist/{chip-group-xuOe7nL3.mjs.map → chip-group-Bo4kJ8Vq.mjs.map} +1 -1
  48. package/dist/chip-group.cjs.js +1 -1
  49. package/dist/chip-group.es.js +1 -1
  50. package/dist/color-dot-BEE5rKco.js.map +1 -1
  51. package/dist/color-dot-Dz9yzVX3.mjs.map +1 -1
  52. package/dist/{comparison-table-Dtqxz8vL.js → comparison-table-CRWRijfG.js} +2 -2
  53. package/dist/{comparison-table-Dtqxz8vL.js.map → comparison-table-CRWRijfG.js.map} +1 -1
  54. package/dist/{comparison-table-D1evE0ri.mjs → comparison-table-DYaRaP9Z.mjs} +3 -3
  55. package/dist/{comparison-table-D1evE0ri.mjs.map → comparison-table-DYaRaP9Z.mjs.map} +1 -1
  56. package/dist/comparison-table.cjs.js +1 -1
  57. package/dist/comparison-table.es.js +1 -1
  58. package/dist/components/accordion/src/accordion-item.d.ts +3 -3
  59. package/dist/components/accordion/src/accordion-item.d.ts.map +1 -1
  60. package/dist/components/accordion/src/accordion.d.ts +3 -7
  61. package/dist/components/accordion/src/accordion.d.ts.map +1 -1
  62. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -1
  63. package/dist/components/alert-badge/src/alert-badge.d.ts +1 -1
  64. package/dist/components/avatar/src/avatar.d.ts +1 -1
  65. package/dist/components/badge/src/badge.d.ts +1 -1
  66. package/dist/components/button/src/button.d.ts +7 -8
  67. package/dist/components/button/src/button.d.ts.map +1 -1
  68. package/dist/components/button/src/button.visual.fixtures.d.ts +1 -1
  69. package/dist/components/calendar/src/calendar.d.ts.map +1 -1
  70. package/dist/components/card/src/card-content-container.d.ts +1 -1
  71. package/dist/components/card/src/card-content.d.ts +1 -1
  72. package/dist/components/card/src/card-cta.d.ts +1 -1
  73. package/dist/components/card/src/card-heading.d.ts +4 -4
  74. package/dist/components/card/src/card-heading.d.ts.map +1 -1
  75. package/dist/components/card/src/card-media-layout.d.ts +1 -1
  76. package/dist/components/card/src/card-media.d.ts +1 -1
  77. package/dist/components/card/src/card-root.d.ts +1 -1
  78. package/dist/components/checkbox/src/checkbox.d.ts +1 -1
  79. package/dist/components/color-dot/src/color-dot.d.ts +2 -1
  80. package/dist/components/color-dot/src/color-dot.d.ts.map +1 -1
  81. package/dist/components/content-block/src/content-block-group.d.ts +1 -1
  82. package/dist/components/content-block/src/content-block.d.ts +3 -3
  83. package/dist/components/content-block/src/content-block.d.ts.map +1 -1
  84. package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts +0 -1
  85. package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts.map +1 -1
  86. package/dist/components/country-flag-icon/src/country-flag-icon.d.ts +2 -2
  87. package/dist/components/cta-link/src/cta-link.d.ts +10 -10
  88. package/dist/components/date-picker/src/date-picker.d.ts +5 -5
  89. package/dist/components/date-range-field/src/date-range-field.d.ts +2 -2
  90. package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
  91. package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts +1 -1
  92. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +4 -4
  93. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
  94. package/dist/components/drawer/src/drawer-container.d.ts +1 -1
  95. package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
  96. package/dist/components/drawer/src/drawer-content.d.ts +2 -2
  97. package/dist/components/drawer/src/drawer-frame.d.ts +1 -1
  98. package/dist/components/drawer/src/drawer-handle.d.ts +1 -1
  99. package/dist/components/drawer/src/drawer-header.d.ts +1 -1
  100. package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
  101. package/dist/components/drawer/src/drawer.context.d.ts +2 -0
  102. package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
  103. package/dist/components/drawer/src/drawer.d.ts +2 -0
  104. package/dist/components/drawer/src/drawer.d.ts.map +1 -1
  105. package/dist/components/dropdown/src/dropdown-combobox.d.ts +2 -34
  106. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  107. package/dist/components/dropdown/src/dropdown-select.d.ts +2 -34
  108. package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
  109. package/dist/components/dropdown/src/dropdown-shared.d.ts +2 -1
  110. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  111. package/dist/components/dropdown/src/dropdown.types.d.ts +24 -13
  112. package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
  113. package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
  114. package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
  115. package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -1
  116. package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -1
  117. package/dist/components/field-error-text/src/field-error-text.d.ts +2 -2
  118. package/dist/components/file-upload/src/file-upload-button.d.ts +22 -0
  119. package/dist/components/file-upload/src/file-upload-button.d.ts.map +1 -0
  120. package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts +10 -0
  121. package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts.map +1 -0
  122. package/dist/components/file-upload/src/file-upload-file-name-label.d.ts +8 -0
  123. package/dist/components/file-upload/src/file-upload-file-name-label.d.ts.map +1 -0
  124. package/dist/components/file-upload/src/file-upload-icon.d.ts +8 -0
  125. package/dist/components/file-upload/src/file-upload-icon.d.ts.map +1 -0
  126. package/dist/components/file-upload/src/file-upload-types.d.ts +82 -0
  127. package/dist/components/file-upload/src/file-upload-types.d.ts.map +1 -0
  128. package/dist/components/file-upload/src/file-upload-utils.d.ts +7 -0
  129. package/dist/components/file-upload/src/file-upload-utils.d.ts.map +1 -0
  130. package/dist/components/file-upload/src/file-upload.d.ts +6 -0
  131. package/dist/components/file-upload/src/file-upload.d.ts.map +1 -0
  132. package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts +14 -0
  133. package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts.map +1 -0
  134. package/dist/components/footer/src/footer-navigation.d.ts +1 -1
  135. package/dist/components/footer/src/footer.d.ts +3 -3
  136. package/dist/components/grid/src/grid.item.d.ts +1 -1
  137. package/dist/components/heading/src/heading.d.ts +20 -2
  138. package/dist/components/heading/src/heading.d.ts.map +1 -1
  139. package/dist/components/hero-banner/src/hero-banner-actions.d.ts +1 -1
  140. package/dist/components/hero-banner/src/hero-banner-media.d.ts +1 -1
  141. package/dist/components/hero-banner/src/hero-banner-types.d.ts +2 -2
  142. package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -1
  143. package/dist/components/hero-banner/src/hero-banner.d.ts +1 -1
  144. package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
  145. package/dist/components/icon/src/icon.d.ts +2 -2
  146. package/dist/components/label/src/label.d.ts +1 -1
  147. package/dist/components/listbox/src/listbox-item.d.ts +1 -1
  148. package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
  149. package/dist/components/logo/src/logo.types.d.ts +2 -2
  150. package/dist/components/modal/src/modal-content.d.ts +1 -1
  151. package/dist/components/modal/src/modal-content.d.ts.map +1 -1
  152. package/dist/components/notification-banner/src/notification-banner.d.ts +5 -5
  153. package/dist/components/notification-banner/src/notification-banner.d.ts.map +1 -1
  154. package/dist/components/pagination/src/pagination-page-selector.d.ts +2 -2
  155. package/dist/components/pagination/src/pagination-page-trigger.d.ts +1 -1
  156. package/dist/components/pagination/src/pagination-step-trigger.d.ts +2 -2
  157. package/dist/components/pagination/src/pagination-truncation-separator.d.ts +1 -1
  158. package/dist/components/pagination/src/types.d.ts +1 -1
  159. package/dist/components/pagination/src/use-page-options.hook.d.ts +1 -1
  160. package/dist/components/pagination/src/use-page-size-options.hook.d.ts +1 -1
  161. package/dist/components/password-field/src/password-strength-indicator.d.ts +1 -1
  162. package/dist/components/password-field/src/password-strength.d.ts +2 -2
  163. package/dist/components/promotion-card/src/promotion-card.d.ts +9 -9
  164. package/dist/components/promotion-card/src/promotion-card.d.ts.map +1 -1
  165. package/dist/components/quantity-selector/src/quantity-selector-button.d.ts +2 -3
  166. package/dist/components/quantity-selector/src/quantity-selector-button.d.ts.map +1 -1
  167. package/dist/components/quantity-selector/src/quantity-selector.d.ts +2 -5
  168. package/dist/components/quantity-selector/src/quantity-selector.d.ts.map +1 -1
  169. package/dist/components/radio-card-group/src/radio-card-group.d.ts +2 -2
  170. package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
  171. package/dist/components/rich-text/src/types.d.ts +3 -3
  172. package/dist/components/search-field/src/search-field.d.ts +6 -6
  173. package/dist/components/skeleton/src/skeleton.d.ts +1 -1
  174. package/dist/components/spinner/src/spinner.d.ts +2 -2
  175. package/dist/components/stepper/src/stepper-container.d.ts +1 -1
  176. package/dist/components/stepper/src/stepper-content.d.ts +1 -1
  177. package/dist/components/stepper/src/{stepper-button.d.ts → stepper-link.d.ts} +5 -4
  178. package/dist/components/stepper/src/stepper-link.d.ts.map +1 -0
  179. package/dist/components/stepper/src/stepper-nav-items.d.ts +1 -0
  180. package/dist/components/stepper/src/stepper-nav-items.d.ts.map +1 -1
  181. package/dist/components/stepper/src/stepper.d.ts.map +1 -1
  182. package/dist/components/stepper/src/types.d.ts +2 -2
  183. package/dist/components/stepper/src/types.d.ts.map +1 -1
  184. package/dist/components/stepper/src/use-content-focus.hook.d.ts.map +1 -1
  185. package/dist/components/table/src/cell-types/button-group-cell.d.ts +3 -3
  186. package/dist/components/table/src/draggable-table.d.ts.map +1 -1
  187. package/dist/components/table/src/table-column-header-cell.d.ts +1 -2
  188. package/dist/components/table/src/table-column-header-cell.d.ts.map +1 -1
  189. package/dist/components/table/src/table-content.d.ts +1 -1
  190. package/dist/components/table/src/table-headers.d.ts +2 -3
  191. package/dist/components/table/src/table-headers.d.ts.map +1 -1
  192. package/dist/components/table/src/table-settings-drawer.d.ts +11 -20
  193. package/dist/components/table/src/table-settings-drawer.d.ts.map +1 -1
  194. package/dist/components/table/src/table.d.ts +2 -9
  195. package/dist/components/table/src/table.d.ts.map +1 -1
  196. package/dist/components/table/src/test-utils/helpers.d.ts +10 -19
  197. package/dist/components/table/src/test-utils/helpers.d.ts.map +1 -1
  198. package/dist/components/table/src/test-utils/table-data.d.ts +3 -3
  199. package/dist/components/tabs/src/tab-content.d.ts +3 -1
  200. package/dist/components/tabs/src/tab-content.d.ts.map +1 -1
  201. package/dist/components/text-area/src/text-area.d.ts +1 -1
  202. package/dist/components/text-field/src/text-field-ai.d.ts +4 -4
  203. package/dist/components/text-field/src/text-field-base.d.ts +4 -4
  204. package/dist/components/text-field/src/text-field.d.ts +5 -5
  205. package/dist/components/text-spacing/src/text-spacing.d.ts +2 -2
  206. package/dist/components/tooltip/src/tooltip.d.ts +4 -6
  207. package/dist/components/tooltip/src/tooltip.d.ts.map +1 -1
  208. package/dist/components-metadata.js +20 -10
  209. package/dist/{content-block-CDMrz41K.mjs → content-block-BCM0I3Y2.mjs} +2 -2
  210. package/dist/content-block-BCM0I3Y2.mjs.map +1 -0
  211. package/dist/{content-block-DyYAnL2e.js → content-block-DQppQumZ.js} +2 -2
  212. package/dist/content-block-DQppQumZ.js.map +1 -0
  213. package/dist/content-block.cjs.js +1 -1
  214. package/dist/content-block.es.js +1 -1
  215. package/dist/core.esm-BmIwrKkJ.js +6 -0
  216. package/dist/core.esm-BmIwrKkJ.js.map +1 -0
  217. package/dist/core.esm-CKGHpLM_.mjs +2892 -0
  218. package/dist/core.esm-CKGHpLM_.mjs.map +1 -0
  219. package/dist/country-flag-icon/LICENSE.txt +11 -0
  220. package/dist/country-flag-icon/all-country-flag-assets.cjs.js +1 -1
  221. package/dist/country-flag-icon/all-country-flag-assets.cjs.js.map +1 -1
  222. package/dist/country-flag-icon/all-country-flag-assets.d.ts +0 -1
  223. package/dist/country-flag-icon/all-country-flag-assets.d.ts.map +1 -1
  224. package/dist/country-flag-icon/all-country-flag-assets.es.js +0 -1
  225. package/dist/country-flag-icon/all-country-flag-assets.es.js.map +1 -1
  226. package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js +2 -0
  227. package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js.map +1 -0
  228. package/dist/country-flag-icon/dynamic-country-flag-icon.es.js +366 -0
  229. package/dist/country-flag-icon/dynamic-country-flag-icon.es.js.map +1 -0
  230. package/dist/{date-field-hA79n6mP.js → date-field-CtpWDaSh.js} +2 -2
  231. package/dist/{date-field-hA79n6mP.js.map → date-field-CtpWDaSh.js.map} +1 -1
  232. package/dist/{date-field-DVp_RMNm.mjs → date-field-_rCuf15v.mjs} +2 -2
  233. package/dist/{date-field-DVp_RMNm.mjs.map → date-field-_rCuf15v.mjs.map} +1 -1
  234. package/dist/date-field.cjs.js +1 -1
  235. package/dist/date-field.es.js +1 -1
  236. package/dist/{date-picker-Dzoo_hhQ.js → date-picker-BYlszX1W.js} +2 -2
  237. package/dist/{date-picker-Dzoo_hhQ.js.map → date-picker-BYlszX1W.js.map} +1 -1
  238. package/dist/{date-picker-B8ta-Q8V.mjs → date-picker-sqcNAplg.mjs} +6 -6
  239. package/dist/{date-picker-B8ta-Q8V.mjs.map → date-picker-sqcNAplg.mjs.map} +1 -1
  240. package/dist/date-picker.cjs.js +1 -1
  241. package/dist/date-picker.es.js +1 -1
  242. package/dist/date-range-field-B33XeBW8.js +2 -0
  243. package/dist/date-range-field-B33XeBW8.js.map +1 -0
  244. package/dist/{date-range-field-BZUjfftV.mjs → date-range-field-BmjQeiOv.mjs} +23 -23
  245. package/dist/date-range-field-BmjQeiOv.mjs.map +1 -0
  246. package/dist/date-range-field.cjs.js +1 -1
  247. package/dist/date-range-field.es.js +1 -1
  248. package/dist/{dismissable-chip-group-2updhyuR.js → dismissable-chip-group-5ALErhD2.js} +2 -2
  249. package/dist/dismissable-chip-group-5ALErhD2.js.map +1 -0
  250. package/dist/{dismissable-chip-group-Cfs2s2BH.mjs → dismissable-chip-group-DMNU7g5e.mjs} +3 -3
  251. package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +1 -0
  252. package/dist/dismissable-chip-group.cjs.js +1 -1
  253. package/dist/dismissable-chip-group.es.js +1 -1
  254. package/dist/{drawer-cIUx6WSZ.mjs → drawer-Chx3H8EU.mjs} +241 -233
  255. package/dist/drawer-Chx3H8EU.mjs.map +1 -0
  256. package/dist/drawer-oFJcxW58.js +2 -0
  257. package/dist/drawer-oFJcxW58.js.map +1 -0
  258. package/dist/drawer.cjs.js +1 -1
  259. package/dist/drawer.es.js +1 -1
  260. package/dist/dropdown-Bn7WvsL2.js +2 -0
  261. package/dist/dropdown-Bn7WvsL2.js.map +1 -0
  262. package/dist/dropdown-CrufJnb4.mjs +945 -0
  263. package/dist/dropdown-CrufJnb4.mjs.map +1 -0
  264. package/dist/dropdown.cjs.js +1 -1
  265. package/dist/dropdown.es.js +1 -1
  266. package/dist/file-upload-Ctw6LCTU.mjs +589 -0
  267. package/dist/file-upload-Ctw6LCTU.mjs.map +1 -0
  268. package/dist/file-upload-MvNuX4ks.js +2 -0
  269. package/dist/file-upload-MvNuX4ks.js.map +1 -0
  270. package/dist/file-upload.cjs.js +2 -0
  271. package/dist/file-upload.cjs.js.map +1 -0
  272. package/dist/file-upload.es.js +5 -0
  273. package/dist/file-upload.es.js.map +1 -0
  274. package/dist/{floating-ui.react-dom-EredA301.mjs → floating-ui.react-dom-1kwKo24Z.mjs} +15 -15
  275. package/dist/{floating-ui.react-dom-EredA301.mjs.map → floating-ui.react-dom-1kwKo24Z.mjs.map} +1 -1
  276. package/dist/footer-Bbemct3Z.js +2 -0
  277. package/dist/footer-Bbemct3Z.js.map +1 -0
  278. package/dist/{footer-D-2b7UIB.mjs → footer-DkVmTd-f.mjs} +25 -25
  279. package/dist/footer-DkVmTd-f.mjs.map +1 -0
  280. package/dist/footer.cjs.js +1 -1
  281. package/dist/footer.es.js +1 -1
  282. package/dist/{heading-xwBuT_-9.mjs → heading-BG7JTFO1.mjs} +25 -24
  283. package/dist/heading-BG7JTFO1.mjs.map +1 -0
  284. package/dist/{heading-drD5ugCC.js → heading-BPeRwNYu.js} +2 -2
  285. package/dist/heading-BPeRwNYu.js.map +1 -0
  286. package/dist/heading.cjs.js +1 -1
  287. package/dist/heading.es.js +6 -5
  288. package/dist/{hero-banner-n9K-Jsdz.mjs → hero-banner-ChDoFRhq.mjs} +4 -4
  289. package/dist/hero-banner-ChDoFRhq.mjs.map +1 -0
  290. package/dist/{hero-banner--v-ezYMr.js → hero-banner-Mag1OwL4.js} +2 -2
  291. package/dist/hero-banner-Mag1OwL4.js.map +1 -0
  292. package/dist/hero-banner.cjs.js +1 -1
  293. package/dist/hero-banner.es.js +1 -1
  294. package/dist/index-BPY_9ddu.js +2 -0
  295. package/dist/index-BPY_9ddu.js.map +1 -0
  296. package/dist/index-Fewa56cA.mjs +440 -0
  297. package/dist/index-Fewa56cA.mjs.map +1 -0
  298. package/dist/libraries/library/src/calendar.d.ts +1 -1
  299. package/dist/libraries/library/src/card.d.ts +1 -1
  300. package/dist/libraries/library/src/container.d.ts +1 -1
  301. package/dist/libraries/library/src/content-block.d.ts +1 -1
  302. package/dist/libraries/library/src/dismissable-chip-group.d.ts +1 -1
  303. package/dist/libraries/library/src/drawer.d.ts +1 -1
  304. package/dist/libraries/library/src/file-upload.d.ts +6 -0
  305. package/dist/libraries/library/src/file-upload.d.ts.map +1 -0
  306. package/dist/libraries/library/src/library.d.ts +2 -1
  307. package/dist/libraries/library/src/library.d.ts.map +1 -1
  308. package/dist/libraries/library/src/notification-banner.d.ts +1 -1
  309. package/dist/libraries/library/src/notification.d.ts +1 -1
  310. package/dist/libraries/library/src/password-field.d.ts +6 -2
  311. package/dist/libraries/library/src/password-field.d.ts.map +1 -1
  312. package/dist/libraries/library/src/radio-button-group.d.ts +1 -1
  313. package/dist/libraries/library/src/radio-card-group.d.ts +1 -1
  314. package/dist/libraries/library/src/spinner.d.ts +1 -1
  315. package/dist/libraries/library/src/stepper.d.ts +1 -1
  316. package/dist/libraries/library/src/tooltip.d.ts +1 -1
  317. package/dist/libraries/library/src/visually-hidden.d.ts +1 -1
  318. package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
  319. package/dist/library.cjs.js +1 -1
  320. package/dist/library.es.js +603 -601
  321. package/dist/library.es.js.map +1 -1
  322. package/dist/link-Dzqd0QuD.js +2 -0
  323. package/dist/{link-DhWVrkTz.js.map → link-Dzqd0QuD.js.map} +1 -1
  324. package/dist/link-ccCdDvBc.mjs +72 -0
  325. package/dist/{link-DY5WLpyc.mjs.map → link-ccCdDvBc.mjs.map} +1 -1
  326. package/dist/link.cjs.js +1 -1
  327. package/dist/link.es.js +1 -1
  328. package/dist/main-B501z9Ql.js +2 -0
  329. package/dist/main-B501z9Ql.js.map +1 -0
  330. package/dist/main-L71Sqg3s.mjs +1016 -0
  331. package/dist/main-L71Sqg3s.mjs.map +1 -0
  332. package/dist/{modal-D0Qxrvx5.js → modal-CXOYUsJm.js} +2 -2
  333. package/dist/modal-CXOYUsJm.js.map +1 -0
  334. package/dist/{modal-Bu1Zv5Ic.mjs → modal-Pwvhrzn-.mjs} +31 -31
  335. package/dist/modal-Pwvhrzn-.mjs.map +1 -0
  336. package/dist/modal.cjs.js +1 -1
  337. package/dist/modal.es.js +1 -1
  338. package/dist/{notification-D2oClkX2.js → notification-BkM2vLzI.js} +2 -2
  339. package/dist/{notification-D2oClkX2.js.map → notification-BkM2vLzI.js.map} +1 -1
  340. package/dist/{notification-DiVdy6E_.mjs → notification-Cbn0UN1p.mjs} +3 -3
  341. package/dist/{notification-DiVdy6E_.mjs.map → notification-Cbn0UN1p.mjs.map} +1 -1
  342. package/dist/notification-banner-B9RhXAZ8.js +2 -0
  343. package/dist/notification-banner-B9RhXAZ8.js.map +1 -0
  344. package/dist/{notification-banner-CZTQZ5Le.mjs → notification-banner-C4NVekCZ.mjs} +5 -5
  345. package/dist/notification-banner-C4NVekCZ.mjs.map +1 -0
  346. package/dist/notification-banner.cjs.js +1 -1
  347. package/dist/notification-banner.es.js +1 -1
  348. package/dist/notification.cjs.js +1 -1
  349. package/dist/notification.es.js +1 -1
  350. package/dist/password-field-Cy_E-D_G.mjs +200 -0
  351. package/dist/password-field-Cy_E-D_G.mjs.map +1 -0
  352. package/dist/password-field-lKyWHjQS.js +2 -0
  353. package/dist/password-field-lKyWHjQS.js.map +1 -0
  354. package/dist/password-field.cjs.js +2 -0
  355. package/dist/password-field.cjs.js.map +1 -0
  356. package/dist/password-field.es.js +6 -0
  357. package/dist/password-field.es.js.map +1 -0
  358. package/dist/popover-B6ntmuEK.mjs +614 -0
  359. package/dist/popover-B6ntmuEK.mjs.map +1 -0
  360. package/dist/popover-DJHMEFXP.js +2 -0
  361. package/dist/popover-DJHMEFXP.js.map +1 -0
  362. package/dist/popover.cjs.js +1 -1
  363. package/dist/popover.es.js +1 -1
  364. package/dist/{product-card-CxfHfJVV.mjs → product-card-BMseoNrG.mjs} +3 -3
  365. package/dist/{product-card-CxfHfJVV.mjs.map → product-card-BMseoNrG.mjs.map} +1 -1
  366. package/dist/{product-card-XxBwuxM-.js → product-card-D0jX5-up.js} +2 -2
  367. package/dist/{product-card-XxBwuxM-.js.map → product-card-D0jX5-up.js.map} +1 -1
  368. package/dist/product-card.cjs.js +1 -1
  369. package/dist/product-card.es.js +1 -1
  370. package/dist/{promotion-card-C1UoxzcV.js → promotion-card-B3mz__m7.js} +2 -2
  371. package/dist/promotion-card-B3mz__m7.js.map +1 -0
  372. package/dist/{promotion-card-CooYPpFo.mjs → promotion-card-Co6qAkTZ.mjs} +5 -5
  373. package/dist/promotion-card-Co6qAkTZ.mjs.map +1 -0
  374. package/dist/promotion-card.cjs.js +1 -1
  375. package/dist/promotion-card.es.js +1 -1
  376. package/dist/purpur.css +1 -1
  377. package/dist/quantity-selector-Cy0aJGGX.js +2 -0
  378. package/dist/quantity-selector-Cy0aJGGX.js.map +1 -0
  379. package/dist/quantity-selector-k6ZaVrk1.mjs +162 -0
  380. package/dist/quantity-selector-k6ZaVrk1.mjs.map +1 -0
  381. package/dist/quantity-selector.cjs.js +1 -1
  382. package/dist/quantity-selector.es.js +2 -3
  383. package/dist/{radio-button-group-D_F6kWD6.mjs → radio-button-group-DjiTo3b1.mjs} +2 -2
  384. package/dist/{radio-button-group-D_F6kWD6.mjs.map → radio-button-group-DjiTo3b1.mjs.map} +1 -1
  385. package/dist/{radio-button-group-CdUrC7h9.js → radio-button-group-uCRGh1H5.js} +2 -2
  386. package/dist/{radio-button-group-CdUrC7h9.js.map → radio-button-group-uCRGh1H5.js.map} +1 -1
  387. package/dist/radio-button-group.cjs.js +1 -1
  388. package/dist/radio-button-group.es.js +1 -1
  389. package/dist/{radio-card-group-B9_jOJnM.mjs → radio-card-group-DoM7qYO1.mjs} +2 -2
  390. package/dist/{radio-card-group-B9_jOJnM.mjs.map → radio-card-group-DoM7qYO1.mjs.map} +1 -1
  391. package/dist/{radio-card-group-DcdGkfOp.js → radio-card-group-_9wJC-s3.js} +2 -2
  392. package/dist/{radio-card-group-DcdGkfOp.js.map → radio-card-group-_9wJC-s3.js.map} +1 -1
  393. package/dist/radio-card-group.cjs.js +1 -1
  394. package/dist/radio-card-group.es.js +1 -1
  395. package/dist/rich-text.cjs.js +1 -1
  396. package/dist/rich-text.es.js +1 -1
  397. package/dist/{search-field-afhtC6q5.mjs → search-field-BTJtRyw5.mjs} +3 -3
  398. package/dist/{search-field-afhtC6q5.mjs.map → search-field-BTJtRyw5.mjs.map} +1 -1
  399. package/dist/{search-field-WJBtiK0K.js → search-field-nzVXak1a.js} +2 -2
  400. package/dist/{search-field-WJBtiK0K.js.map → search-field-nzVXak1a.js.map} +1 -1
  401. package/dist/search-field.cjs.js +1 -1
  402. package/dist/search-field.es.js +1 -1
  403. package/dist/stepper-D59T-Y2_.mjs +469 -0
  404. package/dist/stepper-D59T-Y2_.mjs.map +1 -0
  405. package/dist/stepper-Dao4XaDV.js +2 -0
  406. package/dist/stepper-Dao4XaDV.js.map +1 -0
  407. package/dist/stepper.cjs.js +1 -1
  408. package/dist/stepper.es.js +1 -1
  409. package/dist/table-DRSgesQ4.mjs +4545 -0
  410. package/dist/table-DRSgesQ4.mjs.map +1 -0
  411. package/dist/table-zBs9JALh.js +5 -0
  412. package/dist/table-zBs9JALh.js.map +1 -0
  413. package/dist/table.cjs.js +1 -1
  414. package/dist/table.es.js +1 -1
  415. package/dist/tabs-D2__wbCs.js +2 -0
  416. package/dist/tabs-D2__wbCs.js.map +1 -0
  417. package/dist/tabs-DOG5g2wf.mjs +440 -0
  418. package/dist/tabs-DOG5g2wf.mjs.map +1 -0
  419. package/dist/tabs.cjs.js +1 -1
  420. package/dist/tabs.es.js +1 -1
  421. package/dist/{text-field-VW8ObP83.js → text-field-BSgqJjpv.js} +2 -2
  422. package/dist/text-field-BSgqJjpv.js.map +1 -0
  423. package/dist/{text-field-D0e-cRbG.mjs → text-field-MQHeITxy.mjs} +3 -3
  424. package/dist/text-field-MQHeITxy.mjs.map +1 -0
  425. package/dist/text-field.cjs.js +1 -1
  426. package/dist/text-field.es.js +1 -1
  427. package/dist/tooltip-DeP1UsPW.js +2 -0
  428. package/dist/{tooltip-B-11qk-0.js.map → tooltip-DeP1UsPW.js.map} +1 -1
  429. package/dist/{tooltip-DngYHn5W.mjs → tooltip-bqdd2lJL.mjs} +347 -309
  430. package/dist/{tooltip-DngYHn5W.mjs.map → tooltip-bqdd2lJL.mjs.map} +1 -1
  431. package/dist/tooltip.cjs.js +1 -1
  432. package/dist/tooltip.es.js +1 -1
  433. package/package.json +21 -26
  434. package/scripts/generate.mts +1 -4
  435. package/src/aliases.ts +8 -4
  436. package/src/entries.js +2 -1
  437. package/src/{autocomplete.ts → file-upload.ts} +1 -1
  438. package/src/library.ts +2 -2
  439. package/src/password-field.ts +0 -1
  440. package/src/purpur.css +4 -0
  441. package/dist/accordion-B6OoQ4uZ.mjs +0 -128
  442. package/dist/accordion-B6OoQ4uZ.mjs.map +0 -1
  443. package/dist/accordion-BfpN5h4C.js +0 -2
  444. package/dist/accordion-BfpN5h4C.js.map +0 -1
  445. package/dist/autocomplete-BX1KDZqL.js +0 -2
  446. package/dist/autocomplete-BX1KDZqL.js.map +0 -1
  447. package/dist/autocomplete-CmLzmWp4.mjs +0 -228
  448. package/dist/autocomplete-CmLzmWp4.mjs.map +0 -1
  449. package/dist/autocomplete.cjs.js +0 -2
  450. package/dist/autocomplete.cjs.js.map +0 -1
  451. package/dist/autocomplete.es.js +0 -6
  452. package/dist/autocomplete.es.js.map +0 -1
  453. package/dist/button-4-yWOgtD.mjs +0 -109
  454. package/dist/button-4-yWOgtD.mjs.map +0 -1
  455. package/dist/button-DmybVApa.js +0 -2
  456. package/dist/button-DmybVApa.js.map +0 -1
  457. package/dist/card-pdsBEJif.js.map +0 -1
  458. package/dist/card-t2ZkZ82G.mjs.map +0 -1
  459. package/dist/components/autocomplete/src/autocomplete.d.ts +0 -18
  460. package/dist/components/autocomplete/src/autocomplete.d.ts.map +0 -1
  461. package/dist/components/autocomplete/src/useAutocomplete.d.ts +0 -59
  462. package/dist/components/autocomplete/src/useAutocomplete.d.ts.map +0 -1
  463. package/dist/components/autocomplete/src/utils.d.ts +0 -7
  464. package/dist/components/autocomplete/src/utils.d.ts.map +0 -1
  465. package/dist/components/stepper/src/stepper-button.d.ts.map +0 -1
  466. package/dist/content-block-CDMrz41K.mjs.map +0 -1
  467. package/dist/content-block-DyYAnL2e.js.map +0 -1
  468. package/dist/date-range-field-BZUjfftV.mjs.map +0 -1
  469. package/dist/date-range-field-Dqqgj41u.js +0 -2
  470. package/dist/date-range-field-Dqqgj41u.js.map +0 -1
  471. package/dist/dismissable-chip-group-2updhyuR.js.map +0 -1
  472. package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +0 -1
  473. package/dist/drawer-DyLQfvEh.js +0 -2
  474. package/dist/drawer-DyLQfvEh.js.map +0 -1
  475. package/dist/drawer-cIUx6WSZ.mjs.map +0 -1
  476. package/dist/dropdown-C8VsfTQw.mjs +0 -936
  477. package/dist/dropdown-C8VsfTQw.mjs.map +0 -1
  478. package/dist/dropdown-p4R2yCnJ.js +0 -2
  479. package/dist/dropdown-p4R2yCnJ.js.map +0 -1
  480. package/dist/footer-Cn1-zG1v.js +0 -2
  481. package/dist/footer-Cn1-zG1v.js.map +0 -1
  482. package/dist/footer-D-2b7UIB.mjs.map +0 -1
  483. package/dist/heading-drD5ugCC.js.map +0 -1
  484. package/dist/heading-xwBuT_-9.mjs.map +0 -1
  485. package/dist/hero-banner--v-ezYMr.js.map +0 -1
  486. package/dist/hero-banner-n9K-Jsdz.mjs.map +0 -1
  487. package/dist/libraries/library/src/autocomplete.d.ts +0 -6
  488. package/dist/libraries/library/src/autocomplete.d.ts.map +0 -1
  489. package/dist/link-DY5WLpyc.mjs +0 -72
  490. package/dist/link-DhWVrkTz.js +0 -2
  491. package/dist/modal-Bu1Zv5Ic.mjs.map +0 -1
  492. package/dist/modal-D0Qxrvx5.js.map +0 -1
  493. package/dist/notification-banner-BxHwTFnH.js +0 -2
  494. package/dist/notification-banner-BxHwTFnH.js.map +0 -1
  495. package/dist/notification-banner-CZTQZ5Le.mjs.map +0 -1
  496. package/dist/popover-CY75TnbA.js +0 -2
  497. package/dist/popover-CY75TnbA.js.map +0 -1
  498. package/dist/popover-wiiwtqWE.mjs +0 -1043
  499. package/dist/popover-wiiwtqWE.mjs.map +0 -1
  500. package/dist/promotion-card-C1UoxzcV.js.map +0 -1
  501. package/dist/promotion-card-CooYPpFo.mjs.map +0 -1
  502. package/dist/quantity-selector-BEYMDsBM.js +0 -2
  503. package/dist/quantity-selector-BEYMDsBM.js.map +0 -1
  504. package/dist/quantity-selector-Cp-e5xKJ.mjs +0 -172
  505. package/dist/quantity-selector-Cp-e5xKJ.mjs.map +0 -1
  506. package/dist/stepper-20s8dnPA.mjs +0 -449
  507. package/dist/stepper-20s8dnPA.mjs.map +0 -1
  508. package/dist/stepper-VDiR2I8F.js +0 -2
  509. package/dist/stepper-VDiR2I8F.js.map +0 -1
  510. package/dist/table-B5ZitZoL.js +0 -9
  511. package/dist/table-B5ZitZoL.js.map +0 -1
  512. package/dist/table-CNIL-60s.mjs +0 -7428
  513. package/dist/table-CNIL-60s.mjs.map +0 -1
  514. package/dist/tabs-Bye5lgZ1.mjs +0 -424
  515. package/dist/tabs-Bye5lgZ1.mjs.map +0 -1
  516. package/dist/tabs-D-nfZHIA.js +0 -2
  517. package/dist/tabs-D-nfZHIA.js.map +0 -1
  518. package/dist/text-field-D0e-cRbG.mjs.map +0 -1
  519. package/dist/text-field-VW8ObP83.js.map +0 -1
  520. package/dist/tooltip-B-11qk-0.js +0 -2
@@ -0,0 +1,469 @@
1
+ import { jsx as r, jsxs as S, Fragment as x } from "react/jsx-runtime";
2
+ import { forwardRef as B, isValidElement as rr, useRef as w, useEffect as Y, useState as O, Children as q, useId as er } from "react";
3
+ import { b as D, a as F } from "./button-mHw_J7JU.mjs";
4
+ import { l as tr } from "./chevron-left.es-UFhf3v35.mjs";
5
+ import { n as sr } from "./chevron-right.es-D7aVK4ER.mjs";
6
+ import { R as nr, V as pr, S as lr, T as ir } from "./index-B8Mazo6u.mjs";
7
+ import { c as E } from "./bind-CU-R61T-.mjs";
8
+ import { b as or } from "./tooltip-bqdd2lJL.mjs";
9
+ import { a as ar } from "./checkmark.es-DdgIZN2R.mjs";
10
+ const _r = {
11
+ PRIMARY: "primary"
12
+ }, I = {
13
+ SMALL_SCREEN: "small-screen",
14
+ LARGE_SCREEN: "large-screen",
15
+ ALWAYS: "always"
16
+ }, ur = {
17
+ "purpur-stepper__nav-container": "_purpur-stepper__nav-container_17tj8_1",
18
+ "purpur-stepper__nav": "_purpur-stepper__nav_17tj8_1",
19
+ "purpur-stepper": "_purpur-stepper_17tj8_1",
20
+ "purpur-stepper__scroll-button": "_purpur-stepper__scroll-button_17tj8_7",
21
+ "purpur-stepper__scroll-button--left": "_purpur-stepper__scroll-button--left_17tj8_18",
22
+ "purpur-stepper__scroll-button--right": "_purpur-stepper__scroll-button--right_17tj8_21",
23
+ "purpur-stepper__scroll-button--align-with-grid": "_purpur-stepper__scroll-button--align-with-grid_17tj8_24",
24
+ "purpur-stepper__scroll-button-icon": "_purpur-stepper__scroll-button-icon_17tj8_48",
25
+ "purpur-stepper__hidden": "_purpur-stepper__hidden_17tj8_51"
26
+ }, cr = {
27
+ "purpur-stepper-container": "_purpur-stepper-container_lnheo_1",
28
+ "purpur-stepper-container__inner--align-with-grid": "_purpur-stepper-container__inner--align-with-grid_lnheo_5",
29
+ "purpur-stepper-container--primary": "_purpur-stepper-container--primary_lnheo_28",
30
+ "purpur-stepper-container--secondary": "_purpur-stepper-container--secondary_lnheo_31"
31
+ }, H = E.bind(cr), y = "purpur-stepper-container", dr = ({
32
+ ["data-testid"]: e = "purpur-stepper-container",
33
+ children: t,
34
+ className: n,
35
+ alignWithGrid: s,
36
+ variant: i,
37
+ ...p
38
+ }) => {
39
+ const m = H(n, y, {
40
+ [`${y}--${i}`]: i,
41
+ [`${y}--align-with-grid`]: s
42
+ });
43
+ return /* @__PURE__ */ r("div", { className: m, "data-testid": e, ...p, children: /* @__PURE__ */ r(
44
+ "div",
45
+ {
46
+ className: H(`${y}__inner`, {
47
+ [`${y}__inner--align-with-grid`]: s
48
+ }),
49
+ children: t
50
+ }
51
+ ) });
52
+ }, mr = B(
53
+ ({ children: e, ...t }, n) => {
54
+ const { finished: s, ...i } = t;
55
+ return /* @__PURE__ */ r("div", { ...i, ref: n, children: e });
56
+ }
57
+ ), br = (e) => !!e && rr(e) && !!e.props.label, fr = {
58
+ "purpur-stepper-link": "_purpur-stepper-link_1sqvz_1",
59
+ "purpur-stepper-link--disabled": "_purpur-stepper-link--disabled_1sqvz_27",
60
+ "purpur-stepper-link__trigger-outline": "_purpur-stepper-link__trigger-outline_1sqvz_53",
61
+ "purpur-stepper-link--first": "_purpur-stepper-link--first_1sqvz_65",
62
+ "purpur-stepper-link--current": "_purpur-stepper-link--current_1sqvz_65",
63
+ "purpur-stepper-link--middle": "_purpur-stepper-link--middle_1sqvz_70",
64
+ "purpur-stepper-link--last": "_purpur-stepper-link--last_1sqvz_80",
65
+ "purpur-stepper-link--visibility-small-screen": "_purpur-stepper-link--visibility-small-screen_1sqvz_90",
66
+ "purpur-stepper-link--visibility-large-screen": "_purpur-stepper-link--visibility-large-screen_1sqvz_98",
67
+ "purpur-stepper-link__icon": "_purpur-stepper-link__icon_1sqvz_122",
68
+ "purpur-stepper-link__step-number": "_purpur-stepper-link__step-number_1sqvz_132",
69
+ "purpur-stepper-link__step-number--current": "_purpur-stepper-link__step-number--current_1sqvz_143",
70
+ "purpur-stepper-link__step-number--disabled": "_purpur-stepper-link__step-number--disabled_1sqvz_147",
71
+ "purpur-stepper-link__step-label": "_purpur-stepper-link__step-label_1sqvz_152",
72
+ "arrow-forward": "_arrow-forward_1sqvz_156",
73
+ "purpur-stepper-link--primary": "_purpur-stepper-link--primary_1sqvz_168",
74
+ "purpur-stepper-link--secondary": "_purpur-stepper-link--secondary_1sqvz_177",
75
+ "arrow-tail": "_arrow-tail_1sqvz_187",
76
+ "sr-only--lg-down": "_sr-only--lg-down_1sqvz_206"
77
+ }, R = E.bind(fr), c = "purpur-stepper-link", hr = ({
78
+ ["data-testid"]: e,
79
+ current: t,
80
+ disabled: n,
81
+ stepNumber: s
82
+ }) => /* @__PURE__ */ r(
83
+ "div",
84
+ {
85
+ "data-testid": e,
86
+ className: R([
87
+ `${c}__step-number`,
88
+ {
89
+ [`${c}__step-number--current`]: t
90
+ },
91
+ {
92
+ [`${c}__step-number--disabled`]: n
93
+ }
94
+ ]),
95
+ children: s
96
+ }
97
+ ), A = B(
98
+ ({
99
+ className: e,
100
+ ["data-testid"]: t,
101
+ variant: n,
102
+ step: s,
103
+ indexOfLastItem: i,
104
+ index: p,
105
+ currentStepIndex: m,
106
+ whenToBeVisible: u,
107
+ handleStepChange: o,
108
+ handleStepFocus: a,
109
+ completedStepLabel: l,
110
+ idPrefix: h,
111
+ ...d
112
+ }, b) => {
113
+ const g = p === 0 ? "first" : p === i ? "last" : "middle", $ = p === m, T = (C) => {
114
+ if (s.disabled) {
115
+ C.preventDefault();
116
+ return;
117
+ }
118
+ o(C, p);
119
+ };
120
+ return /* @__PURE__ */ r(
121
+ "a",
122
+ {
123
+ ...d,
124
+ ref: b,
125
+ className: R(
126
+ e,
127
+ c,
128
+ `${c}--${g}`,
129
+ `${c}--${n}`,
130
+ `${c}--visibility-${u}`,
131
+ {
132
+ [`${c}--current`]: $
133
+ },
134
+ {
135
+ [`${c}--disabled`]: s.disabled
136
+ },
137
+ {
138
+ "arrow-tail": g !== "first"
139
+ },
140
+ {
141
+ "arrow-forward": g !== "last"
142
+ }
143
+ ),
144
+ id: `${h}-trigger-${p}`,
145
+ href: s.disabled ? void 0 : `#${h}-content`,
146
+ tabIndex: s.disabled ? -1 : void 0,
147
+ "data-testid": `${t}-step-trigger-item-${p}`,
148
+ "aria-disabled": s.disabled,
149
+ "aria-current": $ && "step",
150
+ "aria-label": s.finished && !$ ? [String(p + 1), s.label, l].filter(Boolean).join(", ") : void 0,
151
+ onClick: T,
152
+ onFocus: a,
153
+ children: /* @__PURE__ */ S("span", { className: R(`${c}__trigger-outline`), children: [
154
+ s.finished && !$ ? /* @__PURE__ */ r(
155
+ ar,
156
+ {
157
+ className: R(`${c}__icon`),
158
+ "data-testid": `${t}-step-finished-icon`,
159
+ size: "sm"
160
+ }
161
+ ) : /* @__PURE__ */ r(
162
+ hr,
163
+ {
164
+ "data-testid": `${t}-step-number`,
165
+ current: $,
166
+ disabled: s.disabled,
167
+ stepNumber: p + 1
168
+ }
169
+ ),
170
+ /* @__PURE__ */ r(
171
+ "span",
172
+ {
173
+ className: R(`${c}__step-label`, {
174
+ "sr-only--lg-down": !$
175
+ }),
176
+ children: s.label
177
+ }
178
+ )
179
+ ] })
180
+ }
181
+ );
182
+ }
183
+ ), gr = {
184
+ "purpur-stepper-nav-items__list": "_purpur-stepper-nav-items__list_lgkh0_1",
185
+ "purpur-stepper-nav-items__list-item": "_purpur-stepper-nav-items__list-item_lgkh0_7",
186
+ "purpur-stepper-nav-items__list-item--current": "_purpur-stepper-nav-items__list-item--current_lgkh0_25",
187
+ "purpur-stepper-nav-items__tooltip-content": "_purpur-stepper-nav-items__tooltip-content_lgkh0_31",
188
+ "purpur-stepper-nav-items__tooltip-trigger-item-container": "_purpur-stepper-nav-items__tooltip-trigger-item-container_lgkh0_34"
189
+ }, z = E.bind(gr), N = "purpur-stepper-nav-items", $r = B(
190
+ ({
191
+ ["data-testid"]: e,
192
+ variant: t,
193
+ handleStepChange: n,
194
+ handleStepFocus: s,
195
+ steps: i,
196
+ firstStepRef: p,
197
+ lastStepRef: m,
198
+ currentStepIndex: u,
199
+ completedStepLabel: o,
200
+ idPrefix: a
201
+ }, l) => {
202
+ const h = i.map((d, b) => {
203
+ const g = /* @__PURE__ */ r("span", { className: z(`${N}__tooltip-trigger-item-container`), children: /* @__PURE__ */ r(
204
+ A,
205
+ {
206
+ "data-testid": `${e}-disabled-sm`,
207
+ variant: t,
208
+ step: d,
209
+ indexOfLastItem: i.length - 1,
210
+ index: b,
211
+ currentStepIndex: u,
212
+ whenToBeVisible: I.SMALL_SCREEN,
213
+ completedStepLabel: o,
214
+ handleStepChange: n,
215
+ handleStepFocus: s,
216
+ idPrefix: a
217
+ }
218
+ ) });
219
+ return /* @__PURE__ */ r(
220
+ "li",
221
+ {
222
+ className: z(`${N}__list-item`, {
223
+ [`${N}__list-item--current`]: b === u
224
+ }),
225
+ ref: b === 0 ? p : b === i.length - 1 ? m : null,
226
+ children: d.disabled ? /* @__PURE__ */ S(x, { children: [
227
+ /* @__PURE__ */ r(
228
+ or,
229
+ {
230
+ contentClassName: z(`${N}__tooltip-content`),
231
+ triggerElement: g,
232
+ children: d.label
233
+ }
234
+ ),
235
+ /* @__PURE__ */ r(
236
+ A,
237
+ {
238
+ "data-testid": `${e}-disabled-lg`,
239
+ variant: t,
240
+ step: d,
241
+ indexOfLastItem: i.length - 1,
242
+ index: b,
243
+ currentStepIndex: u,
244
+ whenToBeVisible: I.LARGE_SCREEN,
245
+ completedStepLabel: o,
246
+ handleStepChange: n,
247
+ handleStepFocus: s,
248
+ idPrefix: a
249
+ }
250
+ )
251
+ ] }) : /* @__PURE__ */ r(
252
+ A,
253
+ {
254
+ "data-testid": e,
255
+ variant: t,
256
+ step: d,
257
+ indexOfLastItem: i.length - 1,
258
+ index: b,
259
+ currentStepIndex: u,
260
+ whenToBeVisible: I.ALWAYS,
261
+ completedStepLabel: o,
262
+ handleStepChange: n,
263
+ handleStepFocus: s,
264
+ idPrefix: a
265
+ }
266
+ )
267
+ },
268
+ d.label
269
+ );
270
+ });
271
+ return /* @__PURE__ */ r("ol", { ref: l, className: z(`${N}__list`), children: h });
272
+ }
273
+ ), vr = (e) => {
274
+ const t = w(!0), n = w(null);
275
+ return Y(() => {
276
+ !t.current && n.current !== null && n.current.focus(), t.current = !1;
277
+ }, [e]), {
278
+ contentRef: n
279
+ };
280
+ }, L = {
281
+ LEFT: "left",
282
+ RIGHT: "right"
283
+ }, kr = () => {
284
+ const e = w(null), t = w(null), n = w(null), [s, i] = O(!1), [p, m] = O(!1), u = (o) => {
285
+ if (!e.current)
286
+ return;
287
+ const a = e.current, l = a.clientWidth, h = a.scrollLeft;
288
+ o === L.LEFT && a.scroll({
289
+ behavior: "smooth",
290
+ left: h - l / 2
291
+ }), o === L.RIGHT && a.scroll({
292
+ behavior: "smooth",
293
+ left: h + l / 2
294
+ });
295
+ };
296
+ return Y(() => {
297
+ if (t.current && n.current && e.current) {
298
+ const o = new IntersectionObserver(
299
+ (a) => {
300
+ for (const l of a) {
301
+ if (l.target === t.current) {
302
+ l.isIntersecting ? i(!1) : i(!0);
303
+ continue;
304
+ }
305
+ l.target === n.current && (l.isIntersecting ? m(!1) : m(!0));
306
+ }
307
+ },
308
+ {
309
+ root: e.current,
310
+ threshold: 0.95
311
+ }
312
+ );
313
+ return o.observe(t.current), o.observe(n.current), () => o.disconnect();
314
+ }
315
+ }, [t, n, e]), {
316
+ scrollContainer: e,
317
+ firstStepRef: t,
318
+ lastStepRef: n,
319
+ displayLeftScrollButton: s,
320
+ displayRightScrollButton: p,
321
+ handleHorizontalScroll: u
322
+ };
323
+ }, v = E.bind(ur), _ = "purpur-stepper", M = ({
324
+ ["aria-label"]: e,
325
+ ["data-testid"]: t,
326
+ children: n,
327
+ className: s,
328
+ completedStepLabel: i,
329
+ currentStepIndex: p = 0,
330
+ onStepChange: m,
331
+ alignWithGrid: u = !1,
332
+ leftScrollButtonAriaLabel: o,
333
+ rightScrollButtonAriaLabel: a,
334
+ variant: l = _r.PRIMARY,
335
+ ...h
336
+ }) => {
337
+ const d = q.toArray(n).filter(br), b = q.map(d, (f) => {
338
+ const { disabled: k, finished: Q, label: Z } = f.props;
339
+ return {
340
+ disabled: k ?? !1,
341
+ finished: Q ?? !1,
342
+ label: Z
343
+ };
344
+ }), g = er(), $ = `${g}-content`, {
345
+ scrollContainer: T,
346
+ firstStepRef: C,
347
+ lastStepRef: G,
348
+ displayLeftScrollButton: P,
349
+ displayRightScrollButton: X,
350
+ handleHorizontalScroll: j
351
+ } = kr(), { contentRef: U } = vr(p), W = v([
352
+ s,
353
+ _,
354
+ {
355
+ [`${_}--${l}`]: l
356
+ }
357
+ ]), V = (f) => {
358
+ f.target.scrollIntoView({
359
+ behavior: "smooth",
360
+ block: "nearest",
361
+ inline: "center"
362
+ });
363
+ }, J = (f, k) => {
364
+ f.preventDefault(), V(f), m(k);
365
+ }, K = (f) => {
366
+ V(f);
367
+ };
368
+ return /* @__PURE__ */ S("div", { className: W, ...h, children: [
369
+ /* @__PURE__ */ r(dr, { variant: l, alignWithGrid: u, children: /* @__PURE__ */ S("div", { className: v(`${_}__nav-container`), children: [
370
+ /* @__PURE__ */ S(nr, { children: [
371
+ /* @__PURE__ */ r(pr, { ref: T, children: /* @__PURE__ */ r(
372
+ "nav",
373
+ {
374
+ "aria-label": e,
375
+ "data-testid": t,
376
+ className: v([
377
+ `${_}__nav`,
378
+ {
379
+ [`${_}__nav--${l}`]: l
380
+ }
381
+ ]),
382
+ children: /* @__PURE__ */ r(
383
+ $r,
384
+ {
385
+ "data-testid": t,
386
+ variant: l,
387
+ firstStepRef: C,
388
+ lastStepRef: G,
389
+ steps: b,
390
+ currentStepIndex: p,
391
+ handleStepChange: J,
392
+ handleStepFocus: K,
393
+ completedStepLabel: i,
394
+ idPrefix: g
395
+ }
396
+ )
397
+ }
398
+ ) }),
399
+ /* @__PURE__ */ r(lr, { orientation: "horizontal", children: /* @__PURE__ */ r(ir, {}) })
400
+ ] }),
401
+ P && /* @__PURE__ */ r(
402
+ D,
403
+ {
404
+ "aria-label": o,
405
+ className: v([
406
+ `${_}__scroll-button`,
407
+ `${_}__scroll-button--left`,
408
+ {
409
+ [`${_}__scroll-button--align-with-grid`]: u
410
+ }
411
+ ]),
412
+ variant: F.TEXT,
413
+ tabIndex: -1,
414
+ iconOnly: !0,
415
+ onClick: () => {
416
+ j(L.LEFT);
417
+ },
418
+ children: /* @__PURE__ */ r(tr, { className: v(`${_}__scroll-button-icon`), size: "md" })
419
+ }
420
+ ),
421
+ X && /* @__PURE__ */ r(
422
+ D,
423
+ {
424
+ "aria-label": a,
425
+ className: v([
426
+ `${_}__scroll-button`,
427
+ `${_}__scroll-button--right`,
428
+ {
429
+ [`${_}__scroll-button--align-with-grid`]: u
430
+ }
431
+ ]),
432
+ variant: F.TEXT,
433
+ tabIndex: -1,
434
+ iconOnly: !0,
435
+ onClick: () => {
436
+ j(L.RIGHT);
437
+ },
438
+ children: /* @__PURE__ */ r(sr, { className: v(`${_}__scroll-button-icon`), size: "md" })
439
+ }
440
+ )
441
+ ] }) }),
442
+ /* @__PURE__ */ r(
443
+ "section",
444
+ {
445
+ tabIndex: -1,
446
+ id: $,
447
+ "aria-labelledby": `${g}-trigger-${p}`,
448
+ ref: U,
449
+ style: { outline: "none" },
450
+ children: q.map(d, (f, k) => /* @__PURE__ */ r(
451
+ "div",
452
+ {
453
+ className: v({
454
+ [`${_}__hidden`]: k !== p
455
+ }),
456
+ hidden: k !== p,
457
+ children: f
458
+ }
459
+ ))
460
+ }
461
+ )
462
+ ] });
463
+ };
464
+ M.Content = mr;
465
+ M.displayName = "Stepper";
466
+ export {
467
+ M as S
468
+ };
469
+ //# sourceMappingURL=stepper-D59T-Y2_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-D59T-Y2_.mjs","sources":["../../../components/stepper/src/constants.ts","../../../components/stepper/src/stepper-container.tsx","../../../components/stepper/src/stepper-content.tsx","../../../components/stepper/src/stepper-link.tsx","../../../components/stepper/src/stepper-nav-items.tsx","../../../components/stepper/src/use-content-focus.hook.ts","../../../components/stepper/src/use-scroll-buttons.hook.ts","../../../components/stepper/src/stepper.tsx"],"sourcesContent":["export const STEPPER_VARIANT = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n} as const;\n\nexport const VISIBILITY_STATES = {\n SMALL_SCREEN: \"small-screen\",\n LARGE_SCREEN: \"large-screen\",\n ALWAYS: \"always\",\n} as const;\n","import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-container.module.scss\";\nimport { type StepperVariant } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type StepperContainerProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n alignWithGrid: boolean;\n variant: StepperVariant;\n};\n\nconst rootClassName = \"purpur-stepper-container\";\n\nexport const StepperContainer = ({\n [\"data-testid\"]: dataTestId = \"purpur-stepper-container\",\n children,\n className,\n alignWithGrid,\n variant,\n ...props\n}: StepperContainerProps) => {\n const classes: string = cx(className, rootClassName, {\n [`${rootClassName}--${variant}`]: variant,\n [`${rootClassName}--align-with-grid`]: alignWithGrid,\n });\n\n return (\n <div className={classes} data-testid={dataTestId} {...props}>\n <div\n className={cx(`${rootClassName}__inner`, {\n [`${rootClassName}__inner--align-with-grid`]: alignWithGrid,\n })}\n >\n {children}\n </div>\n </div>\n );\n};\n","import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\n\nimport { type Optional, type Step } from \"./types\";\n\nexport type StepperContentProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n} & Optional<Step, \"disabled\" | \"finished\">;\n\nexport const StepperContent = forwardRef<HTMLDivElement, StepperContentProps>(\n ({ children, ...props }, ref) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { finished, ...rest } = props;\n return (\n <div {...rest} ref={ref}>\n {children}\n </div>\n );\n }\n);\n\nexport const isStepperContent = (child?: ReactNode): child is ReactElement<StepperContentProps> =>\n !!child && isValidElement<StepperContentProps>(child) && !!child.props.label;\n","import React, { forwardRef, type MouseEvent } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-link.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n type VisibilityStates,\n} from \"./types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-stepper-link\";\n\nexport type StepNumberProps = {\n current: boolean;\n disabled: boolean;\n stepNumber: number;\n [\"data-testid\"]?: string;\n};\n\nconst StepNumber = ({\n [\"data-testid\"]: dataTestId,\n current,\n disabled,\n stepNumber,\n}: StepNumberProps) => {\n return (\n <div\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__step-number`,\n {\n [`${rootClassName}__step-number--current`]: current,\n },\n {\n [`${rootClassName}__step-number--disabled`]: disabled,\n },\n ])}\n >\n {stepNumber}\n </div>\n );\n};\n\nexport type StepperLinkProps = Omit<BaseProps<\"a\">, \"children\"> & {\n variant: StepperVariant;\n step: Step;\n currentStepIndex: number;\n index: number;\n indexOfLastItem: number;\n whenToBeVisible: VisibilityStates;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperLink = forwardRef<HTMLAnchorElement, StepperLinkProps>(\n (\n {\n className,\n [\"data-testid\"]: dataTestId,\n variant,\n step,\n indexOfLastItem,\n index,\n currentStepIndex,\n whenToBeVisible,\n handleStepChange,\n handleStepFocus,\n completedStepLabel,\n idPrefix,\n ...props\n },\n ref\n ) => {\n const placement = index === 0 ? \"first\" : index === indexOfLastItem ? \"last\" : \"middle\";\n const isCurrentStep = index === currentStepIndex;\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>): void => {\n if (step.disabled) {\n e.preventDefault();\n return;\n }\n handleStepChange(e, index);\n };\n\n return (\n <a\n {...props}\n ref={ref}\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${placement}`,\n `${rootClassName}--${variant}`,\n `${rootClassName}--visibility-${whenToBeVisible}`,\n {\n [`${rootClassName}--current`]: isCurrentStep,\n },\n {\n [`${rootClassName}--disabled`]: step.disabled,\n },\n {\n [\"arrow-tail\"]: placement !== \"first\",\n },\n {\n [\"arrow-forward\"]: placement !== \"last\",\n }\n )}\n id={`${idPrefix}-trigger-${index}`}\n href={step.disabled ? undefined : `#${idPrefix}-content`}\n tabIndex={step.disabled ? -1 : undefined}\n data-testid={`${dataTestId}-step-trigger-item-${index}`}\n aria-disabled={step.disabled}\n aria-current={isCurrentStep && \"step\"}\n aria-label={\n step.finished && !isCurrentStep\n ? [String(index + 1), step.label, completedStepLabel].filter(Boolean).join(\", \")\n : undefined\n }\n onClick={handleClick}\n onFocus={handleStepFocus}\n >\n <span className={cx(`${rootClassName}__trigger-outline`)}>\n {step.finished && !isCurrentStep ? (\n <IconCheckmark\n className={cx(`${rootClassName}__icon`)}\n data-testid={`${dataTestId}-step-finished-icon`}\n size=\"sm\"\n />\n ) : (\n <StepNumber\n data-testid={`${dataTestId}-step-number`}\n current={isCurrentStep}\n disabled={step.disabled}\n stepNumber={index + 1}\n />\n )}\n <span\n className={cx(`${rootClassName}__step-label`, {\n [`sr-only--lg-down`]: !isCurrentStep,\n })}\n >\n {step.label}\n </span>\n </span>\n </a>\n );\n }\n);\n","import React, { forwardRef, type RefObject } from \"react\";\nimport { Tooltip } from \"@purpur/tooltip\";\nimport c from \"classnames/bind\";\n\nimport { VISIBILITY_STATES } from \"./constants\";\nimport { StepperLink } from \"./stepper-link\";\nimport styles from \"./stepper-nav-items.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n} from \"./types\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper-nav-items\";\n\nexport type StepperNavItemsProps = {\n variant: StepperVariant;\n [\"data-testid\"]?: string;\n firstStepRef: RefObject<HTMLLIElement | null>;\n lastStepRef: RefObject<HTMLLIElement | null>;\n steps: Step[];\n currentStepIndex: number;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperNavItems = forwardRef<HTMLOListElement, StepperNavItemsProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n variant,\n handleStepChange,\n handleStepFocus,\n steps,\n firstStepRef,\n lastStepRef,\n currentStepIndex,\n completedStepLabel,\n idPrefix,\n },\n ref\n ) => {\n const stepListItems = steps.map((step: Step, index: number) => {\n const tooltipTriggerItem = (\n <span className={cx(`${rootClassName}__tooltip-trigger-item-container`)}>\n <StepperLink\n data-testid={`${dataTestId}-disabled-sm`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.SMALL_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </span>\n );\n\n return (\n <li\n className={cx(`${rootClassName}__list-item`, {\n [`${rootClassName}__list-item--current`]: index === currentStepIndex,\n })}\n ref={index === 0 ? firstStepRef : index === steps.length - 1 ? lastStepRef : null}\n key={step.label}\n >\n {step.disabled ? (\n <>\n <Tooltip\n contentClassName={cx(`${rootClassName}__tooltip-content`)}\n triggerElement={tooltipTriggerItem}\n >\n {step.label}\n </Tooltip>\n <StepperLink\n data-testid={`${dataTestId}-disabled-lg`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.LARGE_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </>\n ) : (\n <StepperLink\n data-testid={dataTestId}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.ALWAYS}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n )}\n </li>\n );\n });\n return (\n <ol ref={ref} className={cx(`${rootClassName}__list`)}>\n {stepListItems}\n </ol>\n );\n }\n);\n","import { type RefObject, useEffect, useRef } from \"react\";\n\ninterface UseContentFocusHook<T extends HTMLElement> {\n contentRef: RefObject<T | null>;\n}\n\nexport const useContentFocus = <T extends HTMLElement>(\n currentStepIndex: number\n): UseContentFocusHook<T> => {\n const firstLoad = useRef<boolean>(true);\n const contentRef = useRef<T | null>(null);\n\n useEffect(() => {\n if (!firstLoad.current && contentRef.current !== null) {\n contentRef.current.focus();\n }\n firstLoad.current = false;\n\n }, [currentStepIndex]);\n\n return {\n contentRef,\n };\n};\n","import { type RefObject, useEffect, useRef, useState } from \"react\";\n\nexport const SCROLL_DIRECTION = {\n LEFT: \"left\",\n RIGHT: \"right\",\n} as const;\n\nexport type ScrollDirection = (typeof SCROLL_DIRECTION)[keyof typeof SCROLL_DIRECTION];\n\nexport type UseScrollHook<ContainerElement, WatchedElement> = {\n scrollContainer: RefObject<ContainerElement | null>;\n firstStepRef: RefObject<WatchedElement | null>;\n lastStepRef: RefObject<WatchedElement | null>;\n displayLeftScrollButton: boolean;\n displayRightScrollButton: boolean;\n handleHorizontalScroll: (dir: ScrollDirection) => void;\n};\n\nexport const useScrollButtons = <\n ContainerElement extends HTMLElement,\n WatchedElement extends HTMLElement\n>(): UseScrollHook<ContainerElement, WatchedElement> => {\n const scrollContainer = useRef<ContainerElement | null>(null);\n const firstStepRef = useRef<WatchedElement | null>(null);\n const lastStepRef = useRef<WatchedElement | null>(null);\n const [displayLeftScrollButton, setDisplayLeftScrollButton] = useState(false);\n const [displayRightScrollButton, setDisplayRightScrollButton] = useState(false);\n\n const handleHorizontalScroll = (dir: ScrollDirection): void => {\n if (!scrollContainer.current) {\n return;\n }\n const scrollableContainer = scrollContainer.current;\n const scrollableContainerWidth = scrollableContainer.clientWidth;\n const currentScrollLeft = scrollableContainer.scrollLeft;\n if (dir === SCROLL_DIRECTION.LEFT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft - scrollableContainerWidth / 2,\n });\n }\n if (dir === SCROLL_DIRECTION.RIGHT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft + scrollableContainerWidth / 2,\n });\n }\n };\n\n useEffect(() => {\n if (firstStepRef.current && lastStepRef.current && scrollContainer.current) {\n const observer: IntersectionObserver = new IntersectionObserver(\n (entries: IntersectionObserverEntry[]) => {\n for (const entry of entries) {\n if (entry.target === firstStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayLeftScrollButton(false);\n } else {\n setDisplayLeftScrollButton(true);\n }\n continue;\n }\n if (entry.target === lastStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayRightScrollButton(false);\n } else {\n setDisplayRightScrollButton(true);\n }\n }\n }\n },\n {\n root: scrollContainer.current,\n threshold: 0.95,\n }\n );\n\n observer.observe(firstStepRef.current);\n observer.observe(lastStepRef.current);\n\n return () => observer.disconnect();\n }\n return undefined;\n }, [firstStepRef, lastStepRef, scrollContainer]);\n\n return {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n };\n};\n","import React, { Children, type ReactElement, useId } from \"react\";\nimport { Button, BUTTON_VARIANT } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconChevronLeft } from \"@purpur/icon/chevron-left\";\nimport { IconChevronRight } from \"@purpur/icon/chevron-right\";\nimport * as ScrollArea from \"@radix-ui/react-scroll-area\";\nimport c from \"classnames/bind\";\n\nimport { STEPPER_VARIANT } from \"./constants\";\nimport styles from \"./stepper.module.scss\";\nimport { StepperContainer } from \"./stepper-container\";\nimport { isStepperContent, StepperContent } from \"./stepper-content\";\nimport { StepperNavItems } from \"./stepper-nav-items\";\nimport { type Step, type StepChangeFunction, type StepperVariant } from \"./types\";\nimport { useContentFocus } from \"./use-content-focus.hook\";\nimport { SCROLL_DIRECTION, useScrollButtons } from \"./use-scroll-buttons.hook\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper\";\n\nexport type StepperProps = Omit<BaseProps, \"children\"> & {\n children: Array<ReactElement<typeof StepperContent>> | ReactElement<typeof StepperContent>;\n completedStepLabel: string;\n currentStepIndex: number;\n onStepChange: StepChangeFunction;\n alignWithGrid?: boolean;\n leftScrollButtonAriaLabel: string;\n rightScrollButtonAriaLabel: string;\n variant: StepperVariant;\n};\n\nexport type StepperComponent<P> = React.FunctionComponent<P> & {\n Content: typeof StepperContent;\n};\n\nexport const Stepper: StepperComponent<StepperProps> = ({\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId,\n children,\n className,\n completedStepLabel,\n currentStepIndex = 0,\n onStepChange,\n alignWithGrid = false,\n leftScrollButtonAriaLabel,\n rightScrollButtonAriaLabel,\n variant = STEPPER_VARIANT.PRIMARY,\n ...props\n}: StepperProps) => {\n const stepperContentChildren = Children.toArray(children).filter(isStepperContent);\n const steps: Step[] = Children.map(stepperContentChildren, (child) => {\n const { disabled, finished, label } = child.props;\n return {\n disabled: disabled ?? false,\n finished: finished ?? false,\n label,\n };\n });\n const idPrefix = useId();\n const contentId = `${idPrefix}-content`;\n const {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n } = useScrollButtons<HTMLDivElement, HTMLLIElement>();\n const { contentRef } = useContentFocus<HTMLElement>(currentStepIndex);\n\n const classes: string = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--${variant}`]: variant,\n },\n ]);\n const scrollTriggerIntoView = (e: React.FocusEvent | React.MouseEvent): void => {\n (e.target as HTMLAnchorElement).scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"center\",\n });\n };\n\n const handleStepChange = (e: React.MouseEvent<HTMLAnchorElement>, idx: number): void => {\n e.preventDefault();\n scrollTriggerIntoView(e);\n onStepChange(idx);\n };\n\n const handleStepFocus = (e: React.FocusEvent<HTMLAnchorElement>): void => {\n scrollTriggerIntoView(e);\n };\n\n return (\n <div className={classes} {...props}>\n <StepperContainer variant={variant} alignWithGrid={alignWithGrid}>\n <div className={cx(`${rootClassName}__nav-container`)}>\n <ScrollArea.Root>\n <ScrollArea.Viewport ref={scrollContainer}>\n <nav\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__nav`,\n {\n [`${rootClassName}__nav--${variant}`]: variant,\n },\n ])}\n >\n <StepperNavItems\n data-testid={dataTestId}\n variant={variant}\n firstStepRef={firstStepRef}\n lastStepRef={lastStepRef}\n steps={steps}\n currentStepIndex={currentStepIndex}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n completedStepLabel={completedStepLabel}\n idPrefix={idPrefix}\n />\n </nav>\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation=\"horizontal\">\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea.Root>\n {displayLeftScrollButton && (\n <Button\n aria-label={leftScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--left`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.LEFT);\n }}\n >\n <IconChevronLeft className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n {displayRightScrollButton && (\n <Button\n aria-label={rightScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--right`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.RIGHT);\n }}\n >\n <IconChevronRight className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n </div>\n </StepperContainer>\n <section\n tabIndex={-1}\n id={contentId}\n aria-labelledby={`${idPrefix}-trigger-${currentStepIndex}`}\n ref={contentRef}\n style={{ outline: \"none\" }}\n >\n {Children.map(stepperContentChildren, (child, index: number) => (\n <div\n className={cx({\n [`${rootClassName}__hidden`]: index !== currentStepIndex,\n })}\n hidden={index !== currentStepIndex}\n >\n {child}\n </div>\n ))}\n </section>\n </div>\n );\n};\n\nStepper.Content = StepperContent;\n\nStepper.displayName = \"Stepper\";\n"],"names":["STEPPER_VARIANT","VISIBILITY_STATES","cx","c","styles","rootClassName","StepperContainer","dataTestId","children","className","alignWithGrid","variant","props","classes","jsx","StepperContent","forwardRef","ref","finished","rest","isStepperContent","child","isValidElement","StepNumber","current","disabled","stepNumber","StepperLink","step","indexOfLastItem","index","currentStepIndex","whenToBeVisible","handleStepChange","handleStepFocus","completedStepLabel","idPrefix","placement","isCurrentStep","handleClick","e","IconCheckmark","StepperNavItems","steps","firstStepRef","lastStepRef","stepListItems","tooltipTriggerItem","jsxs","Fragment","Tooltip","useContentFocus","firstLoad","useRef","contentRef","useEffect","SCROLL_DIRECTION","useScrollButtons","scrollContainer","displayLeftScrollButton","setDisplayLeftScrollButton","useState","displayRightScrollButton","setDisplayRightScrollButton","handleHorizontalScroll","dir","scrollableContainer","scrollableContainerWidth","currentScrollLeft","observer","entries","entry","Stepper","ariaLabel","onStepChange","leftScrollButtonAriaLabel","rightScrollButtonAriaLabel","stepperContentChildren","Children","label","useId","contentId","scrollTriggerIntoView","idx","ScrollArea.Root","ScrollArea.Viewport","ScrollArea.Scrollbar","ScrollArea.Thumb","Button","BUTTON_VARIANT","IconChevronLeft","IconChevronRight"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),o=require("react"),S=require("./button-C5CYysw5.js"),X=require("./chevron-left.es-B0vPg5XM.js"),W=require("./chevron-right.es-Bv376M3o.js"),C=require("./index-CoR7YA3H.js"),L=require("./bind-DeUYJ6m9.js"),J=require("./tooltip-DeP1UsPW.js"),K=require("./checkmark.es-lYntWFA3.js"),Q={PRIMARY:"primary"},x={SMALL_SCREEN:"small-screen",LARGE_SCREEN:"large-screen",ALWAYS:"always"},Z={"purpur-stepper__nav-container":"_purpur-stepper__nav-container_17tj8_1","purpur-stepper__nav":"_purpur-stepper__nav_17tj8_1","purpur-stepper":"_purpur-stepper_17tj8_1","purpur-stepper__scroll-button":"_purpur-stepper__scroll-button_17tj8_7","purpur-stepper__scroll-button--left":"_purpur-stepper__scroll-button--left_17tj8_18","purpur-stepper__scroll-button--right":"_purpur-stepper__scroll-button--right_17tj8_21","purpur-stepper__scroll-button--align-with-grid":"_purpur-stepper__scroll-button--align-with-grid_17tj8_24","purpur-stepper__scroll-button-icon":"_purpur-stepper__scroll-button-icon_17tj8_48","purpur-stepper__hidden":"_purpur-stepper__hidden_17tj8_51"},ee={"purpur-stepper-container":"_purpur-stepper-container_lnheo_1","purpur-stepper-container__inner--align-with-grid":"_purpur-stepper-container__inner--align-with-grid_lnheo_5","purpur-stepper-container--primary":"_purpur-stepper-container--primary_lnheo_28","purpur-stepper-container--secondary":"_purpur-stepper-container--secondary_lnheo_31"},V=L.c.bind(ee),R="purpur-stepper-container",re=({["data-testid"]:r="purpur-stepper-container",children:t,className:n,alignWithGrid:s,variant:p,...l})=>{const m=V(n,R,{[`${R}--${p}`]:p,[`${R}--align-with-grid`]:s});return e.jsx("div",{className:m,"data-testid":r,...l,children:e.jsx("div",{className:V(`${R}__inner`,{[`${R}__inner--align-with-grid`]:s}),children:t})})},te=o.forwardRef(({children:r,...t},n)=>{const{finished:s,...p}=t;return e.jsx("div",{...p,ref:n,children:r})}),se=r=>!!r&&o.isValidElement(r)&&!!r.props.label,ne={"purpur-stepper-link":"_purpur-stepper-link_1sqvz_1","purpur-stepper-link--disabled":"_purpur-stepper-link--disabled_1sqvz_27","purpur-stepper-link__trigger-outline":"_purpur-stepper-link__trigger-outline_1sqvz_53","purpur-stepper-link--first":"_purpur-stepper-link--first_1sqvz_65","purpur-stepper-link--current":"_purpur-stepper-link--current_1sqvz_65","purpur-stepper-link--middle":"_purpur-stepper-link--middle_1sqvz_70","purpur-stepper-link--last":"_purpur-stepper-link--last_1sqvz_80","purpur-stepper-link--visibility-small-screen":"_purpur-stepper-link--visibility-small-screen_1sqvz_90","purpur-stepper-link--visibility-large-screen":"_purpur-stepper-link--visibility-large-screen_1sqvz_98","purpur-stepper-link__icon":"_purpur-stepper-link__icon_1sqvz_122","purpur-stepper-link__step-number":"_purpur-stepper-link__step-number_1sqvz_132","purpur-stepper-link__step-number--current":"_purpur-stepper-link__step-number--current_1sqvz_143","purpur-stepper-link__step-number--disabled":"_purpur-stepper-link__step-number--disabled_1sqvz_147","purpur-stepper-link__step-label":"_purpur-stepper-link__step-label_1sqvz_152","arrow-forward":"_arrow-forward_1sqvz_156","purpur-stepper-link--primary":"_purpur-stepper-link--primary_1sqvz_168","purpur-stepper-link--secondary":"_purpur-stepper-link--secondary_1sqvz_177","arrow-tail":"_arrow-tail_1sqvz_187","sr-only--lg-down":"_sr-only--lg-down_1sqvz_206"},y=L.c.bind(ne),d="purpur-stepper-link",le=({["data-testid"]:r,current:t,disabled:n,stepNumber:s})=>e.jsx("div",{"data-testid":r,className:y([`${d}__step-number`,{[`${d}__step-number--current`]:t},{[`${d}__step-number--disabled`]:n}]),children:s}),E=o.forwardRef(({className:r,["data-testid"]:t,variant:n,step:s,indexOfLastItem:p,index:l,currentStepIndex:m,whenToBeVisible:c,handleStepChange:u,handleStepFocus:_,completedStepLabel:i,idPrefix:g,...b},f)=>{const v=l===0?"first":l===p?"last":"middle",$=l===m,T=w=>{if(s.disabled){w.preventDefault();return}u(w,l)};return e.jsx("a",{...b,ref:f,className:y(r,d,`${d}--${v}`,`${d}--${n}`,`${d}--visibility-${c}`,{[`${d}--current`]:$},{[`${d}--disabled`]:s.disabled},{"arrow-tail":v!=="first"},{"arrow-forward":v!=="last"}),id:`${g}-trigger-${l}`,href:s.disabled?void 0:`#${g}-content`,tabIndex:s.disabled?-1:void 0,"data-testid":`${t}-step-trigger-item-${l}`,"aria-disabled":s.disabled,"aria-current":$&&"step","aria-label":s.finished&&!$?[String(l+1),s.label,i].filter(Boolean).join(", "):void 0,onClick:T,onFocus:_,children:e.jsxs("span",{className:y(`${d}__trigger-outline`),children:[s.finished&&!$?e.jsx(K.a,{className:y(`${d}__icon`),"data-testid":`${t}-step-finished-icon`,size:"sm"}):e.jsx(le,{"data-testid":`${t}-step-number`,current:$,disabled:s.disabled,stepNumber:l+1}),e.jsx("span",{className:y(`${d}__step-label`,{"sr-only--lg-down":!$}),children:s.label})]})})}),ie={"purpur-stepper-nav-items__list":"_purpur-stepper-nav-items__list_lgkh0_1","purpur-stepper-nav-items__list-item":"_purpur-stepper-nav-items__list-item_lgkh0_7","purpur-stepper-nav-items__list-item--current":"_purpur-stepper-nav-items__list-item--current_lgkh0_25","purpur-stepper-nav-items__tooltip-content":"_purpur-stepper-nav-items__tooltip-content_lgkh0_31","purpur-stepper-nav-items__tooltip-trigger-item-container":"_purpur-stepper-nav-items__tooltip-trigger-item-container_lgkh0_34"},q=L.c.bind(ie),N="purpur-stepper-nav-items",pe=o.forwardRef(({["data-testid"]:r,variant:t,handleStepChange:n,handleStepFocus:s,steps:p,firstStepRef:l,lastStepRef:m,currentStepIndex:c,completedStepLabel:u,idPrefix:_},i)=>{const g=p.map((b,f)=>{const v=e.jsx("span",{className:q(`${N}__tooltip-trigger-item-container`),children:e.jsx(E,{"data-testid":`${r}-disabled-sm`,variant:t,step:b,indexOfLastItem:p.length-1,index:f,currentStepIndex:c,whenToBeVisible:x.SMALL_SCREEN,completedStepLabel:u,handleStepChange:n,handleStepFocus:s,idPrefix:_})});return e.jsx("li",{className:q(`${N}__list-item`,{[`${N}__list-item--current`]:f===c}),ref:f===0?l:f===p.length-1?m:null,children:b.disabled?e.jsxs(e.Fragment,{children:[e.jsx(J.Tooltip,{contentClassName:q(`${N}__tooltip-content`),triggerElement:v,children:b.label}),e.jsx(E,{"data-testid":`${r}-disabled-lg`,variant:t,step:b,indexOfLastItem:p.length-1,index:f,currentStepIndex:c,whenToBeVisible:x.LARGE_SCREEN,completedStepLabel:u,handleStepChange:n,handleStepFocus:s,idPrefix:_})]}):e.jsx(E,{"data-testid":r,variant:t,step:b,indexOfLastItem:p.length-1,index:f,currentStepIndex:c,whenToBeVisible:x.ALWAYS,completedStepLabel:u,handleStepChange:n,handleStepFocus:s,idPrefix:_})},b.label)});return e.jsx("ol",{ref:i,className:q(`${N}__list`),children:g})}),oe=r=>{const t=o.useRef(!0),n=o.useRef(null);return o.useEffect(()=>{!t.current&&n.current!==null&&n.current.focus(),t.current=!1},[r]),{contentRef:n}},z={LEFT:"left",RIGHT:"right"},ue=()=>{const r=o.useRef(null),t=o.useRef(null),n=o.useRef(null),[s,p]=o.useState(!1),[l,m]=o.useState(!1),c=u=>{if(!r.current)return;const _=r.current,i=_.clientWidth,g=_.scrollLeft;u===z.LEFT&&_.scroll({behavior:"smooth",left:g-i/2}),u===z.RIGHT&&_.scroll({behavior:"smooth",left:g+i/2})};return o.useEffect(()=>{if(t.current&&n.current&&r.current){const u=new IntersectionObserver(_=>{for(const i of _){if(i.target===t.current){i.isIntersecting?p(!1):p(!0);continue}i.target===n.current&&(i.isIntersecting?m(!1):m(!0))}},{root:r.current,threshold:.95});return u.observe(t.current),u.observe(n.current),()=>u.disconnect()}},[t,n,r]),{scrollContainer:r,firstStepRef:t,lastStepRef:n,displayLeftScrollButton:s,displayRightScrollButton:l,handleHorizontalScroll:c}},k=L.c.bind(Z),a="purpur-stepper",I=({["aria-label"]:r,["data-testid"]:t,children:n,className:s,completedStepLabel:p,currentStepIndex:l=0,onStepChange:m,alignWithGrid:c=!1,leftScrollButtonAriaLabel:u,rightScrollButtonAriaLabel:_,variant:i=Q.PRIMARY,...g})=>{const b=o.Children.toArray(n).filter(se),f=o.Children.map(b,h=>{const{disabled:j,finished:P,label:U}=h.props;return{disabled:j??!1,finished:P??!1,label:U}}),v=o.useId(),$=`${v}-content`,{scrollContainer:T,firstStepRef:w,lastStepRef:O,displayLeftScrollButton:D,displayRightScrollButton:F,handleHorizontalScroll:A}=ue(),{contentRef:H}=oe(l),Y=k([s,a,{[`${a}--${i}`]:i}]),B=h=>{h.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},M=(h,j)=>{h.preventDefault(),B(h),m(j)},G=h=>{B(h)};return e.jsxs("div",{className:Y,...g,children:[e.jsx(re,{variant:i,alignWithGrid:c,children:e.jsxs("div",{className:k(`${a}__nav-container`),children:[e.jsxs(C.Root,{children:[e.jsx(C.Viewport,{ref:T,children:e.jsx("nav",{"aria-label":r,"data-testid":t,className:k([`${a}__nav`,{[`${a}__nav--${i}`]:i}]),children:e.jsx(pe,{"data-testid":t,variant:i,firstStepRef:w,lastStepRef:O,steps:f,currentStepIndex:l,handleStepChange:M,handleStepFocus:G,completedStepLabel:p,idPrefix:v})})}),e.jsx(C.Scrollbar,{orientation:"horizontal",children:e.jsx(C.Thumb,{})})]}),D&&e.jsx(S.Button,{"aria-label":u,className:k([`${a}__scroll-button`,`${a}__scroll-button--left`,{[`${a}__scroll-button--align-with-grid`]:c}]),variant:S.BUTTON_VARIANT.TEXT,tabIndex:-1,iconOnly:!0,onClick:()=>{A(z.LEFT)},children:e.jsx(X.l,{className:k(`${a}__scroll-button-icon`),size:"md"})}),F&&e.jsx(S.Button,{"aria-label":_,className:k([`${a}__scroll-button`,`${a}__scroll-button--right`,{[`${a}__scroll-button--align-with-grid`]:c}]),variant:S.BUTTON_VARIANT.TEXT,tabIndex:-1,iconOnly:!0,onClick:()=>{A(z.RIGHT)},children:e.jsx(W.n,{className:k(`${a}__scroll-button-icon`),size:"md"})})]})}),e.jsx("section",{tabIndex:-1,id:$,"aria-labelledby":`${v}-trigger-${l}`,ref:H,style:{outline:"none"},children:o.Children.map(b,(h,j)=>e.jsx("div",{className:k({[`${a}__hidden`]:j!==l}),hidden:j!==l,children:h}))})]})};I.Content=te;I.displayName="Stepper";exports.Stepper=I;
2
+ //# sourceMappingURL=stepper-Dao4XaDV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-Dao4XaDV.js","sources":["../../../components/stepper/src/constants.ts","../../../components/stepper/src/stepper-container.tsx","../../../components/stepper/src/stepper-content.tsx","../../../components/stepper/src/stepper-link.tsx","../../../components/stepper/src/stepper-nav-items.tsx","../../../components/stepper/src/use-content-focus.hook.ts","../../../components/stepper/src/use-scroll-buttons.hook.ts","../../../components/stepper/src/stepper.tsx"],"sourcesContent":["export const STEPPER_VARIANT = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n} as const;\n\nexport const VISIBILITY_STATES = {\n SMALL_SCREEN: \"small-screen\",\n LARGE_SCREEN: \"large-screen\",\n ALWAYS: \"always\",\n} as const;\n","import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-container.module.scss\";\nimport { type StepperVariant } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type StepperContainerProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n alignWithGrid: boolean;\n variant: StepperVariant;\n};\n\nconst rootClassName = \"purpur-stepper-container\";\n\nexport const StepperContainer = ({\n [\"data-testid\"]: dataTestId = \"purpur-stepper-container\",\n children,\n className,\n alignWithGrid,\n variant,\n ...props\n}: StepperContainerProps) => {\n const classes: string = cx(className, rootClassName, {\n [`${rootClassName}--${variant}`]: variant,\n [`${rootClassName}--align-with-grid`]: alignWithGrid,\n });\n\n return (\n <div className={classes} data-testid={dataTestId} {...props}>\n <div\n className={cx(`${rootClassName}__inner`, {\n [`${rootClassName}__inner--align-with-grid`]: alignWithGrid,\n })}\n >\n {children}\n </div>\n </div>\n );\n};\n","import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\n\nimport { type Optional, type Step } from \"./types\";\n\nexport type StepperContentProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n} & Optional<Step, \"disabled\" | \"finished\">;\n\nexport const StepperContent = forwardRef<HTMLDivElement, StepperContentProps>(\n ({ children, ...props }, ref) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { finished, ...rest } = props;\n return (\n <div {...rest} ref={ref}>\n {children}\n </div>\n );\n }\n);\n\nexport const isStepperContent = (child?: ReactNode): child is ReactElement<StepperContentProps> =>\n !!child && isValidElement<StepperContentProps>(child) && !!child.props.label;\n","import React, { forwardRef, type MouseEvent } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-link.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n type VisibilityStates,\n} from \"./types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-stepper-link\";\n\nexport type StepNumberProps = {\n current: boolean;\n disabled: boolean;\n stepNumber: number;\n [\"data-testid\"]?: string;\n};\n\nconst StepNumber = ({\n [\"data-testid\"]: dataTestId,\n current,\n disabled,\n stepNumber,\n}: StepNumberProps) => {\n return (\n <div\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__step-number`,\n {\n [`${rootClassName}__step-number--current`]: current,\n },\n {\n [`${rootClassName}__step-number--disabled`]: disabled,\n },\n ])}\n >\n {stepNumber}\n </div>\n );\n};\n\nexport type StepperLinkProps = Omit<BaseProps<\"a\">, \"children\"> & {\n variant: StepperVariant;\n step: Step;\n currentStepIndex: number;\n index: number;\n indexOfLastItem: number;\n whenToBeVisible: VisibilityStates;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperLink = forwardRef<HTMLAnchorElement, StepperLinkProps>(\n (\n {\n className,\n [\"data-testid\"]: dataTestId,\n variant,\n step,\n indexOfLastItem,\n index,\n currentStepIndex,\n whenToBeVisible,\n handleStepChange,\n handleStepFocus,\n completedStepLabel,\n idPrefix,\n ...props\n },\n ref\n ) => {\n const placement = index === 0 ? \"first\" : index === indexOfLastItem ? \"last\" : \"middle\";\n const isCurrentStep = index === currentStepIndex;\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>): void => {\n if (step.disabled) {\n e.preventDefault();\n return;\n }\n handleStepChange(e, index);\n };\n\n return (\n <a\n {...props}\n ref={ref}\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${placement}`,\n `${rootClassName}--${variant}`,\n `${rootClassName}--visibility-${whenToBeVisible}`,\n {\n [`${rootClassName}--current`]: isCurrentStep,\n },\n {\n [`${rootClassName}--disabled`]: step.disabled,\n },\n {\n [\"arrow-tail\"]: placement !== \"first\",\n },\n {\n [\"arrow-forward\"]: placement !== \"last\",\n }\n )}\n id={`${idPrefix}-trigger-${index}`}\n href={step.disabled ? undefined : `#${idPrefix}-content`}\n tabIndex={step.disabled ? -1 : undefined}\n data-testid={`${dataTestId}-step-trigger-item-${index}`}\n aria-disabled={step.disabled}\n aria-current={isCurrentStep && \"step\"}\n aria-label={\n step.finished && !isCurrentStep\n ? [String(index + 1), step.label, completedStepLabel].filter(Boolean).join(\", \")\n : undefined\n }\n onClick={handleClick}\n onFocus={handleStepFocus}\n >\n <span className={cx(`${rootClassName}__trigger-outline`)}>\n {step.finished && !isCurrentStep ? (\n <IconCheckmark\n className={cx(`${rootClassName}__icon`)}\n data-testid={`${dataTestId}-step-finished-icon`}\n size=\"sm\"\n />\n ) : (\n <StepNumber\n data-testid={`${dataTestId}-step-number`}\n current={isCurrentStep}\n disabled={step.disabled}\n stepNumber={index + 1}\n />\n )}\n <span\n className={cx(`${rootClassName}__step-label`, {\n [`sr-only--lg-down`]: !isCurrentStep,\n })}\n >\n {step.label}\n </span>\n </span>\n </a>\n );\n }\n);\n","import React, { forwardRef, type RefObject } from \"react\";\nimport { Tooltip } from \"@purpur/tooltip\";\nimport c from \"classnames/bind\";\n\nimport { VISIBILITY_STATES } from \"./constants\";\nimport { StepperLink } from \"./stepper-link\";\nimport styles from \"./stepper-nav-items.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n} from \"./types\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper-nav-items\";\n\nexport type StepperNavItemsProps = {\n variant: StepperVariant;\n [\"data-testid\"]?: string;\n firstStepRef: RefObject<HTMLLIElement | null>;\n lastStepRef: RefObject<HTMLLIElement | null>;\n steps: Step[];\n currentStepIndex: number;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperNavItems = forwardRef<HTMLOListElement, StepperNavItemsProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n variant,\n handleStepChange,\n handleStepFocus,\n steps,\n firstStepRef,\n lastStepRef,\n currentStepIndex,\n completedStepLabel,\n idPrefix,\n },\n ref\n ) => {\n const stepListItems = steps.map((step: Step, index: number) => {\n const tooltipTriggerItem = (\n <span className={cx(`${rootClassName}__tooltip-trigger-item-container`)}>\n <StepperLink\n data-testid={`${dataTestId}-disabled-sm`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.SMALL_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </span>\n );\n\n return (\n <li\n className={cx(`${rootClassName}__list-item`, {\n [`${rootClassName}__list-item--current`]: index === currentStepIndex,\n })}\n ref={index === 0 ? firstStepRef : index === steps.length - 1 ? lastStepRef : null}\n key={step.label}\n >\n {step.disabled ? (\n <>\n <Tooltip\n contentClassName={cx(`${rootClassName}__tooltip-content`)}\n triggerElement={tooltipTriggerItem}\n >\n {step.label}\n </Tooltip>\n <StepperLink\n data-testid={`${dataTestId}-disabled-lg`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.LARGE_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </>\n ) : (\n <StepperLink\n data-testid={dataTestId}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.ALWAYS}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n )}\n </li>\n );\n });\n return (\n <ol ref={ref} className={cx(`${rootClassName}__list`)}>\n {stepListItems}\n </ol>\n );\n }\n);\n","import { type RefObject, useEffect, useRef } from \"react\";\n\ninterface UseContentFocusHook<T extends HTMLElement> {\n contentRef: RefObject<T | null>;\n}\n\nexport const useContentFocus = <T extends HTMLElement>(\n currentStepIndex: number\n): UseContentFocusHook<T> => {\n const firstLoad = useRef<boolean>(true);\n const contentRef = useRef<T | null>(null);\n\n useEffect(() => {\n if (!firstLoad.current && contentRef.current !== null) {\n contentRef.current.focus();\n }\n firstLoad.current = false;\n\n }, [currentStepIndex]);\n\n return {\n contentRef,\n };\n};\n","import { type RefObject, useEffect, useRef, useState } from \"react\";\n\nexport const SCROLL_DIRECTION = {\n LEFT: \"left\",\n RIGHT: \"right\",\n} as const;\n\nexport type ScrollDirection = (typeof SCROLL_DIRECTION)[keyof typeof SCROLL_DIRECTION];\n\nexport type UseScrollHook<ContainerElement, WatchedElement> = {\n scrollContainer: RefObject<ContainerElement | null>;\n firstStepRef: RefObject<WatchedElement | null>;\n lastStepRef: RefObject<WatchedElement | null>;\n displayLeftScrollButton: boolean;\n displayRightScrollButton: boolean;\n handleHorizontalScroll: (dir: ScrollDirection) => void;\n};\n\nexport const useScrollButtons = <\n ContainerElement extends HTMLElement,\n WatchedElement extends HTMLElement\n>(): UseScrollHook<ContainerElement, WatchedElement> => {\n const scrollContainer = useRef<ContainerElement | null>(null);\n const firstStepRef = useRef<WatchedElement | null>(null);\n const lastStepRef = useRef<WatchedElement | null>(null);\n const [displayLeftScrollButton, setDisplayLeftScrollButton] = useState(false);\n const [displayRightScrollButton, setDisplayRightScrollButton] = useState(false);\n\n const handleHorizontalScroll = (dir: ScrollDirection): void => {\n if (!scrollContainer.current) {\n return;\n }\n const scrollableContainer = scrollContainer.current;\n const scrollableContainerWidth = scrollableContainer.clientWidth;\n const currentScrollLeft = scrollableContainer.scrollLeft;\n if (dir === SCROLL_DIRECTION.LEFT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft - scrollableContainerWidth / 2,\n });\n }\n if (dir === SCROLL_DIRECTION.RIGHT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft + scrollableContainerWidth / 2,\n });\n }\n };\n\n useEffect(() => {\n if (firstStepRef.current && lastStepRef.current && scrollContainer.current) {\n const observer: IntersectionObserver = new IntersectionObserver(\n (entries: IntersectionObserverEntry[]) => {\n for (const entry of entries) {\n if (entry.target === firstStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayLeftScrollButton(false);\n } else {\n setDisplayLeftScrollButton(true);\n }\n continue;\n }\n if (entry.target === lastStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayRightScrollButton(false);\n } else {\n setDisplayRightScrollButton(true);\n }\n }\n }\n },\n {\n root: scrollContainer.current,\n threshold: 0.95,\n }\n );\n\n observer.observe(firstStepRef.current);\n observer.observe(lastStepRef.current);\n\n return () => observer.disconnect();\n }\n return undefined;\n }, [firstStepRef, lastStepRef, scrollContainer]);\n\n return {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n };\n};\n","import React, { Children, type ReactElement, useId } from \"react\";\nimport { Button, BUTTON_VARIANT } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconChevronLeft } from \"@purpur/icon/chevron-left\";\nimport { IconChevronRight } from \"@purpur/icon/chevron-right\";\nimport * as ScrollArea from \"@radix-ui/react-scroll-area\";\nimport c from \"classnames/bind\";\n\nimport { STEPPER_VARIANT } from \"./constants\";\nimport styles from \"./stepper.module.scss\";\nimport { StepperContainer } from \"./stepper-container\";\nimport { isStepperContent, StepperContent } from \"./stepper-content\";\nimport { StepperNavItems } from \"./stepper-nav-items\";\nimport { type Step, type StepChangeFunction, type StepperVariant } from \"./types\";\nimport { useContentFocus } from \"./use-content-focus.hook\";\nimport { SCROLL_DIRECTION, useScrollButtons } from \"./use-scroll-buttons.hook\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper\";\n\nexport type StepperProps = Omit<BaseProps, \"children\"> & {\n children: Array<ReactElement<typeof StepperContent>> | ReactElement<typeof StepperContent>;\n completedStepLabel: string;\n currentStepIndex: number;\n onStepChange: StepChangeFunction;\n alignWithGrid?: boolean;\n leftScrollButtonAriaLabel: string;\n rightScrollButtonAriaLabel: string;\n variant: StepperVariant;\n};\n\nexport type StepperComponent<P> = React.FunctionComponent<P> & {\n Content: typeof StepperContent;\n};\n\nexport const Stepper: StepperComponent<StepperProps> = ({\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId,\n children,\n className,\n completedStepLabel,\n currentStepIndex = 0,\n onStepChange,\n alignWithGrid = false,\n leftScrollButtonAriaLabel,\n rightScrollButtonAriaLabel,\n variant = STEPPER_VARIANT.PRIMARY,\n ...props\n}: StepperProps) => {\n const stepperContentChildren = Children.toArray(children).filter(isStepperContent);\n const steps: Step[] = Children.map(stepperContentChildren, (child) => {\n const { disabled, finished, label } = child.props;\n return {\n disabled: disabled ?? false,\n finished: finished ?? false,\n label,\n };\n });\n const idPrefix = useId();\n const contentId = `${idPrefix}-content`;\n const {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n } = useScrollButtons<HTMLDivElement, HTMLLIElement>();\n const { contentRef } = useContentFocus<HTMLElement>(currentStepIndex);\n\n const classes: string = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--${variant}`]: variant,\n },\n ]);\n const scrollTriggerIntoView = (e: React.FocusEvent | React.MouseEvent): void => {\n (e.target as HTMLAnchorElement).scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"center\",\n });\n };\n\n const handleStepChange = (e: React.MouseEvent<HTMLAnchorElement>, idx: number): void => {\n e.preventDefault();\n scrollTriggerIntoView(e);\n onStepChange(idx);\n };\n\n const handleStepFocus = (e: React.FocusEvent<HTMLAnchorElement>): void => {\n scrollTriggerIntoView(e);\n };\n\n return (\n <div className={classes} {...props}>\n <StepperContainer variant={variant} alignWithGrid={alignWithGrid}>\n <div className={cx(`${rootClassName}__nav-container`)}>\n <ScrollArea.Root>\n <ScrollArea.Viewport ref={scrollContainer}>\n <nav\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__nav`,\n {\n [`${rootClassName}__nav--${variant}`]: variant,\n },\n ])}\n >\n <StepperNavItems\n data-testid={dataTestId}\n variant={variant}\n firstStepRef={firstStepRef}\n lastStepRef={lastStepRef}\n steps={steps}\n currentStepIndex={currentStepIndex}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n completedStepLabel={completedStepLabel}\n idPrefix={idPrefix}\n />\n </nav>\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation=\"horizontal\">\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea.Root>\n {displayLeftScrollButton && (\n <Button\n aria-label={leftScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--left`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.LEFT);\n }}\n >\n <IconChevronLeft className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n {displayRightScrollButton && (\n <Button\n aria-label={rightScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--right`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.RIGHT);\n }}\n >\n <IconChevronRight className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n </div>\n </StepperContainer>\n <section\n tabIndex={-1}\n id={contentId}\n aria-labelledby={`${idPrefix}-trigger-${currentStepIndex}`}\n ref={contentRef}\n style={{ outline: \"none\" }}\n >\n {Children.map(stepperContentChildren, (child, index: number) => (\n <div\n className={cx({\n [`${rootClassName}__hidden`]: index !== currentStepIndex,\n })}\n hidden={index !== currentStepIndex}\n >\n {child}\n </div>\n ))}\n </section>\n </div>\n );\n};\n\nStepper.Content = StepperContent;\n\nStepper.displayName = \"Stepper\";\n"],"names":["STEPPER_VARIANT","VISIBILITY_STATES","cx","c","styles","rootClassName","StepperContainer","dataTestId","children","className","alignWithGrid","variant","props","classes","jsx","StepperContent","forwardRef","ref","finished","rest","isStepperContent","child","isValidElement","StepNumber","current","disabled","stepNumber","StepperLink","step","indexOfLastItem","index","currentStepIndex","whenToBeVisible","handleStepChange","handleStepFocus","completedStepLabel","idPrefix","placement","isCurrentStep","handleClick","e","IconCheckmark","StepperNavItems","steps","firstStepRef","lastStepRef","stepListItems","tooltipTriggerItem","jsxs","Fragment","Tooltip","useContentFocus","firstLoad","useRef","contentRef","useEffect","SCROLL_DIRECTION","useScrollButtons","scrollContainer","displayLeftScrollButton","setDisplayLeftScrollButton","useState","displayRightScrollButton","setDisplayRightScrollButton","handleHorizontalScroll","dir","scrollableContainer","scrollableContainerWidth","currentScrollLeft","observer","entries","entry","Stepper","ariaLabel","onStepChange","leftScrollButtonAriaLabel","rightScrollButtonAriaLabel","stepperContentChildren","Children","label","useId","contentId","scrollTriggerIntoView","idx","ScrollArea.Root","ScrollArea.Viewport","ScrollArea.Scrollbar","ScrollArea.Thumb","Button","BUTTON_VARIANT","IconChevronLeft","IconChevronRight"],"mappings":"0UAAaA,EAAkB,CAC7B,QAAS,SAEX,EAEaC,EAAoB,CAC/B,aAAc,eACd,aAAc,eACd,OAAQ,QACV,6/BCFMC,EAAKC,EAAAA,EAAE,KAAKC,EAAM,EAQlBC,EAAgB,2BAETC,GAAmB,CAAC,CAC/B,CAAC,eAAgBC,EAAa,2BAC9B,SAAAC,EACA,UAAAC,EACA,cAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAA6B,CAC3B,MAAMC,EAAkBX,EAAGO,EAAWJ,EAAe,CACnD,CAAC,GAAGA,CAAa,KAAKM,CAAO,EAAE,EAAGA,EAClC,CAAC,GAAGN,CAAa,mBAAmB,EAAGK,CAAA,CACxC,EAED,aACG,MAAA,CAAI,UAAWG,EAAS,cAAaN,EAAa,GAAGK,EACpD,SAAAE,EAAAA,IAAC,MAAA,CACC,UAAWZ,EAAG,GAAGG,CAAa,UAAW,CACvC,CAAC,GAAGA,CAAa,0BAA0B,EAAGK,CAAA,CAC/C,EAEA,SAAAF,CAAA,CAAA,EAEL,CAEJ,EChCaO,GAAiBC,EAAAA,WAC5B,CAAC,CAAE,SAAAR,EAAU,GAAGI,CAAA,EAASK,IAAQ,CAE/B,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAASP,EAC9B,OACEE,EAAAA,IAAC,MAAA,CAAK,GAAGK,EAAM,IAAAF,EACZ,SAAAT,EACH,CAEJ,CACF,EAEaY,GAAoBC,GAC/B,CAAC,CAACA,GAASC,EAAAA,eAAoCD,CAAK,GAAK,CAAC,CAACA,EAAM,MAAM,w4CCRnEnB,EAAKC,EAAAA,EAAE,KAAKC,EAAM,EAClBC,EAAgB,sBAShBkB,GAAa,CAAC,CAClB,CAAC,eAAgBhB,EACjB,QAAAiB,EACA,SAAAC,EACA,WAAAC,CACF,IAEIZ,EAAAA,IAAC,MAAA,CACC,cAAaP,EACb,UAAWL,EAAG,CACZ,GAAGG,CAAa,gBAChB,CACE,CAAC,GAAGA,CAAa,wBAAwB,EAAGmB,CAAA,EAE9C,CACE,CAAC,GAAGnB,CAAa,yBAAyB,EAAGoB,CAAA,CAC/C,CACD,EAEA,SAAAC,CAAA,CAAA,EAkBMC,EAAcX,EAAAA,WACzB,CACE,CACE,UAAAP,EACA,CAAC,eAAgBF,EACjB,QAAAI,EACA,KAAAiB,EACA,gBAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,SAAAC,EACA,GAAGxB,CAAA,EAELK,IACG,CACH,MAAMoB,EAAYP,IAAU,EAAI,QAAUA,IAAUD,EAAkB,OAAS,SACzES,EAAgBR,IAAUC,EAE1BQ,EAAeC,GAA2C,CAC9D,GAAIZ,EAAK,SAAU,CACjBY,EAAE,eAAA,EACF,MACF,CACAP,EAAiBO,EAAGV,CAAK,CAC3B,EAEA,OACEhB,EAAAA,IAAC,IAAA,CACE,GAAGF,EACJ,IAAAK,EACA,UAAWf,EACTO,EACAJ,EACA,GAAGA,CAAa,KAAKgC,CAAS,GAC9B,GAAGhC,CAAa,KAAKM,CAAO,GAC5B,GAAGN,CAAa,gBAAgB2B,CAAe,GAC/C,CACE,CAAC,GAAG3B,CAAa,WAAW,EAAGiC,CAAA,EAEjC,CACE,CAAC,GAAGjC,CAAa,YAAY,EAAGuB,EAAK,QAAA,EAEvC,CACG,aAAeS,IAAc,OAAA,EAEhC,CACG,gBAAkBA,IAAc,MAAA,CACnC,EAEF,GAAI,GAAGD,CAAQ,YAAYN,CAAK,GAChC,KAAMF,EAAK,SAAW,OAAY,IAAIQ,CAAQ,WAC9C,SAAUR,EAAK,SAAW,GAAK,OAC/B,cAAa,GAAGrB,CAAU,sBAAsBuB,CAAK,GACrD,gBAAeF,EAAK,SACpB,eAAcU,GAAiB,OAC/B,aACEV,EAAK,UAAY,CAACU,EACd,CAAC,OAAOR,EAAQ,CAAC,EAAGF,EAAK,MAAOO,CAAkB,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,EAC7E,OAEN,QAASI,EACT,QAASL,EAET,gBAAC,OAAA,CAAK,UAAWhC,EAAG,GAAGG,CAAa,mBAAmB,EACpD,SAAA,CAAAuB,EAAK,UAAY,CAACU,EACjBxB,EAAAA,IAAC2B,EAAAA,EAAA,CACC,UAAWvC,EAAG,GAAGG,CAAa,QAAQ,EACtC,cAAa,GAAGE,CAAU,sBAC1B,KAAK,IAAA,CAAA,EAGPO,EAAAA,IAACS,GAAA,CACC,cAAa,GAAGhB,CAAU,eAC1B,QAAS+B,EACT,SAAUV,EAAK,SACf,WAAYE,EAAQ,CAAA,CAAA,EAGxBhB,EAAAA,IAAC,OAAA,CACC,UAAWZ,EAAG,GAAGG,CAAa,eAAgB,CAC3C,mBAAqB,CAACiC,CAAA,CACxB,EAEA,SAAAV,EAAK,KAAA,CAAA,CACR,CAAA,CACF,CAAA,CAAA,CAGN,CACF,ifC5IM1B,EAAKC,EAAAA,EAAE,KAAKC,EAAM,EAElBC,EAAgB,2BAeTqC,GAAkB1B,EAAAA,WAC7B,CACE,CACE,CAAC,eAAgBT,EACjB,QAAAI,EACA,iBAAAsB,EACA,gBAAAC,EACA,MAAAS,EACA,aAAAC,EACA,YAAAC,EACA,iBAAAd,EACA,mBAAAI,EACA,SAAAC,CAAA,EAEFnB,IACG,CACH,MAAM6B,EAAgBH,EAAM,IAAI,CAACf,EAAYE,IAAkB,CAC7D,MAAMiB,QACH,OAAA,CAAK,UAAW7C,EAAG,GAAGG,CAAa,kCAAkC,EACpE,SAAAS,EAAAA,IAACa,EAAA,CACC,cAAa,GAAGpB,CAAU,eAC1B,QAAAI,EACA,KAAAiB,EACA,gBAAiBe,EAAM,OAAS,EAChC,MAAAb,EACA,iBAAAC,EACA,gBAAiB9B,EAAkB,aACnC,mBAAAkC,EACA,iBAAAF,EACA,gBAAAC,EACA,SAAAE,CAAA,CAAA,EAEJ,EAGF,OACEtB,EAAAA,IAAC,KAAA,CACC,UAAWZ,EAAG,GAAGG,CAAa,cAAe,CAC3C,CAAC,GAAGA,CAAa,sBAAsB,EAAGyB,IAAUC,CAAA,CACrD,EACD,IAAKD,IAAU,EAAIc,EAAed,IAAUa,EAAM,OAAS,EAAIE,EAAc,KAG5E,SAAAjB,EAAK,SACJoB,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAnC,EAAAA,IAACoC,EAAAA,QAAA,CACC,iBAAkBhD,EAAG,GAAGG,CAAa,mBAAmB,EACxD,eAAgB0C,EAEf,SAAAnB,EAAK,KAAA,CAAA,EAERd,EAAAA,IAACa,EAAA,CACC,cAAa,GAAGpB,CAAU,eAC1B,QAAAI,EACA,KAAAiB,EACA,gBAAiBe,EAAM,OAAS,EAChC,MAAAb,EACA,iBAAAC,EACA,gBAAiB9B,EAAkB,aACnC,mBAAAkC,EACA,iBAAAF,EACA,gBAAAC,EACA,SAAAE,CAAA,CAAA,CACF,CAAA,CACF,EAEAtB,EAAAA,IAACa,EAAA,CACC,cAAapB,EACb,QAAAI,EACA,KAAAiB,EACA,gBAAiBe,EAAM,OAAS,EAChC,MAAAb,EACA,iBAAAC,EACA,gBAAiB9B,EAAkB,OACnC,mBAAAkC,EACA,iBAAAF,EACA,gBAAAC,EACA,SAAAE,CAAA,CAAA,CACF,EArCGR,EAAK,KAAA,CAyChB,CAAC,EACD,OACEd,EAAAA,IAAC,MAAG,IAAAG,EAAU,UAAWf,EAAG,GAAGG,CAAa,QAAQ,EACjD,SAAAyC,CAAA,CACH,CAEJ,CACF,EClHaK,GACXpB,GAC2B,CAC3B,MAAMqB,EAAYC,EAAAA,OAAgB,EAAI,EAChCC,EAAaD,EAAAA,OAAiB,IAAI,EAExCE,OAAAA,EAAAA,UAAU,IAAM,CACV,CAACH,EAAU,SAAWE,EAAW,UAAY,MAC/CA,EAAW,QAAQ,MAAA,EAErBF,EAAU,QAAU,EAEtB,EAAG,CAACrB,CAAgB,CAAC,EAEd,CACL,WAAAuB,CAAA,CAEJ,ECrBaE,EAAmB,CAC9B,KAAM,OACN,MAAO,OACT,EAaaC,GAAmB,IAGwB,CACtD,MAAMC,EAAkBL,EAAAA,OAAgC,IAAI,EACtDT,EAAeS,EAAAA,OAA8B,IAAI,EACjDR,EAAcQ,EAAAA,OAA8B,IAAI,EAChD,CAACM,EAAyBC,CAA0B,EAAIC,EAAAA,SAAS,EAAK,EACtE,CAACC,EAA0BC,CAA2B,EAAIF,EAAAA,SAAS,EAAK,EAExEG,EAA0BC,GAA+B,CAC7D,GAAI,CAACP,EAAgB,QACnB,OAEF,MAAMQ,EAAsBR,EAAgB,QACtCS,EAA2BD,EAAoB,YAC/CE,EAAoBF,EAAoB,WAC1CD,IAAQT,EAAiB,MAC3BU,EAAoB,OAAO,CACzB,SAAU,SACV,KAAME,EAAoBD,EAA2B,CAAA,CACtD,EAECF,IAAQT,EAAiB,OAC3BU,EAAoB,OAAO,CACzB,SAAU,SACV,KAAME,EAAoBD,EAA2B,CAAA,CACtD,CAEL,EAEAZ,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIX,EAAa,SAAWC,EAAY,SAAWa,EAAgB,QAAS,CAC1E,MAAMW,EAAiC,IAAI,qBACxCC,GAAyC,CACxC,UAAWC,KAASD,EAAS,CAC3B,GAAIC,EAAM,SAAW3B,EAAa,QAAS,CACrC2B,EAAM,eACRX,EAA2B,EAAK,EAEhCA,EAA2B,EAAI,EAEjC,QACF,CACIW,EAAM,SAAW1B,EAAY,UAC3B0B,EAAM,eACRR,EAA4B,EAAK,EAEjCA,EAA4B,EAAI,EAGtC,CACF,EACA,CACE,KAAML,EAAgB,QACtB,UAAW,GAAA,CACb,EAGF,OAAAW,EAAS,QAAQzB,EAAa,OAAO,EACrCyB,EAAS,QAAQxB,EAAY,OAAO,EAE7B,IAAMwB,EAAS,WAAA,CACxB,CAEF,EAAG,CAACzB,EAAcC,EAAaa,CAAe,CAAC,EAExC,CACL,gBAAAA,EACA,aAAAd,EACA,YAAAC,EACA,wBAAAc,EACA,yBAAAG,EACA,uBAAAE,CAAA,CAEJ,EC5EM9D,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAElBC,EAAgB,iBAiBTmE,EAA0C,CAAC,CACtD,CAAC,cAAeC,EAChB,CAAC,eAAgBlE,EACjB,SAAAC,EACA,UAAAC,EACA,mBAAA0B,EACA,iBAAAJ,EAAmB,EACnB,aAAA2C,EACA,cAAAhE,EAAgB,GAChB,0BAAAiE,EACA,2BAAAC,EACA,QAAAjE,EAAUX,EAAgB,QAC1B,GAAGY,CACL,IAAoB,CAClB,MAAMiE,EAAyBC,EAAAA,SAAS,QAAQtE,CAAQ,EAAE,OAAOY,EAAgB,EAC3EuB,EAAgBmC,EAAAA,SAAS,IAAID,EAAyBxD,GAAU,CACpE,KAAM,CAAE,SAAAI,EAAU,SAAAP,EAAU,MAAA6D,CAAA,EAAU1D,EAAM,MAC5C,MAAO,CACL,SAAUI,GAAY,GACtB,SAAUP,GAAY,GACtB,MAAA6D,CAAA,CAEJ,CAAC,EACK3C,EAAW4C,EAAAA,MAAA,EACXC,EAAY,GAAG7C,CAAQ,WACvB,CACJ,gBAAAsB,EACA,aAAAd,EACA,YAAAC,EACA,wBAAAc,EACA,yBAAAG,EACA,uBAAAE,CAAA,EACEP,GAAA,EACE,CAAE,WAAAH,CAAA,EAAeH,GAA6BpB,CAAgB,EAE9DlB,EAAkBX,EAAG,CACzBO,EACAJ,EACA,CACE,CAAC,GAAGA,CAAa,KAAKM,CAAO,EAAE,EAAGA,CAAA,CACpC,CACD,EACKuE,EAAyB1C,GAAiD,CAC7EA,EAAE,OAA6B,eAAe,CAC7C,SAAU,SACV,MAAO,UACP,OAAQ,QAAA,CACT,CACH,EAEMP,EAAmB,CAACO,EAAwC2C,IAAsB,CACtF3C,EAAE,eAAA,EACF0C,EAAsB1C,CAAC,EACvBkC,EAAaS,CAAG,CAClB,EAEMjD,EAAmBM,GAAiD,CACxE0C,EAAsB1C,CAAC,CACzB,EAEA,OACEQ,EAAAA,KAAC,MAAA,CAAI,UAAWnC,EAAU,GAAGD,EAC3B,SAAA,CAAAE,EAAAA,IAACR,GAAA,CAAiB,QAAAK,EAAkB,cAAAD,EAClC,SAAAsC,EAAAA,KAAC,MAAA,CAAI,UAAW9C,EAAG,GAAGG,CAAa,iBAAiB,EAClD,SAAA,CAAA2C,OAACoC,EAAAA,KAAA,CACC,SAAA,CAAAtE,EAAAA,IAACuE,EAAAA,SAAA,CAAoB,IAAK3B,EACxB,SAAA5C,EAAAA,IAAC,MAAA,CACC,aAAY2D,EACZ,cAAalE,EACb,UAAWL,EAAG,CACZ,GAAGG,CAAa,QAChB,CACE,CAAC,GAAGA,CAAa,UAAUM,CAAO,EAAE,EAAGA,CAAA,CACzC,CACD,EAED,SAAAG,EAAAA,IAAC4B,GAAA,CACC,cAAanC,EACb,QAAAI,EACA,aAAAiC,EACA,YAAAC,EACA,MAAAF,EACA,iBAAAZ,EACA,iBAAAE,EACA,gBAAAC,EACA,mBAAAC,EACA,SAAAC,CAAA,CAAA,CACF,CAAA,EAEJ,EACAtB,MAACwE,EAAAA,UAAA,CAAqB,YAAY,aAChC,SAAAxE,EAAAA,IAACyE,QAAA,CAAA,CAAiB,CAAA,CACpB,CAAA,EACF,EACC5B,GACC7C,EAAAA,IAAC0E,EAAAA,OAAA,CACC,aAAYb,EACZ,UAAWzE,EAAG,CACZ,GAAGG,CAAa,kBAChB,GAAGA,CAAa,wBAChB,CACE,CAAC,GAAGA,CAAa,kCAAkC,EAAGK,CAAA,CACxD,CACD,EACD,QAAS+E,EAAAA,eAAe,KACxB,SAAU,GACV,SAAQ,GACR,QAAS,IAAM,CACbzB,EAAuBR,EAAiB,IAAI,CAC9C,EAEA,SAAA1C,EAAAA,IAAC4E,KAAgB,UAAWxF,EAAG,GAAGG,CAAa,sBAAsB,EAAG,KAAK,IAAA,CAAK,CAAA,CAAA,EAGrFyD,GACChD,EAAAA,IAAC0E,EAAAA,OAAA,CACC,aAAYZ,EACZ,UAAW1E,EAAG,CACZ,GAAGG,CAAa,kBAChB,GAAGA,CAAa,yBAChB,CACE,CAAC,GAAGA,CAAa,kCAAkC,EAAGK,CAAA,CACxD,CACD,EACD,QAAS+E,EAAAA,eAAe,KACxB,SAAU,GACV,SAAQ,GACR,QAAS,IAAM,CACbzB,EAAuBR,EAAiB,KAAK,CAC/C,EAEA,SAAA1C,EAAAA,IAAC6E,KAAiB,UAAWzF,EAAG,GAAGG,CAAa,sBAAsB,EAAG,KAAK,IAAA,CAAK,CAAA,CAAA,CACrF,CAAA,CAEJ,CAAA,CACF,EACAS,EAAAA,IAAC,UAAA,CACC,SAAU,GACV,GAAImE,EACJ,kBAAiB,GAAG7C,CAAQ,YAAYL,CAAgB,GACxD,IAAKuB,EACL,MAAO,CAAE,QAAS,MAAA,EAEjB,SAAAwB,EAAAA,SAAS,IAAID,EAAwB,CAACxD,EAAOS,IAC5ChB,EAAAA,IAAC,MAAA,CACC,UAAWZ,EAAG,CACZ,CAAC,GAAGG,CAAa,UAAU,EAAGyB,IAAUC,CAAA,CACzC,EACD,OAAQD,IAAUC,EAEjB,SAAAV,CAAA,CAAA,CAEJ,CAAA,CAAA,CACH,EACF,CAEJ,EAEAmD,EAAQ,QAAUzD,GAElByD,EAAQ,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./stepper-VDiR2I8F.js");exports.Stepper=e.Stepper;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./stepper-Dao4XaDV.js");exports.Stepper=e.Stepper;
2
2
  //# sourceMappingURL=stepper.cjs.js.map