@purpur/library 9.10.1 → 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 (496) hide show
  1. package/CHANGELOG.json +106 -0
  2. package/CHANGELOG.md +44 -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
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./tooltip-COFCRUKv.js");exports.TOOLTIP_ALIGN=O.TOOLTIP_ALIGN;exports.TOOLTIP_POSITION=O.TOOLTIP_POSITION;exports.Tooltip=O.Tooltip;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./tooltip-DeP1UsPW.js");exports.TOOLTIP_ALIGN=O.TOOLTIP_ALIGN;exports.TOOLTIP_POSITION=O.TOOLTIP_POSITION;exports.Tooltip=O.Tooltip;
2
2
  //# sourceMappingURL=tooltip.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { T as I, a, b as o } from "./tooltip-FH9R2MAA.mjs";
1
+ import { T as I, a, b as o } from "./tooltip-bqdd2lJL.mjs";
2
2
  export {
3
3
  I as TOOLTIP_ALIGN,
4
4
  a as TOOLTIP_POSITION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpur/library",
3
- "version": "9.10.1",
3
+ "version": "10.0.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "sideEffects": [
6
6
  "*.css",
@@ -116,77 +116,77 @@
116
116
  "@purpur/accordion": "8.21.0",
117
117
  "@purpur/action": "8.21.0",
118
118
  "@purpur/alert-badge": "8.21.0",
119
- "@purpur/autocomplete": "8.21.0",
120
119
  "@purpur/badge": "8.21.0",
121
120
  "@purpur/breadcrumbs": "8.21.0",
122
121
  "@purpur/button": "8.21.0",
123
- "@purpur/calendar": "8.21.0",
124
122
  "@purpur/card": "8.21.0",
125
- "@purpur/chip-group": "8.21.0",
126
123
  "@purpur/checkbox": "8.21.0",
127
- "@purpur/common-types": "8.21.0",
124
+ "@purpur/calendar": "8.21.0",
128
125
  "@purpur/color-dot": "8.21.0",
126
+ "@purpur/chip-group": "8.21.0",
127
+ "@purpur/common-types": "8.21.0",
129
128
  "@purpur/component-rig": "1.0.0",
130
129
  "@purpur/container": "8.21.0",
131
130
  "@purpur/content-block": "8.21.0",
132
131
  "@purpur/countdown": "8.21.0",
133
- "@purpur/country-flag-icon": "1.0.0",
134
132
  "@purpur/counter-badge": "8.21.0",
133
+ "@purpur/country-flag-icon": "1.0.0",
135
134
  "@purpur/cta-link": "8.21.0",
136
- "@purpur/date-field": "8.21.0",
137
135
  "@purpur/date-picker": "8.21.0",
136
+ "@purpur/date-field": "8.21.0",
138
137
  "@purpur/drawer": "8.21.0",
139
- "@purpur/field-error-text": "8.21.0",
140
138
  "@purpur/dismissable-chip-group": "8.21.0",
139
+ "@purpur/field-error-text": "8.21.0",
141
140
  "@purpur/field-helper-text": "8.21.0",
142
- "@purpur/heading": "8.21.0",
143
- "@purpur/hero-banner": "8.21.0",
144
141
  "@purpur/footer": "8.21.0",
145
142
  "@purpur/grid": "8.21.0",
146
143
  "@purpur/icon": "8.21.0",
147
- "@purpur/link": "8.21.0",
144
+ "@purpur/hero-banner": "8.21.0",
145
+ "@purpur/heading": "8.21.0",
148
146
  "@purpur/illustrative-icon": "8.21.0",
149
147
  "@purpur/label": "8.21.0",
150
148
  "@purpur/listbox": "8.21.0",
151
- "@purpur/logo": "8.21.0",
149
+ "@purpur/link": "8.21.0",
152
150
  "@purpur/modal": "8.21.0",
151
+ "@purpur/logo": "8.21.0",
153
152
  "@purpur/notification": "8.21.0",
154
153
  "@purpur/notification-banner": "8.21.0",
155
- "@purpur/pagination": "8.21.0",
156
154
  "@purpur/password-field": "8.21.0",
157
155
  "@purpur/paragraph": "8.21.0",
156
+ "@purpur/pagination": "8.21.0",
158
157
  "@purpur/popover": "8.21.0",
159
- "@purpur/promotion-card": "8.21.0",
160
158
  "@purpur/product-card": "8.21.0",
161
- "@purpur/radio-button-group": "8.21.0",
159
+ "@purpur/promotion-card": "8.21.0",
162
160
  "@purpur/quantity-selector": "8.21.0",
163
161
  "@purpur/radio-card-group": "8.21.0",
162
+ "@purpur/radio-button-group": "8.21.0",
164
163
  "@purpur/rich-text": "8.21.0",
165
164
  "@purpur/search-field": "8.21.0",
166
- "@purpur/skeleton": "8.21.0",
167
165
  "@purpur/select": "8.21.0",
168
- "@purpur/slider": "8.21.0",
169
166
  "@purpur/spacer": "8.21.0",
167
+ "@purpur/skeleton": "8.21.0",
168
+ "@purpur/slider": "8.21.0",
170
169
  "@purpur/spinner": "8.21.0",
171
- "@purpur/table": "8.21.0",
172
170
  "@purpur/stepper": "8.21.0",
173
- "@purpur/text-area": "8.21.0",
171
+ "@purpur/table": "8.21.0",
174
172
  "@purpur/tabs": "8.21.0",
173
+ "@purpur/text-area": "8.21.0",
175
174
  "@purpur/text-field": "8.21.0",
176
175
  "@purpur/text-spacing": "8.21.0",
177
- "@purpur/theme": "8.21.0",
178
- "@purpur/tokens": "8.21.0",
179
176
  "@purpur/toggle": "8.21.0",
180
- "@purpur/tooltip": "8.21.0",
177
+ "@purpur/tokens": "8.21.0",
181
178
  "@purpur/visually-hidden": "8.21.0",
179
+ "@purpur/tooltip": "8.21.0",
182
180
  "@purpur/chat-field": "9.4.2",
181
+ "@purpur/theme": "8.21.0",
183
182
  "@purpur/dropdown": "0.1.0",
184
- "@purpur/comparison-table": "8.21.0",
185
183
  "@purpur/carousel": "8.21.0",
184
+ "@purpur/comparison-table": "8.21.0",
185
+ "@purpur/avatar": "1.0.0",
186
186
  "@purpur/date-range-field": "8.21.0",
187
187
  "@purpur/loading": "1.0.0",
188
- "@purpur/avatar": "1.0.0",
189
- "@purpur/message": "1.0.0"
188
+ "@purpur/message": "1.0.0",
189
+ "@purpur/file-upload": "0.1.0"
190
190
  },
