@purpur/library 9.10.1 → 10.0.1

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 (496) hide show
  1. package/CHANGELOG.json +118 -0
  2. package/CHANGELOG.md +51 -1
  3. package/dist/LICENSE.txt +234 -179
  4. package/dist/{RichText-IejAKqm2.js → RichText-B865Qkzj.js} +2 -2
  5. package/dist/{RichText-IejAKqm2.js.map → RichText-B865Qkzj.js.map} +1 -1
  6. package/dist/{RichText-2_z57EYi.mjs → RichText-CPkBwXNI.mjs} +2 -2
  7. package/dist/{RichText-2_z57EYi.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-CTWhxuS4.mjs → calendar-DTL_g0ue.mjs} +4 -14
  21. package/dist/{calendar-CTWhxuS4.mjs.map → calendar-DTL_g0ue.mjs.map} +1 -1
  22. package/dist/{calendar-Cwzqytai.js → calendar-DVOrK53J.js} +2 -2
  23. package/dist/{calendar-Cwzqytai.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-DiKGSL-7.mjs → carousel-Dq9yzk_-.mjs} +2 -2
  33. package/dist/{carousel-DiKGSL-7.mjs.map → carousel-Dq9yzk_-.mjs.map} +1 -1
  34. package/dist/{carousel-Dz_bUGo4.js → carousel-j-s6M1hu.js} +2 -2
  35. package/dist/{carousel-Dz_bUGo4.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-B2jmpVNr.js → chat-field-CLAjIHlM.js} +2 -2
  39. package/dist/{chat-field-B2jmpVNr.js.map → chat-field-CLAjIHlM.js.map} +1 -1
  40. package/dist/{chat-field-8cKqYcKi.mjs → chat-field-nxFRXoQx.mjs} +2 -2
  41. package/dist/{chat-field-8cKqYcKi.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-N5G3k2kr.js → comparison-table-CRWRijfG.js} +2 -2
  53. package/dist/{comparison-table-N5G3k2kr.js.map → comparison-table-CRWRijfG.js.map} +1 -1
  54. package/dist/{comparison-table-CmtSOUfK.mjs → comparison-table-DYaRaP9Z.mjs} +3 -3
  55. package/dist/{comparison-table-CmtSOUfK.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 +5 -5
  59. package/dist/components/accordion/src/accordion-item.d.ts.map +1 -1
  60. package/dist/components/accordion/src/accordion.d.ts +2 -6
  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/badge/src/badge.d.ts +1 -1
  65. package/dist/components/button/src/button.d.ts +3 -4
  66. package/dist/components/button/src/button.d.ts.map +1 -1
  67. package/dist/components/button/src/button.visual.fixtures.d.ts +1 -1
  68. package/dist/components/calendar/src/calendar.d.ts.map +1 -1
  69. package/dist/components/card/src/card-badge.d.ts +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-heading.d.ts +5 -5
  73. package/dist/components/card/src/card-heading.d.ts.map +1 -1
  74. package/dist/components/card/src/card-root.d.ts +1 -1
  75. package/dist/components/color-dot/src/color-dot.d.ts +2 -1
  76. package/dist/components/color-dot/src/color-dot.d.ts.map +1 -1
  77. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
  78. package/dist/components/content-block/src/content-block-group.d.ts +1 -1
  79. package/dist/components/content-block/src/content-block.d.ts +2 -2
  80. package/dist/components/content-block/src/content-block.d.ts.map +1 -1
  81. package/dist/components/counter-badge/src/counter-badge.d.ts +1 -1
  82. package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts +0 -1
  83. package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts.map +1 -1
  84. package/dist/components/country-flag-icon/src/country-flag-icon.d.ts +1 -1
  85. package/dist/components/cta-link/src/cta-link.d.ts +10 -10
  86. package/dist/components/date-field/src/date-field.d.ts +1 -1
  87. package/dist/components/date-picker/src/date-picker.d.ts +1 -1
  88. package/dist/components/date-range-field/src/date-range-field.d.ts +2 -2
  89. package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
  90. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +2 -2
  91. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
  92. package/dist/components/drawer/src/drawer-container.d.ts +1 -1
  93. package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
  94. package/dist/components/drawer/src/drawer-frame.d.ts +2 -2
  95. package/dist/components/drawer/src/drawer-handle.d.ts +1 -1
  96. package/dist/components/drawer/src/drawer-header.d.ts +1 -1
  97. package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
  98. package/dist/components/drawer/src/drawer-trigger.d.ts +1 -1
  99. package/dist/components/drawer/src/drawer.context.d.ts +2 -0
  100. package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
  101. package/dist/components/drawer/src/drawer.d.ts +2 -0
  102. package/dist/components/drawer/src/drawer.d.ts.map +1 -1
  103. package/dist/components/dropdown/src/dropdown-combobox.d.ts +2 -34
  104. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  105. package/dist/components/dropdown/src/dropdown-select.d.ts +2 -34
  106. package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
  107. package/dist/components/dropdown/src/dropdown-shared.d.ts +2 -1
  108. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  109. package/dist/components/dropdown/src/dropdown.types.d.ts +24 -13
  110. package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
  111. package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
  112. package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
  113. package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -1
  114. package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -1
  115. package/dist/components/field-helper-text/src/field-helper-text.d.ts +1 -1
  116. package/dist/components/file-upload/src/file-upload-button.d.ts +22 -0
  117. package/dist/components/file-upload/src/file-upload-button.d.ts.map +1 -0
  118. package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts +10 -0
  119. package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts.map +1 -0
  120. package/dist/components/file-upload/src/file-upload-file-name-label.d.ts +8 -0
  121. package/dist/components/file-upload/src/file-upload-file-name-label.d.ts.map +1 -0
  122. package/dist/components/file-upload/src/file-upload-icon.d.ts +8 -0
  123. package/dist/components/file-upload/src/file-upload-icon.d.ts.map +1 -0
  124. package/dist/components/file-upload/src/file-upload-types.d.ts +82 -0
  125. package/dist/components/file-upload/src/file-upload-types.d.ts.map +1 -0
  126. package/dist/components/file-upload/src/file-upload-utils.d.ts +7 -0
  127. package/dist/components/file-upload/src/file-upload-utils.d.ts.map +1 -0
  128. package/dist/components/file-upload/src/file-upload.d.ts +6 -0
  129. package/dist/components/file-upload/src/file-upload.d.ts.map +1 -0
  130. package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts +14 -0
  131. package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts.map +1 -0
  132. package/dist/components/footer/src/footer-social-link.d.ts +3 -3
  133. package/dist/components/heading/src/heading.d.ts +22 -4
  134. package/dist/components/heading/src/heading.d.ts.map +1 -1
  135. package/dist/components/hero-banner/src/hero-banner-types.d.ts +4 -4
  136. package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -1
  137. package/dist/components/hero-banner/src/hero-banner.d.ts +1 -1
  138. package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
  139. package/dist/components/icon/src/icon.d.ts +2 -2
  140. package/dist/components/illustrative-icon/src/static-illustrative-icon.d.ts +2 -2
  141. package/dist/components/label/src/label.d.ts +1 -1
  142. package/dist/components/listbox/src/listbox.d.ts +1 -1
  143. package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
  144. package/dist/components/logo/src/logo.types.d.ts +1 -1
  145. package/dist/components/modal/src/modal-content.d.ts +1 -1
  146. package/dist/components/modal/src/modal-content.d.ts.map +1 -1
  147. package/dist/components/notification-banner/src/notification-banner.d.ts +3 -3
  148. package/dist/components/notification-banner/src/notification-banner.d.ts.map +1 -1
  149. package/dist/components/pagination/src/pagination-page-size-selector.d.ts +2 -2
  150. package/dist/components/pagination/src/pagination-page-trigger.d.ts +1 -1
  151. package/dist/components/pagination/src/pagination-pages.d.ts +2 -2
  152. package/dist/components/pagination/src/pagination-step-trigger.d.ts +2 -2
  153. package/dist/components/pagination/src/pagination-truncation-separator.d.ts +1 -1
  154. package/dist/components/pagination/src/types.d.ts +1 -1
  155. package/dist/components/pagination/src/use-page-options.hook.d.ts +1 -1
  156. package/dist/components/pagination/src/use-page-size-options.hook.d.ts +1 -1
  157. package/dist/components/paragraph/src/paragraph.d.ts +1 -1
  158. package/dist/components/password-field/src/password-strength-indicator.d.ts +1 -1
  159. package/dist/components/popover/src/popover-button.d.ts +2 -2
  160. package/dist/components/product-card/src/product-card.d.ts +1 -1
  161. package/dist/components/promotion-card/src/promotion-card.d.ts +10 -10
  162. package/dist/components/promotion-card/src/promotion-card.d.ts.map +1 -1
  163. package/dist/components/quantity-selector/src/quantity-selector-button.d.ts +2 -3
  164. package/dist/components/quantity-selector/src/quantity-selector-button.d.ts.map +1 -1
  165. package/dist/components/quantity-selector/src/quantity-selector.d.ts +3 -6
  166. package/dist/components/quantity-selector/src/quantity-selector.d.ts.map +1 -1
  167. package/dist/components/radio-button-group/src/radio-button-group-root.d.ts +1 -1
  168. package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
  169. package/dist/components/rich-text/src/types.d.ts +3 -3
  170. package/dist/components/search-field/src/search-field-autocomplete.d.ts +1 -1
  171. package/dist/components/search-field/src/search-field-base.d.ts +1 -1
  172. package/dist/components/select/src/select.d.ts +1 -1
  173. package/dist/components/skeleton/src/skeleton.d.ts +1 -1
  174. package/dist/components/spacer/src/spacer.d.ts +2 -2
  175. package/dist/components/spinner/src/spinner.d.ts +3 -3
  176. package/dist/components/stepper/src/stepper-container.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 +2 -2
  182. package/dist/components/stepper/src/stepper.d.ts.map +1 -1
  183. package/dist/components/stepper/src/types.d.ts +2 -2
  184. package/dist/components/stepper/src/types.d.ts.map +1 -1
  185. package/dist/components/stepper/src/use-content-focus.hook.d.ts.map +1 -1
  186. package/dist/components/table/src/cell-types/button-group-cell.d.ts +2 -2
  187. package/dist/components/table/src/draggable-table.d.ts.map +1 -1
  188. package/dist/components/table/src/empty-table.d.ts +2 -2
  189. package/dist/components/table/src/table-column-header-cell.d.ts +1 -2
  190. package/dist/components/table/src/table-column-header-cell.d.ts.map +1 -1
  191. package/dist/components/table/src/table-content.d.ts +1 -1
  192. package/dist/components/table/src/table-headers.d.ts +2 -3
  193. package/dist/components/table/src/table-headers.d.ts.map +1 -1
  194. package/dist/components/table/src/table-settings-drawer.d.ts +11 -20
  195. package/dist/components/table/src/table-settings-drawer.d.ts.map +1 -1
  196. package/dist/components/table/src/table.d.ts +1 -8
  197. package/dist/components/table/src/table.d.ts.map +1 -1
  198. package/dist/components/table/src/test-utils/helpers.d.ts +10 -19
  199. package/dist/components/table/src/test-utils/helpers.d.ts.map +1 -1
  200. package/dist/components/tabs/src/tab-content.d.ts +4 -2
  201. package/dist/components/tabs/src/tab-content.d.ts.map +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 +1 -1
  206. package/dist/components/toggle/src/toggle.d.ts +1 -1
  207. package/dist/components/tooltip/src/tooltip.d.ts +4 -6
  208. package/dist/components/tooltip/src/tooltip.d.ts.map +1 -1
  209. package/dist/components-metadata.js +20 -10
  210. package/dist/{content-block-CDMrz41K.mjs → content-block-BCM0I3Y2.mjs} +2 -2
  211. package/dist/content-block-BCM0I3Y2.mjs.map +1 -0
  212. package/dist/{content-block-DyYAnL2e.js → content-block-DQppQumZ.js} +2 -2
  213. package/dist/content-block-DQppQumZ.js.map +1 -0
  214. package/dist/content-block.cjs.js +1 -1
  215. package/dist/content-block.es.js +1 -1
  216. package/dist/core.esm-BmIwrKkJ.js +6 -0
  217. package/dist/core.esm-BmIwrKkJ.js.map +1 -0
  218. package/dist/core.esm-CKGHpLM_.mjs +2892 -0
  219. package/dist/core.esm-CKGHpLM_.mjs.map +1 -0
  220. package/dist/country-flag-icon/LICENSE.txt +11 -0
  221. package/dist/country-flag-icon/all-country-flag-assets.cjs.js +1 -1
  222. package/dist/country-flag-icon/all-country-flag-assets.cjs.js.map +1 -1
  223. package/dist/country-flag-icon/all-country-flag-assets.d.ts +0 -1
  224. package/dist/country-flag-icon/all-country-flag-assets.d.ts.map +1 -1
  225. package/dist/country-flag-icon/all-country-flag-assets.es.js +0 -1
  226. package/dist/country-flag-icon/all-country-flag-assets.es.js.map +1 -1
  227. package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js +2 -0
  228. package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js.map +1 -0
  229. package/dist/country-flag-icon/dynamic-country-flag-icon.es.js +366 -0
  230. package/dist/country-flag-icon/dynamic-country-flag-icon.es.js.map +1 -0
  231. package/dist/{date-field-CwZ64buh.js → date-field-CtpWDaSh.js} +2 -2
  232. package/dist/{date-field-CwZ64buh.js.map → date-field-CtpWDaSh.js.map} +1 -1
  233. package/dist/{date-field-ChYx0N2j.mjs → date-field-_rCuf15v.mjs} +2 -2
  234. package/dist/{date-field-ChYx0N2j.mjs.map → date-field-_rCuf15v.mjs.map} +1 -1
  235. package/dist/date-field.cjs.js +1 -1
  236. package/dist/date-field.es.js +1 -1
  237. package/dist/{date-picker-BWMKTOq6.js → date-picker-BYlszX1W.js} +2 -2
  238. package/dist/{date-picker-BWMKTOq6.js.map → date-picker-BYlszX1W.js.map} +1 -1
  239. package/dist/{date-picker-CTyqgBRB.mjs → date-picker-sqcNAplg.mjs} +6 -6
  240. package/dist/{date-picker-CTyqgBRB.mjs.map → date-picker-sqcNAplg.mjs.map} +1 -1
  241. package/dist/date-picker.cjs.js +1 -1
  242. package/dist/date-picker.es.js +1 -1
  243. package/dist/date-range-field-B33XeBW8.js +2 -0
  244. package/dist/date-range-field-B33XeBW8.js.map +1 -0
  245. package/dist/{date-range-field-DDr-qEGX.mjs → date-range-field-BmjQeiOv.mjs} +23 -23
  246. package/dist/date-range-field-BmjQeiOv.mjs.map +1 -0
  247. package/dist/date-range-field.cjs.js +1 -1
  248. package/dist/date-range-field.es.js +1 -1
  249. package/dist/{dismissable-chip-group-2updhyuR.js → dismissable-chip-group-5ALErhD2.js} +2 -2
  250. package/dist/dismissable-chip-group-5ALErhD2.js.map +1 -0
  251. package/dist/{dismissable-chip-group-Cfs2s2BH.mjs → dismissable-chip-group-DMNU7g5e.mjs} +3 -3
  252. package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +1 -0
  253. package/dist/dismissable-chip-group.cjs.js +1 -1
  254. package/dist/dismissable-chip-group.es.js +1 -1
  255. package/dist/{drawer-Cnk2OKgi.mjs → drawer-Chx3H8EU.mjs} +241 -233
  256. package/dist/drawer-Chx3H8EU.mjs.map +1 -0
  257. package/dist/drawer-oFJcxW58.js +2 -0
  258. package/dist/drawer-oFJcxW58.js.map +1 -0
  259. package/dist/drawer.cjs.js +1 -1
  260. package/dist/drawer.es.js +1 -1
  261. package/dist/dropdown-Bn7WvsL2.js +2 -0
  262. package/dist/dropdown-Bn7WvsL2.js.map +1 -0
  263. package/dist/dropdown-CrufJnb4.mjs +945 -0
  264. package/dist/dropdown-CrufJnb4.mjs.map +1 -0
  265. package/dist/dropdown.cjs.js +1 -1
  266. package/dist/dropdown.es.js +1 -1
  267. package/dist/file-upload-Ctw6LCTU.mjs +589 -0
  268. package/dist/file-upload-Ctw6LCTU.mjs.map +1 -0
  269. package/dist/file-upload-MvNuX4ks.js +2 -0
  270. package/dist/file-upload-MvNuX4ks.js.map +1 -0
  271. package/dist/file-upload.cjs.js +2 -0
  272. package/dist/file-upload.cjs.js.map +1 -0
  273. package/dist/file-upload.es.js +5 -0
  274. package/dist/file-upload.es.js.map +1 -0
  275. package/dist/{floating-ui.react-dom-EredA301.mjs → floating-ui.react-dom-1kwKo24Z.mjs} +15 -15
  276. package/dist/{floating-ui.react-dom-EredA301.mjs.map → floating-ui.react-dom-1kwKo24Z.mjs.map} +1 -1
  277. package/dist/footer-Bbemct3Z.js +2 -0
  278. package/dist/footer-Bbemct3Z.js.map +1 -0
  279. package/dist/{footer-D5YkHmCo.mjs → footer-DkVmTd-f.mjs} +24 -24
  280. package/dist/footer-DkVmTd-f.mjs.map +1 -0
  281. package/dist/footer.cjs.js +1 -1
  282. package/dist/footer.es.js +1 -1
  283. package/dist/{heading-xwBuT_-9.mjs → heading-BG7JTFO1.mjs} +25 -24
  284. package/dist/heading-BG7JTFO1.mjs.map +1 -0
  285. package/dist/{heading-drD5ugCC.js → heading-BPeRwNYu.js} +2 -2
  286. package/dist/heading-BPeRwNYu.js.map +1 -0
  287. package/dist/heading.cjs.js +1 -1
  288. package/dist/heading.es.js +6 -5
  289. package/dist/{hero-banner-BXRArPWP.mjs → hero-banner-ChDoFRhq.mjs} +4 -4
  290. package/dist/hero-banner-ChDoFRhq.mjs.map +1 -0
  291. package/dist/{hero-banner-CW7DIEZe.js → hero-banner-Mag1OwL4.js} +2 -2
  292. package/dist/hero-banner-Mag1OwL4.js.map +1 -0
  293. package/dist/hero-banner.cjs.js +1 -1
  294. package/dist/hero-banner.es.js +1 -1
  295. package/dist/index-BPY_9ddu.js +2 -0
  296. package/dist/index-BPY_9ddu.js.map +1 -0
  297. package/dist/index-Fewa56cA.mjs +440 -0
  298. package/dist/index-Fewa56cA.mjs.map +1 -0
  299. package/dist/libraries/library/src/calendar.d.ts +1 -1
  300. package/dist/libraries/library/src/card.d.ts +1 -1
  301. package/dist/libraries/library/src/container.d.ts +1 -1
  302. package/dist/libraries/library/src/content-block.d.ts +1 -1
  303. package/dist/libraries/library/src/dismissable-chip-group.d.ts +1 -1
  304. package/dist/libraries/library/src/drawer.d.ts +1 -1
  305. package/dist/libraries/library/src/file-upload.d.ts +6 -0
  306. package/dist/libraries/library/src/file-upload.d.ts.map +1 -0
  307. package/dist/libraries/library/src/library.d.ts +1 -1
  308. package/dist/libraries/library/src/library.d.ts.map +1 -1
  309. package/dist/libraries/library/src/notification-banner.d.ts +1 -1
  310. package/dist/libraries/library/src/notification.d.ts +1 -1
  311. package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
  312. package/dist/library.cjs.js +1 -1
  313. package/dist/library.es.js +595 -596
  314. package/dist/{modal-CnC4Zyjk.js → modal-CXOYUsJm.js} +2 -2
  315. package/dist/modal-CXOYUsJm.js.map +1 -0
  316. package/dist/{modal-BuUQrUYJ.mjs → modal-Pwvhrzn-.mjs} +31 -31
  317. package/dist/modal-Pwvhrzn-.mjs.map +1 -0
  318. package/dist/modal.cjs.js +1 -1
  319. package/dist/modal.es.js +1 -1
  320. package/dist/{notification-CeoAXDXq.js → notification-BkM2vLzI.js} +2 -2
  321. package/dist/{notification-CeoAXDXq.js.map → notification-BkM2vLzI.js.map} +1 -1
  322. package/dist/{notification-C3f3N1K1.mjs → notification-Cbn0UN1p.mjs} +3 -3
  323. package/dist/{notification-C3f3N1K1.mjs.map → notification-Cbn0UN1p.mjs.map} +1 -1
  324. package/dist/notification-banner-B9RhXAZ8.js +2 -0
  325. package/dist/notification-banner-B9RhXAZ8.js.map +1 -0
  326. package/dist/{notification-banner-BvAy8dlg.mjs → notification-banner-C4NVekCZ.mjs} +5 -5
  327. package/dist/notification-banner-C4NVekCZ.mjs.map +1 -0
  328. package/dist/notification-banner.cjs.js +1 -1
  329. package/dist/notification-banner.es.js +1 -1
  330. package/dist/notification.cjs.js +1 -1
  331. package/dist/notification.es.js +1 -1
  332. package/dist/{password-field-C_E4563x.mjs → password-field-Cy_E-D_G.mjs} +29 -29
  333. package/dist/{password-field-C_E4563x.mjs.map → password-field-Cy_E-D_G.mjs.map} +1 -1
  334. package/dist/{password-field-BjKdBoIK.js → password-field-lKyWHjQS.js} +2 -2
  335. package/dist/{password-field-BjKdBoIK.js.map → password-field-lKyWHjQS.js.map} +1 -1
  336. package/dist/password-field.cjs.js +1 -1
  337. package/dist/password-field.es.js +1 -1
  338. package/dist/popover-B6ntmuEK.mjs +614 -0
  339. package/dist/popover-B6ntmuEK.mjs.map +1 -0
  340. package/dist/popover-DJHMEFXP.js +2 -0
  341. package/dist/popover-DJHMEFXP.js.map +1 -0
  342. package/dist/popover.cjs.js +1 -1
  343. package/dist/popover.es.js +1 -1
  344. package/dist/{product-card-CxfHfJVV.mjs → product-card-BMseoNrG.mjs} +3 -3
  345. package/dist/{product-card-CxfHfJVV.mjs.map → product-card-BMseoNrG.mjs.map} +1 -1
  346. package/dist/{product-card-XxBwuxM-.js → product-card-D0jX5-up.js} +2 -2
  347. package/dist/{product-card-XxBwuxM-.js.map → product-card-D0jX5-up.js.map} +1 -1
  348. package/dist/product-card.cjs.js +1 -1
  349. package/dist/product-card.es.js +1 -1
  350. package/dist/{promotion-card-C1UoxzcV.js → promotion-card-B3mz__m7.js} +2 -2
  351. package/dist/promotion-card-B3mz__m7.js.map +1 -0
  352. package/dist/{promotion-card-CooYPpFo.mjs → promotion-card-Co6qAkTZ.mjs} +5 -5
  353. package/dist/promotion-card-Co6qAkTZ.mjs.map +1 -0
  354. package/dist/promotion-card.cjs.js +1 -1
  355. package/dist/promotion-card.es.js +1 -1
  356. package/dist/purpur.css +1 -1
  357. package/dist/quantity-selector-Cy0aJGGX.js +2 -0
  358. package/dist/quantity-selector-Cy0aJGGX.js.map +1 -0
  359. package/dist/quantity-selector-k6ZaVrk1.mjs +162 -0
  360. package/dist/quantity-selector-k6ZaVrk1.mjs.map +1 -0
  361. package/dist/quantity-selector.cjs.js +1 -1
  362. package/dist/quantity-selector.es.js +2 -3
  363. package/dist/{radio-button-group-D_F6kWD6.mjs → radio-button-group-DjiTo3b1.mjs} +2 -2
  364. package/dist/{radio-button-group-D_F6kWD6.mjs.map → radio-button-group-DjiTo3b1.mjs.map} +1 -1
  365. package/dist/{radio-button-group-CdUrC7h9.js → radio-button-group-uCRGh1H5.js} +2 -2
  366. package/dist/{radio-button-group-CdUrC7h9.js.map → radio-button-group-uCRGh1H5.js.map} +1 -1
  367. package/dist/radio-button-group.cjs.js +1 -1
  368. package/dist/radio-button-group.es.js +1 -1
  369. package/dist/{radio-card-group-B9_jOJnM.mjs → radio-card-group-DoM7qYO1.mjs} +2 -2
  370. package/dist/{radio-card-group-B9_jOJnM.mjs.map → radio-card-group-DoM7qYO1.mjs.map} +1 -1
  371. package/dist/{radio-card-group-DcdGkfOp.js → radio-card-group-_9wJC-s3.js} +2 -2
  372. package/dist/{radio-card-group-DcdGkfOp.js.map → radio-card-group-_9wJC-s3.js.map} +1 -1
  373. package/dist/radio-card-group.cjs.js +1 -1
  374. package/dist/radio-card-group.es.js +1 -1
  375. package/dist/rich-text.cjs.js +1 -1
  376. package/dist/rich-text.es.js +1 -1
  377. package/dist/{search-field-BTqVE1-l.mjs → search-field-BTJtRyw5.mjs} +3 -3
  378. package/dist/{search-field-BTqVE1-l.mjs.map → search-field-BTJtRyw5.mjs.map} +1 -1
  379. package/dist/{search-field-DkJrwzJB.js → search-field-nzVXak1a.js} +2 -2
  380. package/dist/{search-field-DkJrwzJB.js.map → search-field-nzVXak1a.js.map} +1 -1
  381. package/dist/search-field.cjs.js +1 -1
  382. package/dist/search-field.es.js +1 -1
  383. package/dist/stepper-D59T-Y2_.mjs +469 -0
  384. package/dist/stepper-D59T-Y2_.mjs.map +1 -0
  385. package/dist/stepper-Dao4XaDV.js +2 -0
  386. package/dist/stepper-Dao4XaDV.js.map +1 -0
  387. package/dist/stepper.cjs.js +1 -1
  388. package/dist/stepper.es.js +1 -1
  389. package/dist/table-DRSgesQ4.mjs +4545 -0
  390. package/dist/table-DRSgesQ4.mjs.map +1 -0
  391. package/dist/table-zBs9JALh.js +5 -0
  392. package/dist/table-zBs9JALh.js.map +1 -0
  393. package/dist/table.cjs.js +1 -1
  394. package/dist/table.es.js +1 -1
  395. package/dist/tabs-D2__wbCs.js +2 -0
  396. package/dist/tabs-D2__wbCs.js.map +1 -0
  397. package/dist/tabs-DOG5g2wf.mjs +440 -0
  398. package/dist/tabs-DOG5g2wf.mjs.map +1 -0
  399. package/dist/tabs.cjs.js +1 -1
  400. package/dist/tabs.es.js +1 -1
  401. package/dist/{text-field-CS0PT5T6.js → text-field-BSgqJjpv.js} +2 -2
  402. package/dist/text-field-BSgqJjpv.js.map +1 -0
  403. package/dist/{text-field-C9LX7LBf.mjs → text-field-MQHeITxy.mjs} +3 -3
  404. package/dist/text-field-MQHeITxy.mjs.map +1 -0
  405. package/dist/text-field.cjs.js +1 -1
  406. package/dist/text-field.es.js +1 -1
  407. package/dist/tooltip-DeP1UsPW.js +2 -0
  408. package/dist/{tooltip-COFCRUKv.js.map → tooltip-DeP1UsPW.js.map} +1 -1
  409. package/dist/{tooltip-FH9R2MAA.mjs → tooltip-bqdd2lJL.mjs} +347 -309
  410. package/dist/{tooltip-FH9R2MAA.mjs.map → tooltip-bqdd2lJL.mjs.map} +1 -1
  411. package/dist/tooltip.cjs.js +1 -1
  412. package/dist/tooltip.es.js +1 -1
  413. package/package.json +25 -25
  414. package/src/aliases.ts +4 -4
  415. package/src/entries.js +1 -1
  416. package/src/{autocomplete.ts → file-upload.ts} +1 -1
  417. package/src/library.ts +1 -1
  418. package/src/purpur.css +4 -0
  419. package/dist/accordion-B6OoQ4uZ.mjs +0 -128
  420. package/dist/accordion-B6OoQ4uZ.mjs.map +0 -1
  421. package/dist/accordion-BfpN5h4C.js +0 -2
  422. package/dist/accordion-BfpN5h4C.js.map +0 -1
  423. package/dist/autocomplete-C6AqdYaZ.mjs +0 -228
  424. package/dist/autocomplete-C6AqdYaZ.mjs.map +0 -1
  425. package/dist/autocomplete-yrPbF5gq.js +0 -2
  426. package/dist/autocomplete-yrPbF5gq.js.map +0 -1
  427. package/dist/autocomplete.cjs.js +0 -2
  428. package/dist/autocomplete.cjs.js.map +0 -1
  429. package/dist/autocomplete.es.js +0 -6
  430. package/dist/autocomplete.es.js.map +0 -1
  431. package/dist/button-DZgtrGqN.js +0 -2
  432. package/dist/button-DZgtrGqN.js.map +0 -1
  433. package/dist/button-EVRfctR8.mjs +0 -109
  434. package/dist/button-EVRfctR8.mjs.map +0 -1
  435. package/dist/card-pdsBEJif.js.map +0 -1
  436. package/dist/card-t2ZkZ82G.mjs.map +0 -1
  437. package/dist/components/autocomplete/src/autocomplete.d.ts +0 -18
  438. package/dist/components/autocomplete/src/autocomplete.d.ts.map +0 -1
  439. package/dist/components/autocomplete/src/useAutocomplete.d.ts +0 -59
  440. package/dist/components/autocomplete/src/useAutocomplete.d.ts.map +0 -1
  441. package/dist/components/autocomplete/src/utils.d.ts +0 -7
  442. package/dist/components/autocomplete/src/utils.d.ts.map +0 -1
  443. package/dist/components/stepper/src/stepper-button.d.ts.map +0 -1
  444. package/dist/content-block-CDMrz41K.mjs.map +0 -1
  445. package/dist/content-block-DyYAnL2e.js.map +0 -1
  446. package/dist/date-range-field-CvzOl-eC.js +0 -2
  447. package/dist/date-range-field-CvzOl-eC.js.map +0 -1
  448. package/dist/date-range-field-DDr-qEGX.mjs.map +0 -1
  449. package/dist/dismissable-chip-group-2updhyuR.js.map +0 -1
  450. package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +0 -1
  451. package/dist/drawer-BnqxUIPM.js +0 -2
  452. package/dist/drawer-BnqxUIPM.js.map +0 -1
  453. package/dist/drawer-Cnk2OKgi.mjs.map +0 -1
  454. package/dist/dropdown-C8VsfTQw.mjs +0 -936
  455. package/dist/dropdown-C8VsfTQw.mjs.map +0 -1
  456. package/dist/dropdown-p4R2yCnJ.js +0 -2
  457. package/dist/dropdown-p4R2yCnJ.js.map +0 -1
  458. package/dist/footer-B8rzVSrZ.js +0 -2
  459. package/dist/footer-B8rzVSrZ.js.map +0 -1
  460. package/dist/footer-D5YkHmCo.mjs.map +0 -1
  461. package/dist/heading-drD5ugCC.js.map +0 -1
  462. package/dist/heading-xwBuT_-9.mjs.map +0 -1
  463. package/dist/hero-banner-BXRArPWP.mjs.map +0 -1
  464. package/dist/hero-banner-CW7DIEZe.js.map +0 -1
  465. package/dist/libraries/library/src/autocomplete.d.ts +0 -6
  466. package/dist/libraries/library/src/autocomplete.d.ts.map +0 -1
  467. package/dist/modal-BuUQrUYJ.mjs.map +0 -1
  468. package/dist/modal-CnC4Zyjk.js.map +0 -1
  469. package/dist/notification-banner-BvAy8dlg.mjs.map +0 -1
  470. package/dist/notification-banner-DUe4fT1r.js +0 -2
  471. package/dist/notification-banner-DUe4fT1r.js.map +0 -1
  472. package/dist/popover-4phnhJLj.js +0 -2
  473. package/dist/popover-4phnhJLj.js.map +0 -1
  474. package/dist/popover-DhObSx97.mjs +0 -1043
  475. package/dist/popover-DhObSx97.mjs.map +0 -1
  476. package/dist/promotion-card-C1UoxzcV.js.map +0 -1
  477. package/dist/promotion-card-CooYPpFo.mjs.map +0 -1
  478. package/dist/quantity-selector-Ds7d4MnV.js +0 -2
  479. package/dist/quantity-selector-Ds7d4MnV.js.map +0 -1
  480. package/dist/quantity-selector-DwkKKmFy.mjs +0 -172
  481. package/dist/quantity-selector-DwkKKmFy.mjs.map +0 -1
  482. package/dist/stepper-5rQ3cK18.js +0 -2
  483. package/dist/stepper-5rQ3cK18.js.map +0 -1
  484. package/dist/stepper-B3p9r3gv.mjs +0 -449
  485. package/dist/stepper-B3p9r3gv.mjs.map +0 -1
  486. package/dist/table-BIyaTsOh.js +0 -9
  487. package/dist/table-BIyaTsOh.js.map +0 -1
  488. package/dist/table-BtymEUG4.mjs +0 -7428
  489. package/dist/table-BtymEUG4.mjs.map +0 -1
  490. package/dist/tabs-Bye5lgZ1.mjs +0 -424
  491. package/dist/tabs-Bye5lgZ1.mjs.map +0 -1
  492. package/dist/tabs-D-nfZHIA.js +0 -2
  493. package/dist/tabs-D-nfZHIA.js.map +0 -1
  494. package/dist/text-field-C9LX7LBf.mjs.map +0 -1
  495. package/dist/text-field-CS0PT5T6.js.map +0 -1
  496. package/dist/tooltip-COFCRUKv.js +0 -2
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),p=require("react"),G=require("./spinner-tKunS_o-.js"),P=require("./text-field-BSgqJjpv.js"),B=require("./bind-DeUYJ6m9.js"),U=require("./button-C5CYysw5.js"),X=require("./minus.es-DtXArdKK.js"),Z=require("./icon-DNHpBTHs-faYHqTXU.js"),J={"purpur-quantity-selector":"_purpur-quantity-selector_19r74_1","purpur-quantity-selector--full-width":"_purpur-quantity-selector--full-width_19r74_25","purpur-quantity-selector--loading":"_purpur-quantity-selector--loading_19r74_31","purpur-quantity-selector--not-disabled":"_purpur-quantity-selector--not-disabled_19r74_34","purpur-quantity-selector--disabled-left":"_purpur-quantity-selector--disabled-left_19r74_39","purpur-quantity-selector--disabled-right":"_purpur-quantity-selector--disabled-right_19r74_43","purpur-quantity-selector--disabled":"_purpur-quantity-selector--disabled_19r74_39","purpur-quantity-selector__spinner":"_purpur-quantity-selector__spinner_19r74_50","purpur-quantity-selector__spinner--full-width":"_purpur-quantity-selector__spinner--full-width_19r74_57"},K={name:"plus",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z" clip-rule="evenodd"/></svg>',keywords:["plus"],category:"utility"},C=s=>e.jsx(Z.b,{...s,svg:K});C.displayName="IconPlus";const L={"purpur-quantity-selector-button":"_purpur-quantity-selector-button_16b4i_1","purpur-quantity-selector-button--right":"_purpur-quantity-selector-button--right_16b4i_4","purpur-quantity-selector-button--left":"_purpur-quantity-selector-button--left_16b4i_7"},Y=B.c.bind(L),g="purpur-quantity-selector-button",W=({["data-testid"]:s,["aria-label"]:m,disabled:f,variant:o,buttonType:r,onClick:x})=>{const _=Y(g,{[`${g}--left`]:r==="decrement",[`${g}--right`]:r==="increment"});return e.jsx(U.Button,{"data-testid":s,className:_,size:"sm",type:"submit",variant:o,onClick:()=>x(r),iconOnly:!0,"aria-label":m,disabled:f,tabIndex:-1,children:r==="increment"?e.jsx(C,{size:"xs"}):e.jsx(X.e,{size:"xs"})})},T=["primary","secondary"],j=B.c.bind(J),n="purpur-quantity-selector",D=p.forwardRef(({["data-testid"]:s,className:m,buttonVariant:f,onChange:o,value:r,defaultValue:x,fullWidth:_,disabled:F,loading:v,minValue:R,maxValue:V,ariaLabelDecrement:E,ariaLabelIncrement:k,...z},H)=>{const[Q,$]=p.useState(x??0),[h,w]=p.useState(Q),i=r!==void 0,a=i?r:h,N=t=>s?`${s}-${t}`:void 0,u=F||v,b=Math.max(R??0,0),y=V??Number.MAX_SAFE_INTEGER,c=a===y,d=a===b;p.useEffect(()=>{i&&$(r)},[r,i]),p.useEffect(()=>{if(!i){const t=setTimeout(()=>{$(h)},300);return()=>clearTimeout(t)}},[h,i,o]);const M=j(m,n,{[`${n}--not-disabled`]:!u&&!d&&!c,[`${n}--disabled-left`]:!u&&!c&&d,[`${n}--disabled-right`]:!u&&!d&&c,[`${n}--disabled`]:u||c&&d,[`${n}--full-width`]:_,[`${n}--loading`]:v}),O=t=>{if(!/^[0-9]*$/.test(t.target.value))return;const q=+t.target.value;q<b||q>y||(i||w(q),o(q))},A=t=>{const l=t==="increment"?a+1:a-1;l<0||(i||w(l),o(l))},S=t=>{const l=t==="increment"&&c||t==="decrement"&&d;return e.jsx(W,{"data-testid":N("button-"+t),variant:f,buttonType:t,onClick:A,disabled:u||l,"aria-label":t==="increment"?k:E})},I=e.jsxs(e.Fragment,{children:[v&&e.jsx("div",{className:j(`${n}__spinner`,{[`${n}__spinner--full-width`]:_}),children:e.jsx(G.Spinner,{disabled:u,size:"xs","data-testid":N("spinner")},"spinner")}),S("decrement")]});return e.jsx(P.TextField,{value:a,type:"number",ref:H,className:M,"data-testid":s,onChange:O,beforeField:I,afterField:S("increment"),disabled:u,min:b,max:y,role:"spinbutton","aria-valuenow":a,"aria-valuemax":y,"aria-valuemin":b,...z})});D.displayName="QuantitySelector";exports.QuantitySelector=D;exports.quantitySelectorButtonVariants=T;
2
+ //# sourceMappingURL=quantity-selector-Cy0aJGGX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quantity-selector-Cy0aJGGX.js","sources":["../../../components/icon/dist/components/plus.es.js","../../../components/quantity-selector/src/quantity-selector-button.tsx","../../../components/quantity-selector/src/quantity-selector.tsx"],"sourcesContent":["import { jsx as s } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"plus\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"plus\"],\n category: \"utility\"\n}, r = (o) => /* @__PURE__ */ s(l, { ...o, svg: e });\nr.displayName = \"IconPlus\";\nexport {\n r as IconPlus\n};\n//# sourceMappingURL=plus.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport { IconPlus } from \"@purpur/icon/plus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector-button.module.scss\";\n\ntype variant = \"primary\" | \"secondary\";\ntype buttonType = \"increment\" | \"decrement\";\n\ntype QuantitySelectorButtonProps = {\n [\"data-testid\"]?: string;\n [\"aria-label\"]: string;\n disabled?: boolean;\n variant: variant;\n buttonType: buttonType;\n onClick: (buttonType: buttonType) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-quantity-selector-button\";\n\nexport const QuantitySelectorButton = ({\n [\"data-testid\"]: dataTestid,\n [\"aria-label\"]: ariaLabel,\n disabled,\n variant,\n buttonType,\n onClick,\n}: QuantitySelectorButtonProps) => {\n const classes = cx(rootClassName, {\n [`${rootClassName}--left`]: buttonType === \"decrement\",\n [`${rootClassName}--right`]: buttonType === \"increment\",\n });\n\n return (\n <Button\n data-testid={dataTestid}\n className={classes}\n size=\"sm\"\n type=\"submit\"\n variant={variant}\n onClick={() => onClick(buttonType)}\n iconOnly={true}\n aria-label={ariaLabel}\n disabled={disabled}\n tabIndex={-1}\n >\n {buttonType === \"increment\" ? <IconPlus size=\"xs\" /> : <IconMinus size=\"xs\" />}\n </Button>\n );\n};\n","import React, { type ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { TextField } from \"@purpur/text-field\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector.module.scss\";\nimport { QuantitySelectorButton } from \"./quantity-selector-button\";\nexport const quantitySelectorButtonVariants = [\"primary\", \"secondary\"] as const;\n\nconst cx = c.bind(styles);\n\ntype ButtonVariant = (typeof quantitySelectorButtonVariants)[number];\n\nexport type QuantitySelectorProps = Omit<BaseProps<\"input\">, \"onChange\" | \"type\"> & {\n buttonVariant: ButtonVariant;\n onChange: (value: number) => void;\n defaultValue?: number;\n ariaLabelIncrement: string;\n ariaLabelDecrement: string;\n /**\n * Used when the component is controlled\n */\n value?: number;\n minValue?: number;\n maxValue?: number;\n label?: string;\n errorText?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n loading?: boolean;\n};\n\nconst rootClassName = \"purpur-quantity-selector\";\n\nexport const QuantitySelector = forwardRef<HTMLInputElement, QuantitySelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n buttonVariant,\n onChange,\n value: controlledValue,\n defaultValue,\n fullWidth,\n disabled,\n loading,\n minValue,\n maxValue,\n ariaLabelDecrement,\n ariaLabelIncrement,\n ...props\n },\n ref\n ) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? 0);\n const [debouncedValue, setDebouncedValue] = useState(uncontrolledValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : debouncedValue;\n\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const isDisabled = disabled || loading;\n const min = Math.max(minValue ?? 0, 0);\n const max = maxValue ?? Number.MAX_SAFE_INTEGER;\n const incrementDisabled = value === max;\n const decrementDisabled = value === min;\n\n useEffect(() => {\n if (isControlled) {\n setUncontrolledValue(controlledValue);\n }\n }, [controlledValue, isControlled]);\n\n useEffect(() => {\n if (!isControlled) {\n const timer = setTimeout(() => {\n setUncontrolledValue(debouncedValue);\n }, 300);\n\n return () => clearTimeout(timer);\n }\n return;\n }, [debouncedValue, isControlled, onChange]);\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--not-disabled`]: !isDisabled && !decrementDisabled && !incrementDisabled,\n [`${rootClassName}--disabled-left`]: !isDisabled && !incrementDisabled && decrementDisabled,\n [`${rootClassName}--disabled-right`]: !isDisabled && !decrementDisabled && incrementDisabled,\n [`${rootClassName}--disabled`]: isDisabled || (incrementDisabled && decrementDisabled),\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--loading`]: loading,\n });\n\n const handleOnChange = (e: ChangeEvent<HTMLInputElement>) => {\n const numericRegex = /^[0-9]*$/;\n if (!numericRegex.test(e.target.value)) {\n return;\n }\n const val = +e.target.value;\n if (val < min || val > max) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(val);\n }\n onChange(val);\n };\n\n const handleOnClick = (adjustmentType: \"increment\" | \"decrement\") => {\n const adjustedValue = adjustmentType === \"increment\" ? value + 1 : value - 1;\n if (adjustedValue < 0) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(adjustedValue);\n }\n onChange(adjustedValue);\n };\n\n const adjustmentButton = (adjustmentType: \"increment\" | \"decrement\") => {\n const buttonDisabled =\n (adjustmentType === \"increment\" && incrementDisabled) ||\n (adjustmentType === \"decrement\" && decrementDisabled);\n\n return (\n <QuantitySelectorButton\n data-testid={getTestId(\"button-\" + adjustmentType)}\n variant={buttonVariant}\n buttonType={adjustmentType}\n onClick={handleOnClick}\n disabled={isDisabled || buttonDisabled}\n aria-label={adjustmentType === \"increment\" ? ariaLabelIncrement : ariaLabelDecrement}\n />\n );\n };\n\n const beforeField = (\n <>\n {loading && (\n <div\n className={cx(`${rootClassName}__spinner`, {\n [`${rootClassName}__spinner--full-width`]: fullWidth,\n })}\n >\n <Spinner\n key=\"spinner\"\n disabled={isDisabled}\n size=\"xs\"\n data-testid={getTestId(\"spinner\")}\n />\n </div>\n )}\n {adjustmentButton(\"decrement\")}\n </>\n );\n\n return (\n <TextField\n value={value}\n type=\"number\"\n ref={ref}\n className={classes}\n data-testid={dataTestId}\n onChange={handleOnChange}\n beforeField={beforeField}\n afterField={adjustmentButton(\"increment\")}\n disabled={isDisabled}\n min={min}\n max={max}\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n {...props}\n />\n );\n }\n);\n\nQuantitySelector.displayName = \"QuantitySelector\";\n"],"names":["e","r","o","s","l","cx","c","styles","rootClassName","QuantitySelectorButton","dataTestid","ariaLabel","disabled","variant","buttonType","onClick","classes","jsx","Button","IconPlus","IconMinus","quantitySelectorButtonVariants","QuantitySelector","forwardRef","dataTestId","className","buttonVariant","onChange","controlledValue","defaultValue","fullWidth","loading","minValue","maxValue","ariaLabelDecrement","ariaLabelIncrement","props","ref","uncontrolledValue","setUncontrolledValue","useState","debouncedValue","setDebouncedValue","isControlled","value","getTestId","name","isDisabled","min","max","incrementDisabled","decrementDisabled","useEffect","timer","handleOnChange","val","handleOnClick","adjustmentType","adjustedValue","adjustmentButton","buttonDisabled","beforeField","jsxs","Fragment","Spinner","TextField"],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import { jsx as n, jsxs as P, Fragment as U } from "react/jsx-runtime";
2
+ import { forwardRef as X, useState as C, useEffect as S } from "react";
3
+ import { a as Z } from "./spinner-DRQN6YdK.mjs";
4
+ import { T as j } from "./text-field-MQHeITxy.mjs";
5
+ import { c as D } from "./bind-CU-R61T-.mjs";
6
+ import { b as J } from "./button-mHw_J7JU.mjs";
7
+ import { e as K } from "./minus.es-BK9qA9iJ.mjs";
8
+ import { b as L } from "./icon-DNHpBTHs-JfI8WyiR.mjs";
9
+ const Y = {
10
+ "purpur-quantity-selector": "_purpur-quantity-selector_19r74_1",
11
+ "purpur-quantity-selector--full-width": "_purpur-quantity-selector--full-width_19r74_25",
12
+ "purpur-quantity-selector--loading": "_purpur-quantity-selector--loading_19r74_31",
13
+ "purpur-quantity-selector--not-disabled": "_purpur-quantity-selector--not-disabled_19r74_34",
14
+ "purpur-quantity-selector--disabled-left": "_purpur-quantity-selector--disabled-left_19r74_39",
15
+ "purpur-quantity-selector--disabled-right": "_purpur-quantity-selector--disabled-right_19r74_43",
16
+ "purpur-quantity-selector--disabled": "_purpur-quantity-selector--disabled_19r74_39",
17
+ "purpur-quantity-selector__spinner": "_purpur-quantity-selector__spinner_19r74_50",
18
+ "purpur-quantity-selector__spinner--full-width": "_purpur-quantity-selector__spinner--full-width_19r74_57"
19
+ }, W = {
20
+ name: "plus",
21
+ svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z" clip-rule="evenodd"/></svg>',
22
+ keywords: ["plus"],
23
+ category: "utility"
24
+ }, F = (i) => /* @__PURE__ */ n(L, { ...i, svg: W });
25
+ F.displayName = "IconPlus";
26
+ const T = {
27
+ "purpur-quantity-selector-button": "_purpur-quantity-selector-button_16b4i_1",
28
+ "purpur-quantity-selector-button--right": "_purpur-quantity-selector-button--right_16b4i_4",
29
+ "purpur-quantity-selector-button--left": "_purpur-quantity-selector-button--left_16b4i_7"
30
+ }, tt = D.bind(T), g = "purpur-quantity-selector-button", et = ({
31
+ ["data-testid"]: i,
32
+ ["aria-label"]: y,
33
+ disabled: f,
34
+ variant: o,
35
+ buttonType: e,
36
+ onClick: q
37
+ }) => {
38
+ const p = tt(g, {
39
+ [`${g}--left`]: e === "decrement",
40
+ [`${g}--right`]: e === "increment"
41
+ });
42
+ return /* @__PURE__ */ n(
43
+ J,
44
+ {
45
+ "data-testid": i,
46
+ className: p,
47
+ size: "sm",
48
+ type: "submit",
49
+ variant: o,
50
+ onClick: () => q(e),
51
+ iconOnly: !0,
52
+ "aria-label": y,
53
+ disabled: f,
54
+ tabIndex: -1,
55
+ children: e === "increment" ? /* @__PURE__ */ n(F, { size: "xs" }) : /* @__PURE__ */ n(K, { size: "xs" })
56
+ }
57
+ );
58
+ }, dt = ["primary", "secondary"], B = D.bind(Y), r = "purpur-quantity-selector", rt = X(
59
+ ({
60
+ ["data-testid"]: i,
61
+ className: y,
62
+ buttonVariant: f,
63
+ onChange: o,
64
+ value: e,
65
+ defaultValue: q,
66
+ fullWidth: p,
67
+ disabled: V,
68
+ loading: v,
69
+ minValue: k,
70
+ maxValue: z,
71
+ ariaLabelDecrement: E,
72
+ ariaLabelIncrement: Q,
73
+ ...R
74
+ }, M) => {
75
+ const [O, x] = C(q ?? 0), [h, $] = C(O), s = e !== void 0, a = s ? e : h, w = (t) => i ? `${i}-${t}` : void 0, u = V || v, _ = Math.max(k ?? 0, 0), m = z ?? Number.MAX_SAFE_INTEGER, c = a === m, d = a === _;
76
+ S(() => {
77
+ s && x(e);
78
+ }, [e, s]), S(() => {
79
+ if (!s) {
80
+ const t = setTimeout(() => {
81
+ x(h);
82
+ }, 300);
83
+ return () => clearTimeout(t);
84
+ }
85
+ }, [h, s, o]);
86
+ const A = B(y, r, {
87
+ [`${r}--not-disabled`]: !u && !d && !c,
88
+ [`${r}--disabled-left`]: !u && !c && d,
89
+ [`${r}--disabled-right`]: !u && !d && c,
90
+ [`${r}--disabled`]: u || c && d,
91
+ [`${r}--full-width`]: p,
92
+ [`${r}--loading`]: v
93
+ }), H = (t) => {
94
+ if (!/^[0-9]*$/.test(t.target.value))
95
+ return;
96
+ const b = +t.target.value;
97
+ b < _ || b > m || (s || $(b), o(b));
98
+ }, I = (t) => {
99
+ const l = t === "increment" ? a + 1 : a - 1;
100
+ l < 0 || (s || $(l), o(l));
101
+ }, N = (t) => {
102
+ const l = t === "increment" && c || t === "decrement" && d;
103
+ return /* @__PURE__ */ n(
104
+ et,
105
+ {
106
+ "data-testid": w("button-" + t),
107
+ variant: f,
108
+ buttonType: t,
109
+ onClick: I,
110
+ disabled: u || l,
111
+ "aria-label": t === "increment" ? Q : E
112
+ }
113
+ );
114
+ }, G = /* @__PURE__ */ P(U, { children: [
115
+ v && /* @__PURE__ */ n(
116
+ "div",
117
+ {
118
+ className: B(`${r}__spinner`, {
119
+ [`${r}__spinner--full-width`]: p
120
+ }),
121
+ children: /* @__PURE__ */ n(
122
+ Z,
123
+ {
124
+ disabled: u,
125
+ size: "xs",
126
+ "data-testid": w("spinner")
127
+ },
128
+ "spinner"
129
+ )
130
+ }
131
+ ),
132
+ N("decrement")
133
+ ] });
134
+ return /* @__PURE__ */ n(
135
+ j,
136
+ {
137
+ value: a,
138
+ type: "number",
139
+ ref: M,
140
+ className: A,
141
+ "data-testid": i,
142
+ onChange: H,
143
+ beforeField: G,
144
+ afterField: N("increment"),
145
+ disabled: u,
146
+ min: _,
147
+ max: m,
148
+ role: "spinbutton",
149
+ "aria-valuenow": a,
150
+ "aria-valuemax": m,
151
+ "aria-valuemin": _,
152
+ ...R
153
+ }
154
+ );
155
+ }
156
+ );
157
+ rt.displayName = "QuantitySelector";
158
+ export {
159
+ rt as Q,
160
+ dt as q
161
+ };
162
+ //# sourceMappingURL=quantity-selector-k6ZaVrk1.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quantity-selector-k6ZaVrk1.mjs","sources":["../../../components/icon/dist/components/plus.es.js","../../../components/quantity-selector/src/quantity-selector-button.tsx","../../../components/quantity-selector/src/quantity-selector.tsx"],"sourcesContent":["import { jsx as s } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"plus\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"plus\"],\n category: \"utility\"\n}, r = (o) => /* @__PURE__ */ s(l, { ...o, svg: e });\nr.displayName = \"IconPlus\";\nexport {\n r as IconPlus\n};\n//# sourceMappingURL=plus.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport { IconPlus } from \"@purpur/icon/plus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector-button.module.scss\";\n\ntype variant = \"primary\" | \"secondary\";\ntype buttonType = \"increment\" | \"decrement\";\n\ntype QuantitySelectorButtonProps = {\n [\"data-testid\"]?: string;\n [\"aria-label\"]: string;\n disabled?: boolean;\n variant: variant;\n buttonType: buttonType;\n onClick: (buttonType: buttonType) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-quantity-selector-button\";\n\nexport const QuantitySelectorButton = ({\n [\"data-testid\"]: dataTestid,\n [\"aria-label\"]: ariaLabel,\n disabled,\n variant,\n buttonType,\n onClick,\n}: QuantitySelectorButtonProps) => {\n const classes = cx(rootClassName, {\n [`${rootClassName}--left`]: buttonType === \"decrement\",\n [`${rootClassName}--right`]: buttonType === \"increment\",\n });\n\n return (\n <Button\n data-testid={dataTestid}\n className={classes}\n size=\"sm\"\n type=\"submit\"\n variant={variant}\n onClick={() => onClick(buttonType)}\n iconOnly={true}\n aria-label={ariaLabel}\n disabled={disabled}\n tabIndex={-1}\n >\n {buttonType === \"increment\" ? <IconPlus size=\"xs\" /> : <IconMinus size=\"xs\" />}\n </Button>\n );\n};\n","import React, { type ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { TextField } from \"@purpur/text-field\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector.module.scss\";\nimport { QuantitySelectorButton } from \"./quantity-selector-button\";\nexport const quantitySelectorButtonVariants = [\"primary\", \"secondary\"] as const;\n\nconst cx = c.bind(styles);\n\ntype ButtonVariant = (typeof quantitySelectorButtonVariants)[number];\n\nexport type QuantitySelectorProps = Omit<BaseProps<\"input\">, \"onChange\" | \"type\"> & {\n buttonVariant: ButtonVariant;\n onChange: (value: number) => void;\n defaultValue?: number;\n ariaLabelIncrement: string;\n ariaLabelDecrement: string;\n /**\n * Used when the component is controlled\n */\n value?: number;\n minValue?: number;\n maxValue?: number;\n label?: string;\n errorText?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n loading?: boolean;\n};\n\nconst rootClassName = \"purpur-quantity-selector\";\n\nexport const QuantitySelector = forwardRef<HTMLInputElement, QuantitySelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n buttonVariant,\n onChange,\n value: controlledValue,\n defaultValue,\n fullWidth,\n disabled,\n loading,\n minValue,\n maxValue,\n ariaLabelDecrement,\n ariaLabelIncrement,\n ...props\n },\n ref\n ) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? 0);\n const [debouncedValue, setDebouncedValue] = useState(uncontrolledValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : debouncedValue;\n\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const isDisabled = disabled || loading;\n const min = Math.max(minValue ?? 0, 0);\n const max = maxValue ?? Number.MAX_SAFE_INTEGER;\n const incrementDisabled = value === max;\n const decrementDisabled = value === min;\n\n useEffect(() => {\n if (isControlled) {\n setUncontrolledValue(controlledValue);\n }\n }, [controlledValue, isControlled]);\n\n useEffect(() => {\n if (!isControlled) {\n const timer = setTimeout(() => {\n setUncontrolledValue(debouncedValue);\n }, 300);\n\n return () => clearTimeout(timer);\n }\n return;\n }, [debouncedValue, isControlled, onChange]);\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--not-disabled`]: !isDisabled && !decrementDisabled && !incrementDisabled,\n [`${rootClassName}--disabled-left`]: !isDisabled && !incrementDisabled && decrementDisabled,\n [`${rootClassName}--disabled-right`]: !isDisabled && !decrementDisabled && incrementDisabled,\n [`${rootClassName}--disabled`]: isDisabled || (incrementDisabled && decrementDisabled),\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--loading`]: loading,\n });\n\n const handleOnChange = (e: ChangeEvent<HTMLInputElement>) => {\n const numericRegex = /^[0-9]*$/;\n if (!numericRegex.test(e.target.value)) {\n return;\n }\n const val = +e.target.value;\n if (val < min || val > max) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(val);\n }\n onChange(val);\n };\n\n const handleOnClick = (adjustmentType: \"increment\" | \"decrement\") => {\n const adjustedValue = adjustmentType === \"increment\" ? value + 1 : value - 1;\n if (adjustedValue < 0) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(adjustedValue);\n }\n onChange(adjustedValue);\n };\n\n const adjustmentButton = (adjustmentType: \"increment\" | \"decrement\") => {\n const buttonDisabled =\n (adjustmentType === \"increment\" && incrementDisabled) ||\n (adjustmentType === \"decrement\" && decrementDisabled);\n\n return (\n <QuantitySelectorButton\n data-testid={getTestId(\"button-\" + adjustmentType)}\n variant={buttonVariant}\n buttonType={adjustmentType}\n onClick={handleOnClick}\n disabled={isDisabled || buttonDisabled}\n aria-label={adjustmentType === \"increment\" ? ariaLabelIncrement : ariaLabelDecrement}\n />\n );\n };\n\n const beforeField = (\n <>\n {loading && (\n <div\n className={cx(`${rootClassName}__spinner`, {\n [`${rootClassName}__spinner--full-width`]: fullWidth,\n })}\n >\n <Spinner\n key=\"spinner\"\n disabled={isDisabled}\n size=\"xs\"\n data-testid={getTestId(\"spinner\")}\n />\n </div>\n )}\n {adjustmentButton(\"decrement\")}\n </>\n );\n\n return (\n <TextField\n value={value}\n type=\"number\"\n ref={ref}\n className={classes}\n data-testid={dataTestId}\n onChange={handleOnChange}\n beforeField={beforeField}\n afterField={adjustmentButton(\"increment\")}\n disabled={isDisabled}\n min={min}\n max={max}\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n {...props}\n />\n );\n }\n);\n\nQuantitySelector.displayName = \"QuantitySelector\";\n"],"names":["e","r","o","s","l","cx","c","styles","rootClassName","QuantitySelectorButton","dataTestid","ariaLabel","disabled","variant","buttonType","onClick","classes","jsx","Button","IconPlus","IconMinus","quantitySelectorButtonVariants","QuantitySelector","forwardRef","dataTestId","className","buttonVariant","onChange","controlledValue","defaultValue","fullWidth","loading","minValue","maxValue","ariaLabelDecrement","ariaLabelIncrement","props","ref","uncontrolledValue","setUncontrolledValue","useState","debouncedValue","setDebouncedValue","isControlled","value","getTestId","name","isDisabled","min","max","incrementDisabled","decrementDisabled","useEffect","timer","handleOnChange","val","handleOnClick","adjustmentType","adjustedValue","adjustmentButton","buttonDisabled","beforeField","jsxs","Fragment","Spinner","TextField"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./quantity-selector-Ds7d4MnV.js");exports.QuantitySelector=t.QuantitySelector;exports.quantitySelectorButtonVariants=t.quantitySelectorButtonVariants;exports.quantitySelectorVariants=t.quantitySelectorVariants;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./quantity-selector-Cy0aJGGX.js");exports.QuantitySelector=t.QuantitySelector;exports.quantitySelectorButtonVariants=t.quantitySelectorButtonVariants;
2
2
  //# sourceMappingURL=quantity-selector.cjs.js.map
@@ -1,7 +1,6 @@
1
- import { Q as e, q as r, a as n } from "./quantity-selector-DwkKKmFy.mjs";
1
+ import { Q as e, q as o } from "./quantity-selector-k6ZaVrk1.mjs";
2
2
  export {
3
3
  e as QuantitySelector,
4
- r as quantitySelectorButtonVariants,
5
- n as quantitySelectorVariants
4
+ o as quantitySelectorButtonVariants
6
5
  };
7
6
  //# sourceMappingURL=quantity-selector.es.js.map
@@ -3,7 +3,7 @@ import * as u from "react";
3
3
  import { createElement as Et, createContext as pn, useContext as gn, forwardRef as nt } from "react";
4
4
  import { c as At } from "./bind-CU-R61T-.mjs";
5
5
  import * as mn from "react-dom";
6
- import { H as hn } from "./heading-xwBuT_-9.mjs";
6
+ import { H as hn } from "./heading-BG7JTFO1.mjs";
7
7
  const bn = () => {
8
8
  }, K = typeof document < "u" ? u.useLayoutEffect : bn, ue = {
9
9
  ...u
@@ -2532,4 +2532,4 @@ export {
2532
2532
  uo as a,
2533
2533
  ln as b
2534
2534
  };
2535
- //# sourceMappingURL=radio-button-group-D_F6kWD6.mjs.map
2535
+ //# sourceMappingURL=radio-button-group-DjiTo3b1.mjs.map