191
191
  "peerDependencies": {
192
192
  "@types/react": "^18 || ^19",
package/src/aliases.ts CHANGED
@@ -17,10 +17,6 @@ export const aliases = [
17
17
  find: /^@purpur\/alert-badge$/,
18
18
  replacement: resolve(__dirname, "../../../components/alert-badge/src/alert-badge.tsx"),
19
19
  },
20
- {
21
- find: /^@purpur\/autocomplete$/,
22
- replacement: resolve(__dirname, "../../../components/autocomplete/src/autocomplete.tsx"),
23
- },
24
20
  {
25
21
  find: /^@purpur\/avatar$/,
26
22
  replacement: resolve(__dirname, "../../../components/avatar/src/avatar.tsx"),
@@ -136,6 +132,10 @@ export const aliases = [
136
132
  "../../../components/field-helper-text/src/field-helper-text.tsx"
137
133
  ),
138
134
  },
135
+ {
136
+ find: /^@purpur\/file-upload$/,
137
+ replacement: resolve(__dirname, "../../../components/file-upload/src/file-upload.tsx"),
138
+ },
139
139
  {
140
140
  find: /^@purpur\/footer$/,
141
141
  replacement: resolve(__dirname, "../../../components/footer/src/footer.tsx"),
package/src/entries.js CHANGED
@@ -6,7 +6,6 @@
6
6
  export const entries = [
7
7
  "accordion",
8
8
  "alert-badge",
9
- "autocomplete",
10
9
  "avatar",
11
10
  "badge",
12
11
  "breadcrumbs",
@@ -32,6 +31,7 @@ export const entries = [
32
31
  "dropdown",
33
32
  "field-error-text",
34
33
  "field-helper-text",
34
+ "file-upload",
35
35
  "footer",
36
36
  "grid",
37
37
  "heading",
@@ -3,4 +3,4 @@
3
3
  * This file is automatically generated, do not edit it manually
4
4
  */
5
5
 
6
- export * from "@purpur/autocomplete";
6
+ export * from "@purpur/file-upload";
package/src/library.ts CHANGED
@@ -11,7 +11,6 @@ import "@purpur/country-flag-icon/styles";
11
11
 
12
12
  export * from "@purpur/accordion";
13
13
  export * from "@purpur/alert-badge";
14
- export * from "@purpur/autocomplete";
15
14
  export * from "@purpur/avatar";
16
15
  export * from "@purpur/badge";
17
16
  export * from "@purpur/breadcrumbs";
@@ -37,6 +36,7 @@ export * from "@purpur/drawer";
37
36
  export * from "@purpur/dropdown";
38
37
  export * from "@purpur/field-error-text";
39
38
  export * from "@purpur/field-helper-text";
39
+ export * from "@purpur/file-upload";
40
40
  export * from "@purpur/footer";
41
41
  export * from "@purpur/grid";
42
42
  export * from "@purpur/heading";
package/src/purpur.css CHANGED
@@ -1 +1,5 @@
1
1
  @import "@purpur/tokens/index.css";
2
+
3
+ :root {
4
+ --purpur-rescale: 1;
5
+ }
@@ -1,128 +0,0 @@
1
- import { jsxs as g, jsx as t } from "react/jsx-runtime";
2
- import { useContext as A, useId as C, useState as H, createContext as I } from "react";
3
- import { H as v } from "./heading-xwBuT_-9.mjs";
4
- import { c as x } from "./bind-CU-R61T-.mjs";
5
- import { l as j } from "./chevron-down.es-PCIIj6oG.mjs";
6
- import { P } from "./paragraph-CwAdFoIm.mjs";
7
- const S = {
8
- "purpur-accordion": "_purpur-accordion_mwmy0_1",
9
- "purpur-accordion__title": "_purpur-accordion__title_mwmy0_4",
10
- "purpur-accordion--negative": "_purpur-accordion--negative_mwmy0_13"
11
- }, z = {
12
- "purpur-accordion-item": "_purpur-accordion-item_mnhg5_1",
13
- "purpur-accordion-item__trigger": "_purpur-accordion-item__trigger_mnhg5_4",
14
- "purpur-accordion-item__header": "_purpur-accordion-item__header_mnhg5_10",
15
- "purpur-accordion-item__trigger__icon": "_purpur-accordion-item__trigger__icon_mnhg5_43",
16
- "purpur-accordion-item__title": "_purpur-accordion-item__title_mnhg5_49",
17
- "purpur-accordion-item__icon": "_purpur-accordion-item__icon_mnhg5_50",
18
- "purpur-accordion-item__rotate": "_purpur-accordion-item__rotate_mnhg5_64",
19
- "purpur-accordion-item__content": "_purpur-accordion-item__content_mnhg5_67",
20
- "purpur-accordion-item__contentText": "_purpur-accordion-item__contentText_mnhg5_82",
21
- "purpur-accordion-item__contentText--limit-width": "_purpur-accordion-item__contentText--limit-width_mnhg5_85",
22
- "purpur-accordion-item--negative": "_purpur-accordion-item--negative_mnhg5_107"
23
- }, i = x.bind(z), r = "purpur-accordion-item", L = ({
24
- children: o,
25
- className: n,
26
- fullWidth: a = !1,
27
- title: _,
28
- titleTag: m = "h3",
29
- initialOpen: s = !1,
30
- onClick: c,
31
- onOpen: p,
32
- onClose: d,
33
- ...y
34
- }) => {
35
- const N = A($), u = C(), [e, b] = H(!s), T = i([
36
- r,
37
- {
38
- [`${r}--negative`]: N
39
- },
40
- n
41
- ]);
42
- return /* @__PURE__ */ g("div", { className: T, ...y, children: [
43
- /* @__PURE__ */ t(
44
- v,
45
- {
46
- tag: m,
47
- variant: "title-100",
48
- className: i([`${r}__header`, `${r}__title`]),
49
- children: /* @__PURE__ */ g(
50
- "button",
51
- {
52
- type: "button",
53
- "data-state": e ? "open" : "close",
54
- onClick: (w) => {
55
- c && c(w), e ? p && p() : d && d(), b(!e);
56
- },
57
- className: i(`${r}__trigger`, n, {
58
- [`${r}__rotate`]: !e
59
- }),
60
- "aria-expanded": !e,
61
- "aria-controls": u,
62
- id: u + "button",
63
- children: [
64
- _,
65
- /* @__PURE__ */ t(j, { size: "md", className: i(`${r}__icon`), "aria-hidden": !0 })
66
- ]
67
- }
68
- )
69
- }
70
- ),
71
- /* @__PURE__ */ t(
72
- "div",
73
- {
74
- className: i(`${r}__content`, n),
75
- "aria-hidden": e,
76
- id: u,
77
- "aria-labelledby": u + "button",
78
- role: "region",
79
- children: /* @__PURE__ */ t(
80
- "div",
81
- {
82
- className: i(`${r}__contentText`, {
83
- [`${r}__contentText--limit-width`]: !a
84
- }),
85
- children: typeof o == "string" ? /* @__PURE__ */ t(P, { variant: "paragraph-200", children: o }) : o
86
- }
87
- )
88
- }
89
- )
90
- ] });
91
- }, h = x.bind(S), l = "purpur-accordion", $ = I(!1), f = ({
92
- children: o,
93
- className: n,
94
- negative: a = !1,
95
- title: _,
96
- titleTag: m = "h2",
97
- titleVariant: s = "display-15",
98
- schema: c,
99
- ...p
100
- }) => {
101
- const d = h([
102
- l,
103
- {
104
- [`${l}--negative`]: a
105
- },
106
- n
107
- ]);
108
- return /* @__PURE__ */ g("div", { className: d, ...p, children: [
109
- _ && /* @__PURE__ */ t(v, { tag: m, variant: s, className: h(`${l}__title`), children: _ }),
110
- /* @__PURE__ */ t($.Provider, { value: a, children: o }),
111
- c && /* @__PURE__ */ t(
112
- "script",
113
- {
114
- type: "application/ld+json",
115
- dangerouslySetInnerHTML: {
116
- __html: c
117
- }
118
- }
119
- )
120
- ] });
121
- };
122
- f.Item = L;
123
- f.displayName = "Accordion";
124
- export {
125
- f as A,
126
- $ as a
127
- };
128
- //# sourceMappingURL=accordion-B6OoQ4uZ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion-B6OoQ4uZ.mjs","sources":["../../../components/accordion/src/accordion-item.tsx","../../../components/accordion/src/accordion.tsx"],"sourcesContent":["import React, { type ReactNode, useContext, useId, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport { IconChevronDown } from \"@purpur/icon/chevron-down\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport { AccordionNegativeContext } from \"./accordion\";\nimport styles from \"./accordion-item.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-accordion-item\";\n\nexport type AccordionItemOnClickEvent = React.MouseEvent<HTMLButtonElement, MouseEvent> & {\n currentTarget: { dataset: { state: \"open\" | \"closed\" } };\n};\n\nexport type AccordionItemProps = Omit<BaseProps, \"onClick\" | \"title\" | \"children\"> & {\n children: ReactNode;\n /**\n * If true, the children will take the full width without max-width constraint.\n * @default false\n */\n fullWidth?: boolean;\n /**\n * Content to be rendered inside a `button` element.\n * Only pass ReactNodes that are valid as children of a `button`, such as plain text,\n * inline elements like `span` or other non-interactive elements. Avoid block-level or interactive elements.\n */\n title: ReactNode;\n /**\n * This is the heading tag used for the accordion item title. Defaults to h3.\n * `type HeadingTagType = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"`\n */\n titleTag?: HeadingTagType;\n /**\n * Makes it possible to set the initial state to opened\n * */\n initialOpen?: boolean;\n /**\n * onClick is called when accordion item is expanded or collapsed\n * event.currentTarget.dataset.state will be either \"open\" or \"closed\"\n */\n onClick?: (event: AccordionItemOnClickEvent) => void;\n onOpen?: () => void;\n onClose?: () => void;\n};\n\nexport const AccordionItem = ({\n children,\n className,\n fullWidth = false,\n title,\n titleTag = \"h3\",\n initialOpen = false,\n onClick,\n onOpen,\n onClose,\n ...props\n}: AccordionItemProps) => {\n const negative = useContext(AccordionNegativeContext);\n const uid = useId();\n const [hidden, setHidden] = useState(!initialOpen);\n\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <Heading\n tag={titleTag}\n variant=\"title-100\"\n className={cx([`${rootClassName}__header`, `${rootClassName}__title`])}\n >\n <button\n type=\"button\"\n data-state={hidden ? \"open\" : \"close\"} // The state is actually set in the onClick, so reversing the data- output state here\n onClick={(e: AccordionItemOnClickEvent) => {\n onClick && onClick(e);\n if (hidden) {\n onOpen && onOpen();\n } else {\n onClose && onClose();\n }\n setHidden(!hidden);\n }}\n className={cx(`${rootClassName}__trigger`, className, {\n [`${rootClassName}__rotate`]: !hidden,\n })}\n aria-expanded={!hidden}\n aria-controls={uid}\n id={uid + \"button\"}\n >\n {title}\n <IconChevronDown size=\"md\" className={cx(`${rootClassName}__icon`)} aria-hidden />\n </button>\n </Heading>\n <div\n className={cx(`${rootClassName}__content`, className)}\n aria-hidden={hidden}\n id={uid}\n aria-labelledby={uid + \"button\"}\n role=\"region\"\n >\n <div\n className={cx(`${rootClassName}__contentText`, {\n [`${rootClassName}__contentText--limit-width`]: !fullWidth,\n })}\n >\n {typeof children === \"string\" ? (\n <Paragraph variant=\"paragraph-200\">{children}</Paragraph>\n ) : (\n children\n )}\n </div>\n </div>\n </div>\n );\n};\n","import React, { createContext, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType, type HeadingVariant } from \"@purpur/heading\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./accordion.module.scss\";\nimport { AccordionItem } from \"./accordion-item\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-accordion\";\n\nexport type AccordionProps = Omit<BaseProps, \"title\" | \"children\"> & {\n children: ReactNode;\n negative?: boolean;\n title?: ReactNode;\n titleTag?: HeadingTagType;\n titleVariant?: HeadingVariant;\n /**\n * A schema enables external applications to parse the content in a structured manner.\n * See more at schema.org . We use a JSON-LD based script-tag to add the schema to the DOM.\n * Note that only one type of schema can be added per page\n */\n schema?: string;\n};\n\nexport const AccordionNegativeContext = createContext(false);\n\nexport const Accordion = ({\n children,\n className,\n negative = false,\n title,\n titleTag = \"h2\",\n titleVariant = \"display-15\",\n schema,\n ...props\n}: AccordionProps) => {\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n {title && (\n <Heading tag={titleTag} variant={titleVariant} className={cx(`${rootClassName}__title`)}>\n {title}\n </Heading>\n )}\n <AccordionNegativeContext.Provider value={negative}>\n {children}\n </AccordionNegativeContext.Provider>\n {schema && (\n <script\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{\n __html: schema,\n }}\n />\n )}\n </div>\n );\n};\n\nAccordion.Item = AccordionItem;\nAccordion.displayName = \"Accordion\";\n\nexport type { AccordionItemOnClickEvent, AccordionItemProps } from \"./accordion-item\";\n"],"names":["cx","c","styles","rootClassName","AccordionItem","children","className","fullWidth","title","titleTag","initialOpen","onClick","onOpen","onClose","props","negative","useContext","AccordionNegativeContext","uid","useId","hidden","setHidden","useState","classes","jsxs","jsx","Heading","e","IconChevronDown","Paragraph","createContext","Accordion","titleVariant","schema"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const r=require("react/jsx-runtime"),p=require("react"),$=require("./heading-drD5ugCC.js"),j=require("./bind-DeUYJ6m9.js"),f=require("./chevron-down.es-BMjgiS3F.js"),q=require("./paragraph-B8HFdNne.js"),A={"purpur-accordion":"_purpur-accordion_mwmy0_1","purpur-accordion__title":"_purpur-accordion__title_mwmy0_4","purpur-accordion--negative":"_purpur-accordion--negative_mwmy0_13"},C={"purpur-accordion-item":"_purpur-accordion-item_mnhg5_1","purpur-accordion-item__trigger":"_purpur-accordion-item__trigger_mnhg5_4","purpur-accordion-item__header":"_purpur-accordion-item__header_mnhg5_10","purpur-accordion-item__trigger__icon":"_purpur-accordion-item__trigger__icon_mnhg5_43","purpur-accordion-item__title":"_purpur-accordion-item__title_mnhg5_49","purpur-accordion-item__icon":"_purpur-accordion-item__icon_mnhg5_50","purpur-accordion-item__rotate":"_purpur-accordion-item__rotate_mnhg5_64","purpur-accordion-item__content":"_purpur-accordion-item__content_mnhg5_67","purpur-accordion-item__contentText":"_purpur-accordion-item__contentText_mnhg5_82","purpur-accordion-item__contentText--limit-width":"_purpur-accordion-item__contentText--limit-width_mnhg5_85","purpur-accordion-item--negative":"_purpur-accordion-item--negative_mnhg5_107"},i=j.c.bind(C),t="purpur-accordion-item",H=({children:n,className:o,fullWidth:a=!1,title:_,titleTag:m="h3",initialOpen:l=!1,onClick:c,onOpen:s,onClose:u,...y})=>{const N=p.useContext(h),d=p.useId(),[e,b]=p.useState(!l),w=i([t,{[`${t}--negative`]:N},o]);return r.jsxs("div",{className:w,...y,children:[r.jsx($.Heading,{tag:m,variant:"title-100",className:i([`${t}__header`,`${t}__title`]),children:r.jsxs("button",{type:"button","data-state":e?"open":"close",onClick:T=>{c&&c(T),e?s&&s():u&&u(),b(!e)},className:i(`${t}__trigger`,o,{[`${t}__rotate`]:!e}),"aria-expanded":!e,"aria-controls":d,id:d+"button",children:[_,r.jsx(f.l,{size:"md",className:i(`${t}__icon`),"aria-hidden":!0})]})}),r.jsx("div",{className:i(`${t}__content`,o),"aria-hidden":e,id:d,"aria-labelledby":d+"button",role:"region",children:r.jsx("div",{className:i(`${t}__contentText`,{[`${t}__contentText--limit-width`]:!a}),children:typeof n=="string"?r.jsx(q.Paragraph,{variant:"paragraph-200",children:n}):n})})]})},v=j.c.bind(A),g="purpur-accordion",h=p.createContext(!1),x=({children:n,className:o,negative:a=!1,title:_,titleTag:m="h2",titleVariant:l="display-15",schema:c,...s})=>{const u=v([g,{[`${g}--negative`]:a},o]);return r.jsxs("div",{className:u,...s,children:[_&&r.jsx($.Heading,{tag:m,variant:l,className:v(`${g}__title`),children:_}),r.jsx(h.Provider,{value:a,children:n}),c&&r.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:c}})]})};x.Item=H;x.displayName="Accordion";exports.Accordion=x;exports.AccordionNegativeContext=h;
2
- //# sourceMappingURL=accordion-BfpN5h4C.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion-BfpN5h4C.js","sources":["../../../components/accordion/src/accordion-item.tsx","../../../components/accordion/src/accordion.tsx"],"sourcesContent":["import React, { type ReactNode, useContext, useId, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport { IconChevronDown } from \"@purpur/icon/chevron-down\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport { AccordionNegativeContext } from \"./accordion\";\nimport styles from \"./accordion-item.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-accordion-item\";\n\nexport type AccordionItemOnClickEvent = React.MouseEvent<HTMLButtonElement, MouseEvent> & {\n currentTarget: { dataset: { state: \"open\" | \"closed\" } };\n};\n\nexport type AccordionItemProps = Omit<BaseProps, \"onClick\" | \"title\" | \"children\"> & {\n children: ReactNode;\n /**\n * If true, the children will take the full width without max-width constraint.\n * @default false\n */\n fullWidth?: boolean;\n /**\n * Content to be rendered inside a `button` element.\n * Only pass ReactNodes that are valid as children of a `button`, such as plain text,\n * inline elements like `span` or other non-interactive elements. Avoid block-level or interactive elements.\n */\n title: ReactNode;\n /**\n * This is the heading tag used for the accordion item title. Defaults to h3.\n * `type HeadingTagType = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"`\n */\n titleTag?: HeadingTagType;\n /**\n * Makes it possible to set the initial state to opened\n * */\n initialOpen?: boolean;\n /**\n * onClick is called when accordion item is expanded or collapsed\n * event.currentTarget.dataset.state will be either \"open\" or \"closed\"\n */\n onClick?: (event: AccordionItemOnClickEvent) => void;\n onOpen?: () => void;\n onClose?: () => void;\n};\n\nexport const AccordionItem = ({\n children,\n className,\n fullWidth = false,\n title,\n titleTag = \"h3\",\n initialOpen = false,\n onClick,\n onOpen,\n onClose,\n ...props\n}: AccordionItemProps) => {\n const negative = useContext(AccordionNegativeContext);\n const uid = useId();\n const [hidden, setHidden] = useState(!initialOpen);\n\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <Heading\n tag={titleTag}\n variant=\"title-100\"\n className={cx([`${rootClassName}__header`, `${rootClassName}__title`])}\n >\n <button\n type=\"button\"\n data-state={hidden ? \"open\" : \"close\"} // The state is actually set in the onClick, so reversing the data- output state here\n onClick={(e: AccordionItemOnClickEvent) => {\n onClick && onClick(e);\n if (hidden) {\n onOpen && onOpen();\n } else {\n onClose && onClose();\n }\n setHidden(!hidden);\n }}\n className={cx(`${rootClassName}__trigger`, className, {\n [`${rootClassName}__rotate`]: !hidden,\n })}\n aria-expanded={!hidden}\n aria-controls={uid}\n id={uid + \"button\"}\n >\n {title}\n <IconChevronDown size=\"md\" className={cx(`${rootClassName}__icon`)} aria-hidden />\n </button>\n </Heading>\n <div\n className={cx(`${rootClassName}__content`, className)}\n aria-hidden={hidden}\n id={uid}\n aria-labelledby={uid + \"button\"}\n role=\"region\"\n >\n <div\n className={cx(`${rootClassName}__contentText`, {\n [`${rootClassName}__contentText--limit-width`]: !fullWidth,\n })}\n >\n {typeof children === \"string\" ? (\n <Paragraph variant=\"paragraph-200\">{children}</Paragraph>\n ) : (\n children\n )}\n </div>\n </div>\n </div>\n );\n};\n","import React, { createContext, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType, type HeadingVariant } from \"@purpur/heading\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./accordion.module.scss\";\nimport { AccordionItem } from \"./accordion-item\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-accordion\";\n\nexport type AccordionProps = Omit<BaseProps, \"title\" | \"children\"> & {\n children: ReactNode;\n negative?: boolean;\n title?: ReactNode;\n titleTag?: HeadingTagType;\n titleVariant?: HeadingVariant;\n /**\n * A schema enables external applications to parse the content in a structured manner.\n * See more at schema.org . We use a JSON-LD based script-tag to add the schema to the DOM.\n * Note that only one type of schema can be added per page\n */\n schema?: string;\n};\n\nexport const AccordionNegativeContext = createContext(false);\n\nexport const Accordion = ({\n children,\n className,\n negative = false,\n title,\n titleTag = \"h2\",\n titleVariant = \"display-15\",\n schema,\n ...props\n}: AccordionProps) => {\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n {title && (\n <Heading tag={titleTag} variant={titleVariant} className={cx(`${rootClassName}__title`)}>\n {title}\n </Heading>\n )}\n <AccordionNegativeContext.Provider value={negative}>\n {children}\n </AccordionNegativeContext.Provider>\n {schema && (\n <script\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{\n __html: schema,\n }}\n />\n )}\n </div>\n );\n};\n\nAccordion.Item = AccordionItem;\nAccordion.displayName = \"Accordion\";\n\nexport type { AccordionItemOnClickEvent, AccordionItemProps } from \"./accordion-item\";\n"],"names":["cx","c","styles","rootClassName","AccordionItem","children","className","fullWidth","title","titleTag","initialOpen","onClick","onOpen","onClose","props","negative","useContext","AccordionNegativeContext","uid","useId","hidden","setHidden","useState","classes","jsxs","jsx","Heading","e","IconChevronDown","Paragraph","createContext","Accordion","titleVariant","schema"],"mappings":"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"}
@@ -1,228 +0,0 @@
1
- import { jsxs as H, jsx as g, Fragment as de } from "react/jsx-runtime";
2
- import { useRef as D, useCallback as pe, useEffect as me, useState as U, forwardRef as be, cloneElement as fe } from "react";
3
- import { l as ve } from "./chevron-down.es-PCIIj6oG.mjs";
4
- import { L as V } from "./listbox-CtV-Vcmy.mjs";
5
- import { i as _e } from "./text-field-C9LX7LBf.mjs";
6
- import { c as xe } from "./bind-CU-R61T-.mjs";
7
- const he = {
8
- "purpur-autocomplete": "_purpur-autocomplete_dgjyz_1",
9
- "purpur-autocomplete__listbox": "_purpur-autocomplete__listbox_dgjyz_4",
10
- "purpur-autocomplete__chevron-button": "_purpur-autocomplete__chevron-button_dgjyz_9",
11
- "purpur-autocomplete__chevron-icon": "_purpur-autocomplete__chevron-icon_dgjyz_15",
12
- "purpur-autocomplete__chevron-icon--up": "_purpur-autocomplete__chevron-icon--up_dgjyz_20"
13
- }, ye = (c) => D(c), Ce = (c, b) => {
14
- const n = pe(
15
- (v) => {
16
- c && !c.contains(v.target) && b();
17
- },
18
- [b, c]
19
- );
20
- me(() => (document.addEventListener("mousedown", n), () => {
21
- document.removeEventListener("mousedown", n);
22
- }), [n]);
23
- }, ge = ({
24
- combobox: c,
25
- comboboxButtonAriaLabel: b,
26
- highlightFirstOption: n,
27
- defaultInputValue: v,
28
- inputValue: i,
29
- filterOption: I,
30
- id: u,
31
- listboxLabel: S,
32
- listboxMaxHeight: d,
33
- onInputBlur: _,
34
- onInputChange: L,
35
- onInputFocus: $,
36
- onInputKeyDown: R,
37
- onInputMouseDown: T,
38
- openOnFocus: k,
39
- noOptionsText: E,
40
- onSelect: j,
41
- options: a,
42
- selectedOption: t,
43
- ["data-testid"]: x
44
- }) => {
45
- const [h, K] = U(
46
- ((typeof i == "string" ? i : v) || t?.label) ?? ""
47
- ), Y = typeof i == "string" ? i : h, [r, f] = U(n ? a[0] : void 0), A = D(null), F = ye(null), N = D(null), B = D({}), [q, G] = U(!1);
48
- function P(e) {
49
- return x ? `${x}-${e}` : void 0;
50
- }
51
- const y = () => {
52
- G(!1), f(void 0);
53
- };
54
- Ce(F.current, y);
55
- const C = ({ eventType: e }) => {
56
- G(!0), t && requestAnimationFrame(() => {
57
- f({ ...t, isSetByClickEvent: e === "CLICK" }), M(B.current[t.id]);
58
- });
59
- }, ee = (e) => {
60
- if (I)
61
- return a.filter((s) => I(e, s));
62
- if (!e)
63
- return a;
64
- const o = e.toUpperCase().split(" ") || [];
65
- return a.filter(
66
- (s) => o.every(
67
- (m) => (s.value || s.label).toUpperCase().includes(m)
68
- )
69
- );
70
- }, J = (e) => t && t?.label === e ? a : ee(e), l = J(Y), z = (e) => {
71
- L?.(e), K(e);
72
- }, M = (e) => {
73
- if (e) {
74
- const o = e.getBoundingClientRect(), s = N.current?.getBoundingClientRect() || { top: 0, bottom: 0 };
75
- (o.top < s.top || o.bottom > s.bottom) && e.scrollIntoView({ block: "nearest" });
76
- }
77
- }, Q = (e) => {
78
- e && (A.current?.focus(), z(e.label), j?.(e)), y();
79
- }, te = (e) => {
80
- const o = n && !r ? 0 : l.findIndex((m) => m && r?.id === m.id), s = l.length;
81
- return e === "ArrowDown" ? l[(o ?? -1) + 1] || l[0] : l[(o ?? s) - 1] || l[s - 1];
82
- }, p = q && (!!l.length || !!E), oe = (e) => {
83
- !p && C({ eventType: "KEYBOARD" });
84
- const o = te(e);
85
- f(o), o && M(B.current[o.id]);
86
- }, ne = (e) => {
87
- switch (R?.(e), e.key) {
88
- case "ArrowUp":
89
- case "ArrowDown":
90
- e.preventDefault(), oe(e.key);
91
- break;
92
- case "Enter": {
93
- const o = r || (n ? a[0] : void 0);
94
- p && Q(o), !p && C({ eventType: "KEYBOARD" });
95
- break;
96
- }
97
- case "Escape":
98
- case "Tab":
99
- y();
100
- break;
101
- }
102
- }, se = (e) => {
103
- const o = J(e.target.value);
104
- z(e.target.value), f(void 0), !p && C({ eventType: "KEYBOARD" }), n && o[0] && M(B.current[o[0].id]);
105
- }, re = (e) => {
106
- T?.(e), p ? y() : C({ eventType: "CLICK" });
107
- }, ce = (e) => {
108
- $?.(e), !q && k && C({ eventType: "KEYBOARD" }), A.current?.select();
109
- }, ie = (e) => {
110
- _?.(e), setTimeout(() => {
111
- !A.current?.contains(document.activeElement) && !N.current?.contains(document.activeElement) && (y(), c && z(t ? t.label : ""));
112
- });
113
- }, ue = {
114
- maxHeight: typeof d == "number" ? `${d}px` : d
115
- }, W = {
116
- "aria-label": S,
117
- "aria-expanded": p,
118
- "data-testid": P("listbox"),
119
- id: `${u}-listbox`,
120
- ref: N,
121
- onMouseLeave: () => f(void 0),
122
- style: d ? ue : void 0
123
- }, X = (e) => `${u}-listbox-item-${e.id}`, ae = (e, o) => {
124
- const s = () => e.id !== r?.id && f({ ...e, isSetByClickEvent: !0 }), m = (e.id === r?.id || !!n && !r && o === 0) && !r?.isSetByClickEvent;
125
- return {
126
- "data-testid": P(`listbox-item-${e.id}`),
127
- id: X(e),
128
- key: e.id,
129
- onMouseMove: s,
130
- onMouseUp: () => Q(e),
131
- ref: (Z) => {
132
- Z && (B.current[e.id] = Z);
133
- },
134
- tabIndex: -1,
135
- selected: e.id === t?.id,
136
- disabled: e.disabled,
137
- highlighted: m,
138
- hovered: e.id === r?.id && !!r?.isSetByClickEvent
139
- };
140
- }, le = {
141
- "aria-activedescendant": r ? X(r) : void 0,
142
- "aria-autocomplete": "list",
143
- "aria-controls": W.id,
144
- "data-testid": P("input"),
145
- autoComplete: "off",
146
- id: `${u}-input`,
147
- onChange: se,
148
- onMouseDown: re,
149
- onFocus: ce,
150
- onKeyDown: ne,
151
- onBlur: ie,
152
- ref: A,
153
- role: "combobox",
154
- value: Y
155
- };
156
- return {
157
- id: u,
158
- inputProps: le,
159
- internalRef: F,
160
- optionsToShow: l,
161
- showListbox: p,
162
- noOptionsText: E,
163
- combobox: c,
164
- comboboxButtonAriaLabel: b,
165
- getListBoxItemProps: ae,
166
- listboxProps: W
167
- };
168
- }, O = xe.bind(he), w = "purpur-autocomplete", we = ({ className: c, renderInput: b, renderOption: n, ...v }, i) => {
169
- const {
170
- id: I,
171
- inputProps: u,
172
- internalRef: S,
173
- optionsToShow: d,
174
- showListbox: _,
175
- noOptionsText: L,
176
- combobox: $,
177
- comboboxButtonAriaLabel: R,
178
- getListBoxItemProps: T,
179
- listboxProps: k
180
- } = ge(v), E = (t, x) => {
181
- const { key: h, ...K } = T(t, x);
182
- return /* @__PURE__ */ g(V.Item, { ...K, children: n ? n?.(t) : t.label }, h);
183
- }, j = (t) => {
184
- S.current = t, typeof i == "function" ? i(t) : i && (i.current = t);
185
- }, a = () => {
186
- const t = b(u);
187
- if ($ && R && L && t && _e(t)) {
188
- const h = /* @__PURE__ */ H(de, { children: [
189
- t.props.endAdornment,
190
- /* @__PURE__ */ g(
191
- "button",
192
- {
193
- "data-testid": "chevron button",
194
- type: "button",
195
- className: O(`${w}__chevron-button`),
196
- onClick: () => {
197
- u.onFocus(void 0), u.onMouseDown(void 0);
198
- },
199
- "aria-label": R,
200
- "aria-expanded": _,
201
- "aria-controls": k.id,
202
- children: /* @__PURE__ */ g(
203
- ve,
204
- {
205
- size: "sm",
206
- className: O(`${w}__chevron-icon`, {
207
- [`${w}__chevron-icon--up`]: _
208
- })
209
- }
210
- )
211
- }
212
- )
213
- ] });
214
- return fe(t, { endAdornment: h });
215
- }
216
- return t;
217
- };
218
- return /* @__PURE__ */ H("div", { id: I, ref: j, className: O([w, c]), children: [
219
- a(),
220
- _ && /* @__PURE__ */ g(V, { ...k, className: O(`${w}__listbox`), children: d.length ? d.filter((t) => !!t).map(E) : /* @__PURE__ */ g(V.Item, { noninteractive: !0, children: L }) })
221
- ] });
222
- }, Ie = be(we);
223
- Ie.displayName = "Autocomplete";
224
- export {
225
- Ie as A,
226
- ge as u
227
- };
228
- //# sourceMappingURL=autocomplete-C6AqdYaZ.mjs.map