@purpur/library 9.10.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/CHANGELOG.json +124 -0
  2. package/CHANGELOG.md +53 -1
  3. package/dist/LICENSE.txt +270 -175
  4. package/dist/{RichText-BAVZadzi.js → RichText-B865Qkzj.js} +2 -2
  5. package/dist/{RichText-BAVZadzi.js.map → RichText-B865Qkzj.js.map} +1 -1
  6. package/dist/{RichText-D4vznH1B.mjs → RichText-CPkBwXNI.mjs} +3 -3
  7. package/dist/{RichText-D4vznH1B.mjs.map → RichText-CPkBwXNI.mjs.map} +1 -1
  8. package/dist/accordion-aEZas0k1.mjs +122 -0
  9. package/dist/accordion-aEZas0k1.mjs.map +1 -0
  10. package/dist/accordion-zwsF1oUj.js +2 -0
  11. package/dist/accordion-zwsF1oUj.js.map +1 -0
  12. package/dist/accordion.cjs.js +1 -1
  13. package/dist/accordion.es.js +1 -1
  14. package/dist/button-C5CYysw5.js +2 -0
  15. package/dist/button-C5CYysw5.js.map +1 -0
  16. package/dist/button-mHw_J7JU.mjs +106 -0
  17. package/dist/button-mHw_J7JU.mjs.map +1 -0
  18. package/dist/button.cjs.js +1 -1
  19. package/dist/button.es.js +1 -1
  20. package/dist/{calendar-Cru-p6gC.mjs → calendar-DTL_g0ue.mjs} +4 -14
  21. package/dist/{calendar-Cru-p6gC.mjs.map → calendar-DTL_g0ue.mjs.map} +1 -1
  22. package/dist/{calendar-DDR8CQYo.js → calendar-DVOrK53J.js} +2 -2
  23. package/dist/{calendar-DDR8CQYo.js.map → calendar-DVOrK53J.js.map} +1 -1
  24. package/dist/calendar.cjs.js +1 -1
  25. package/dist/calendar.es.js +1 -1
  26. package/dist/{card-t2ZkZ82G.mjs → card-C0yhMN5d.mjs} +3 -3
  27. package/dist/card-C0yhMN5d.mjs.map +1 -0
  28. package/dist/{card-pdsBEJif.js → card-CIlY38WI.js} +2 -2
  29. package/dist/card-CIlY38WI.js.map +1 -0
  30. package/dist/card.cjs.js +1 -1
  31. package/dist/card.es.js +1 -1
  32. package/dist/{carousel-BIKcwvYz.mjs → carousel-Dq9yzk_-.mjs} +2 -2
  33. package/dist/{carousel-BIKcwvYz.mjs.map → carousel-Dq9yzk_-.mjs.map} +1 -1
  34. package/dist/{carousel-DnSaLDZf.js → carousel-j-s6M1hu.js} +2 -2
  35. package/dist/{carousel-DnSaLDZf.js.map → carousel-j-s6M1hu.js.map} +1 -1
  36. package/dist/carousel.cjs.js +1 -1
  37. package/dist/carousel.es.js +1 -1
  38. package/dist/{chat-field-Wjvh2J6C.js → chat-field-CLAjIHlM.js} +2 -2
  39. package/dist/{chat-field-Wjvh2J6C.js.map → chat-field-CLAjIHlM.js.map} +1 -1
  40. package/dist/{chat-field-CVF4DooY.mjs → chat-field-nxFRXoQx.mjs} +2 -2
  41. package/dist/{chat-field-CVF4DooY.mjs.map → chat-field-nxFRXoQx.mjs.map} +1 -1
  42. package/dist/chat-field.cjs.js +1 -1
  43. package/dist/chat-field.es.js +1 -1
  44. package/dist/{chip-group-B775zvKD.js → chip-group-BLuG0MC6.js} +2 -2
  45. package/dist/{chip-group-B775zvKD.js.map → chip-group-BLuG0MC6.js.map} +1 -1
  46. package/dist/{chip-group-xuOe7nL3.mjs → chip-group-Bo4kJ8Vq.mjs} +2 -2
  47. package/dist/{chip-group-xuOe7nL3.mjs.map → chip-group-Bo4kJ8Vq.mjs.map} +1 -1
  48. package/dist/chip-group.cjs.js +1 -1
  49. package/dist/chip-group.es.js +1 -1
  50. package/dist/color-dot-BEE5rKco.js.map +1 -1
  51. package/dist/color-dot-Dz9yzVX3.mjs.map +1 -1
  52. package/dist/{comparison-table-Dtqxz8vL.js → comparison-table-CRWRijfG.js} +2 -2
  53. package/dist/{comparison-table-Dtqxz8vL.js.map → comparison-table-CRWRijfG.js.map} +1 -1
  54. package/dist/{comparison-table-D1evE0ri.mjs → comparison-table-DYaRaP9Z.mjs} +3 -3
  55. package/dist/{comparison-table-D1evE0ri.mjs.map → comparison-table-DYaRaP9Z.mjs.map} +1 -1
  56. package/dist/comparison-table.cjs.js +1 -1
  57. package/dist/comparison-table.es.js +1 -1
  58. package/dist/components/accordion/src/accordion-item.d.ts +3 -3
  59. package/dist/components/accordion/src/accordion-item.d.ts.map +1 -1
  60. package/dist/components/accordion/src/accordion.d.ts +3 -7
  61. package/dist/components/accordion/src/accordion.d.ts.map +1 -1
  62. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -1
  63. package/dist/components/alert-badge/src/alert-badge.d.ts +1 -1
  64. package/dist/components/avatar/src/avatar.d.ts +1 -1
  65. package/dist/components/badge/src/badge.d.ts +1 -1
  66. package/dist/components/button/src/button.d.ts +7 -8
  67. package/dist/components/button/src/button.d.ts.map +1 -1
  68. package/dist/components/button/src/button.visual.fixtures.d.ts +1 -1
  69. package/dist/components/calendar/src/calendar.d.ts.map +1 -1
  70. package/dist/components/card/src/card-content-container.d.ts +1 -1
  71. package/dist/components/card/src/card-content.d.ts +1 -1
  72. package/dist/components/card/src/card-cta.d.ts +1 -1
  73. package/dist/components/card/src/card-heading.d.ts +4 -4
  74. package/dist/components/card/src/card-heading.d.ts.map +1 -1
  75. package/dist/components/card/src/card-media-layout.d.ts +1 -1
  76. package/dist/components/card/src/card-media.d.ts +1 -1
  77. package/dist/components/card/src/card-root.d.ts +1 -1
  78. package/dist/components/checkbox/src/checkbox.d.ts +1 -1
  79. package/dist/components/color-dot/src/color-dot.d.ts +2 -1
  80. package/dist/components/color-dot/src/color-dot.d.ts.map +1 -1
  81. package/dist/components/content-block/src/content-block-group.d.ts +1 -1
  82. package/dist/components/content-block/src/content-block.d.ts +3 -3
  83. package/dist/components/content-block/src/content-block.d.ts.map +1 -1
  84. package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts +0 -1
  85. package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts.map +1 -1
  86. package/dist/components/country-flag-icon/src/country-flag-icon.d.ts +2 -2
  87. package/dist/components/cta-link/src/cta-link.d.ts +10 -10
  88. package/dist/components/date-picker/src/date-picker.d.ts +5 -5
  89. package/dist/components/date-range-field/src/date-range-field.d.ts +2 -2
  90. package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
  91. package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts +1 -1
  92. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +4 -4
  93. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
  94. package/dist/components/drawer/src/drawer-container.d.ts +1 -1
  95. package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
  96. package/dist/components/drawer/src/drawer-content.d.ts +2 -2
  97. package/dist/components/drawer/src/drawer-frame.d.ts +1 -1
  98. package/dist/components/drawer/src/drawer-handle.d.ts +1 -1
  99. package/dist/components/drawer/src/drawer-header.d.ts +1 -1
  100. package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
  101. package/dist/components/drawer/src/drawer.context.d.ts +2 -0
  102. package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
  103. package/dist/components/drawer/src/drawer.d.ts +2 -0
  104. package/dist/components/drawer/src/drawer.d.ts.map +1 -1
  105. package/dist/components/dropdown/src/dropdown-combobox.d.ts +2 -34
  106. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  107. package/dist/components/dropdown/src/dropdown-select.d.ts +2 -34
  108. package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
  109. package/dist/components/dropdown/src/dropdown-shared.d.ts +2 -1
  110. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  111. package/dist/components/dropdown/src/dropdown.types.d.ts +24 -13
  112. package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
  113. package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
  114. package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
  115. package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -1
  116. package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -1
  117. package/dist/components/field-error-text/src/field-error-text.d.ts +2 -2
  118. package/dist/components/file-upload/src/file-upload-button.d.ts +22 -0
  119. package/dist/components/file-upload/src/file-upload-button.d.ts.map +1 -0
  120. package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts +10 -0
  121. package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts.map +1 -0
  122. package/dist/components/file-upload/src/file-upload-file-name-label.d.ts +8 -0
  123. package/dist/components/file-upload/src/file-upload-file-name-label.d.ts.map +1 -0
  124. package/dist/components/file-upload/src/file-upload-icon.d.ts +8 -0
  125. package/dist/components/file-upload/src/file-upload-icon.d.ts.map +1 -0
  126. package/dist/components/file-upload/src/file-upload-types.d.ts +82 -0
  127. package/dist/components/file-upload/src/file-upload-types.d.ts.map +1 -0
  128. package/dist/components/file-upload/src/file-upload-utils.d.ts +7 -0
  129. package/dist/components/file-upload/src/file-upload-utils.d.ts.map +1 -0
  130. package/dist/components/file-upload/src/file-upload.d.ts +6 -0
  131. package/dist/components/file-upload/src/file-upload.d.ts.map +1 -0
  132. package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts +14 -0
  133. package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts.map +1 -0
  134. package/dist/components/footer/src/footer-navigation.d.ts +1 -1
  135. package/dist/components/footer/src/footer.d.ts +3 -3
  136. package/dist/components/grid/src/grid.item.d.ts +1 -1
  137. package/dist/components/heading/src/heading.d.ts +20 -2
  138. package/dist/components/heading/src/heading.d.ts.map +1 -1
  139. package/dist/components/hero-banner/src/hero-banner-actions.d.ts +1 -1
  140. package/dist/components/hero-banner/src/hero-banner-media.d.ts +1 -1
  141. package/dist/components/hero-banner/src/hero-banner-types.d.ts +2 -2
  142. package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -1
  143. package/dist/components/hero-banner/src/hero-banner.d.ts +1 -1
  144. package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
  145. package/dist/components/icon/src/icon.d.ts +2 -2
  146. package/dist/components/label/src/label.d.ts +1 -1
  147. package/dist/components/listbox/src/listbox-item.d.ts +1 -1
  148. package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
  149. package/dist/components/logo/src/logo.types.d.ts +2 -2
  150. package/dist/components/modal/src/modal-content.d.ts +1 -1
  151. package/dist/components/modal/src/modal-content.d.ts.map +1 -1
  152. package/dist/components/notification-banner/src/notification-banner.d.ts +5 -5
  153. package/dist/components/notification-banner/src/notification-banner.d.ts.map +1 -1
  154. package/dist/components/pagination/src/pagination-page-selector.d.ts +2 -2
  155. package/dist/components/pagination/src/pagination-page-trigger.d.ts +1 -1
  156. package/dist/components/pagination/src/pagination-step-trigger.d.ts +2 -2
  157. package/dist/components/pagination/src/pagination-truncation-separator.d.ts +1 -1
  158. package/dist/components/pagination/src/types.d.ts +1 -1
  159. package/dist/components/pagination/src/use-page-options.hook.d.ts +1 -1
  160. package/dist/components/pagination/src/use-page-size-options.hook.d.ts +1 -1
  161. package/dist/components/password-field/src/password-strength-indicator.d.ts +1 -1
  162. package/dist/components/password-field/src/password-strength.d.ts +2 -2
  163. package/dist/components/promotion-card/src/promotion-card.d.ts +9 -9
  164. package/dist/components/promotion-card/src/promotion-card.d.ts.map +1 -1
  165. package/dist/components/quantity-selector/src/quantity-selector-button.d.ts +2 -3
  166. package/dist/components/quantity-selector/src/quantity-selector-button.d.ts.map +1 -1
  167. package/dist/components/quantity-selector/src/quantity-selector.d.ts +2 -5
  168. package/dist/components/quantity-selector/src/quantity-selector.d.ts.map +1 -1
  169. package/dist/components/radio-card-group/src/radio-card-group.d.ts +2 -2
  170. package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
  171. package/dist/components/rich-text/src/types.d.ts +3 -3
  172. package/dist/components/search-field/src/search-field.d.ts +6 -6
  173. package/dist/components/skeleton/src/skeleton.d.ts +1 -1
  174. package/dist/components/spinner/src/spinner.d.ts +2 -2
  175. package/dist/components/stepper/src/stepper-container.d.ts +1 -1
  176. package/dist/components/stepper/src/stepper-content.d.ts +1 -1
  177. package/dist/components/stepper/src/{stepper-button.d.ts → stepper-link.d.ts} +5 -4
  178. package/dist/components/stepper/src/stepper-link.d.ts.map +1 -0
  179. package/dist/components/stepper/src/stepper-nav-items.d.ts +1 -0
  180. package/dist/components/stepper/src/stepper-nav-items.d.ts.map +1 -1
  181. package/dist/components/stepper/src/stepper.d.ts.map +1 -1
  182. package/dist/components/stepper/src/types.d.ts +2 -2
  183. package/dist/components/stepper/src/types.d.ts.map +1 -1
  184. package/dist/components/stepper/src/use-content-focus.hook.d.ts.map +1 -1
  185. package/dist/components/table/src/cell-types/button-group-cell.d.ts +3 -3
  186. package/dist/components/table/src/draggable-table.d.ts.map +1 -1
  187. package/dist/components/table/src/table-column-header-cell.d.ts +1 -2
  188. package/dist/components/table/src/table-column-header-cell.d.ts.map +1 -1
  189. package/dist/components/table/src/table-content.d.ts +1 -1
  190. package/dist/components/table/src/table-headers.d.ts +2 -3
  191. package/dist/components/table/src/table-headers.d.ts.map +1 -1
  192. package/dist/components/table/src/table-settings-drawer.d.ts +11 -20
  193. package/dist/components/table/src/table-settings-drawer.d.ts.map +1 -1
  194. package/dist/components/table/src/table.d.ts +2 -9
  195. package/dist/components/table/src/table.d.ts.map +1 -1
  196. package/dist/components/table/src/test-utils/helpers.d.ts +10 -19
  197. package/dist/components/table/src/test-utils/helpers.d.ts.map +1 -1
  198. package/dist/components/table/src/test-utils/table-data.d.ts +3 -3
  199. package/dist/components/tabs/src/tab-content.d.ts +3 -1
  200. package/dist/components/tabs/src/tab-content.d.ts.map +1 -1
  201. package/dist/components/text-area/src/text-area.d.ts +1 -1
  202. package/dist/components/text-field/src/text-field-ai.d.ts +4 -4
  203. package/dist/components/text-field/src/text-field-base.d.ts +4 -4
  204. package/dist/components/text-field/src/text-field.d.ts +5 -5
  205. package/dist/components/text-spacing/src/text-spacing.d.ts +2 -2
  206. package/dist/components/tooltip/src/tooltip.d.ts +4 -6
  207. package/dist/components/tooltip/src/tooltip.d.ts.map +1 -1
  208. package/dist/components-metadata.js +20 -10
  209. package/dist/{content-block-CDMrz41K.mjs → content-block-BCM0I3Y2.mjs} +2 -2
  210. package/dist/content-block-BCM0I3Y2.mjs.map +1 -0
  211. package/dist/{content-block-DyYAnL2e.js → content-block-DQppQumZ.js} +2 -2
  212. package/dist/content-block-DQppQumZ.js.map +1 -0
  213. package/dist/content-block.cjs.js +1 -1
  214. package/dist/content-block.es.js +1 -1
  215. package/dist/core.esm-BmIwrKkJ.js +6 -0
  216. package/dist/core.esm-BmIwrKkJ.js.map +1 -0
  217. package/dist/core.esm-CKGHpLM_.mjs +2892 -0
  218. package/dist/core.esm-CKGHpLM_.mjs.map +1 -0
  219. package/dist/country-flag-icon/LICENSE.txt +11 -0
  220. package/dist/country-flag-icon/all-country-flag-assets.cjs.js +1 -1
  221. package/dist/country-flag-icon/all-country-flag-assets.cjs.js.map +1 -1
  222. package/dist/country-flag-icon/all-country-flag-assets.d.ts +0 -1
  223. package/dist/country-flag-icon/all-country-flag-assets.d.ts.map +1 -1
  224. package/dist/country-flag-icon/all-country-flag-assets.es.js +0 -1
  225. package/dist/country-flag-icon/all-country-flag-assets.es.js.map +1 -1
  226. package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js +2 -0
  227. package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js.map +1 -0
  228. package/dist/country-flag-icon/dynamic-country-flag-icon.es.js +366 -0
  229. package/dist/country-flag-icon/dynamic-country-flag-icon.es.js.map +1 -0
  230. package/dist/{date-field-hA79n6mP.js → date-field-CtpWDaSh.js} +2 -2
  231. package/dist/{date-field-hA79n6mP.js.map → date-field-CtpWDaSh.js.map} +1 -1
  232. package/dist/{date-field-DVp_RMNm.mjs → date-field-_rCuf15v.mjs} +2 -2
  233. package/dist/{date-field-DVp_RMNm.mjs.map → date-field-_rCuf15v.mjs.map} +1 -1
  234. package/dist/date-field.cjs.js +1 -1
  235. package/dist/date-field.es.js +1 -1
  236. package/dist/{date-picker-Dzoo_hhQ.js → date-picker-BYlszX1W.js} +2 -2
  237. package/dist/{date-picker-Dzoo_hhQ.js.map → date-picker-BYlszX1W.js.map} +1 -1
  238. package/dist/{date-picker-B8ta-Q8V.mjs → date-picker-sqcNAplg.mjs} +6 -6
  239. package/dist/{date-picker-B8ta-Q8V.mjs.map → date-picker-sqcNAplg.mjs.map} +1 -1
  240. package/dist/date-picker.cjs.js +1 -1
  241. package/dist/date-picker.es.js +1 -1
  242. package/dist/date-range-field-B33XeBW8.js +2 -0
  243. package/dist/date-range-field-B33XeBW8.js.map +1 -0
  244. package/dist/{date-range-field-BZUjfftV.mjs → date-range-field-BmjQeiOv.mjs} +23 -23
  245. package/dist/date-range-field-BmjQeiOv.mjs.map +1 -0
  246. package/dist/date-range-field.cjs.js +1 -1
  247. package/dist/date-range-field.es.js +1 -1
  248. package/dist/{dismissable-chip-group-2updhyuR.js → dismissable-chip-group-5ALErhD2.js} +2 -2
  249. package/dist/dismissable-chip-group-5ALErhD2.js.map +1 -0
  250. package/dist/{dismissable-chip-group-Cfs2s2BH.mjs → dismissable-chip-group-DMNU7g5e.mjs} +3 -3
  251. package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +1 -0
  252. package/dist/dismissable-chip-group.cjs.js +1 -1
  253. package/dist/dismissable-chip-group.es.js +1 -1
  254. package/dist/{drawer-cIUx6WSZ.mjs → drawer-Chx3H8EU.mjs} +241 -233
  255. package/dist/drawer-Chx3H8EU.mjs.map +1 -0
  256. package/dist/drawer-oFJcxW58.js +2 -0
  257. package/dist/drawer-oFJcxW58.js.map +1 -0
  258. package/dist/drawer.cjs.js +1 -1
  259. package/dist/drawer.es.js +1 -1
  260. package/dist/dropdown-Bn7WvsL2.js +2 -0
  261. package/dist/dropdown-Bn7WvsL2.js.map +1 -0
  262. package/dist/dropdown-CrufJnb4.mjs +945 -0
  263. package/dist/dropdown-CrufJnb4.mjs.map +1 -0
  264. package/dist/dropdown.cjs.js +1 -1
  265. package/dist/dropdown.es.js +1 -1
  266. package/dist/file-upload-Ctw6LCTU.mjs +589 -0
  267. package/dist/file-upload-Ctw6LCTU.mjs.map +1 -0
  268. package/dist/file-upload-MvNuX4ks.js +2 -0
  269. package/dist/file-upload-MvNuX4ks.js.map +1 -0
  270. package/dist/file-upload.cjs.js +2 -0
  271. package/dist/file-upload.cjs.js.map +1 -0
  272. package/dist/file-upload.es.js +5 -0
  273. package/dist/file-upload.es.js.map +1 -0
  274. package/dist/{floating-ui.react-dom-EredA301.mjs → floating-ui.react-dom-1kwKo24Z.mjs} +15 -15
  275. package/dist/{floating-ui.react-dom-EredA301.mjs.map → floating-ui.react-dom-1kwKo24Z.mjs.map} +1 -1
  276. package/dist/footer-Bbemct3Z.js +2 -0
  277. package/dist/footer-Bbemct3Z.js.map +1 -0
  278. package/dist/{footer-D-2b7UIB.mjs → footer-DkVmTd-f.mjs} +25 -25
  279. package/dist/footer-DkVmTd-f.mjs.map +1 -0
  280. package/dist/footer.cjs.js +1 -1
  281. package/dist/footer.es.js +1 -1
  282. package/dist/{heading-xwBuT_-9.mjs → heading-BG7JTFO1.mjs} +25 -24
  283. package/dist/heading-BG7JTFO1.mjs.map +1 -0
  284. package/dist/{heading-drD5ugCC.js → heading-BPeRwNYu.js} +2 -2
  285. package/dist/heading-BPeRwNYu.js.map +1 -0
  286. package/dist/heading.cjs.js +1 -1
  287. package/dist/heading.es.js +6 -5
  288. package/dist/{hero-banner-n9K-Jsdz.mjs → hero-banner-ChDoFRhq.mjs} +4 -4
  289. package/dist/hero-banner-ChDoFRhq.mjs.map +1 -0
  290. package/dist/{hero-banner--v-ezYMr.js → hero-banner-Mag1OwL4.js} +2 -2
  291. package/dist/hero-banner-Mag1OwL4.js.map +1 -0
  292. package/dist/hero-banner.cjs.js +1 -1
  293. package/dist/hero-banner.es.js +1 -1
  294. package/dist/index-BPY_9ddu.js +2 -0
  295. package/dist/index-BPY_9ddu.js.map +1 -0
  296. package/dist/index-Fewa56cA.mjs +440 -0
  297. package/dist/index-Fewa56cA.mjs.map +1 -0
  298. package/dist/libraries/library/src/calendar.d.ts +1 -1
  299. package/dist/libraries/library/src/card.d.ts +1 -1
  300. package/dist/libraries/library/src/container.d.ts +1 -1
  301. package/dist/libraries/library/src/content-block.d.ts +1 -1
  302. package/dist/libraries/library/src/dismissable-chip-group.d.ts +1 -1
  303. package/dist/libraries/library/src/drawer.d.ts +1 -1
  304. package/dist/libraries/library/src/file-upload.d.ts +6 -0
  305. package/dist/libraries/library/src/file-upload.d.ts.map +1 -0
  306. package/dist/libraries/library/src/library.d.ts +2 -1
  307. package/dist/libraries/library/src/library.d.ts.map +1 -1
  308. package/dist/libraries/library/src/notification-banner.d.ts +1 -1
  309. package/dist/libraries/library/src/notification.d.ts +1 -1
  310. package/dist/libraries/library/src/password-field.d.ts +6 -2
  311. package/dist/libraries/library/src/password-field.d.ts.map +1 -1
  312. package/dist/libraries/library/src/radio-button-group.d.ts +1 -1
  313. package/dist/libraries/library/src/radio-card-group.d.ts +1 -1
  314. package/dist/libraries/library/src/spinner.d.ts +1 -1
  315. package/dist/libraries/library/src/stepper.d.ts +1 -1
  316. package/dist/libraries/library/src/tooltip.d.ts +1 -1
  317. package/dist/libraries/library/src/visually-hidden.d.ts +1 -1
  318. package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
  319. package/dist/library.cjs.js +1 -1
  320. package/dist/library.es.js +603 -601
  321. package/dist/library.es.js.map +1 -1
  322. package/dist/link-Dzqd0QuD.js +2 -0
  323. package/dist/{link-DhWVrkTz.js.map → link-Dzqd0QuD.js.map} +1 -1
  324. package/dist/link-ccCdDvBc.mjs +72 -0
  325. package/dist/{link-DY5WLpyc.mjs.map → link-ccCdDvBc.mjs.map} +1 -1
  326. package/dist/link.cjs.js +1 -1
  327. package/dist/link.es.js +1 -1
  328. package/dist/main-B501z9Ql.js +2 -0
  329. package/dist/main-B501z9Ql.js.map +1 -0
  330. package/dist/main-L71Sqg3s.mjs +1016 -0
  331. package/dist/main-L71Sqg3s.mjs.map +1 -0
  332. package/dist/{modal-D0Qxrvx5.js → modal-CXOYUsJm.js} +2 -2
  333. package/dist/modal-CXOYUsJm.js.map +1 -0
  334. package/dist/{modal-Bu1Zv5Ic.mjs → modal-Pwvhrzn-.mjs} +31 -31
  335. package/dist/modal-Pwvhrzn-.mjs.map +1 -0
  336. package/dist/modal.cjs.js +1 -1
  337. package/dist/modal.es.js +1 -1
  338. package/dist/{notification-D2oClkX2.js → notification-BkM2vLzI.js} +2 -2
  339. package/dist/{notification-D2oClkX2.js.map → notification-BkM2vLzI.js.map} +1 -1
  340. package/dist/{notification-DiVdy6E_.mjs → notification-Cbn0UN1p.mjs} +3 -3
  341. package/dist/{notification-DiVdy6E_.mjs.map → notification-Cbn0UN1p.mjs.map} +1 -1
  342. package/dist/notification-banner-B9RhXAZ8.js +2 -0
  343. package/dist/notification-banner-B9RhXAZ8.js.map +1 -0
  344. package/dist/{notification-banner-CZTQZ5Le.mjs → notification-banner-C4NVekCZ.mjs} +5 -5
  345. package/dist/notification-banner-C4NVekCZ.mjs.map +1 -0
  346. package/dist/notification-banner.cjs.js +1 -1
  347. package/dist/notification-banner.es.js +1 -1
  348. package/dist/notification.cjs.js +1 -1
  349. package/dist/notification.es.js +1 -1
  350. package/dist/password-field-Cy_E-D_G.mjs +200 -0
  351. package/dist/password-field-Cy_E-D_G.mjs.map +1 -0
  352. package/dist/password-field-lKyWHjQS.js +2 -0
  353. package/dist/password-field-lKyWHjQS.js.map +1 -0
  354. package/dist/password-field.cjs.js +2 -0
  355. package/dist/password-field.cjs.js.map +1 -0
  356. package/dist/password-field.es.js +6 -0
  357. package/dist/password-field.es.js.map +1 -0
  358. package/dist/popover-B6ntmuEK.mjs +614 -0
  359. package/dist/popover-B6ntmuEK.mjs.map +1 -0
  360. package/dist/popover-DJHMEFXP.js +2 -0
  361. package/dist/popover-DJHMEFXP.js.map +1 -0
  362. package/dist/popover.cjs.js +1 -1
  363. package/dist/popover.es.js +1 -1
  364. package/dist/{product-card-CxfHfJVV.mjs → product-card-BMseoNrG.mjs} +3 -3
  365. package/dist/{product-card-CxfHfJVV.mjs.map → product-card-BMseoNrG.mjs.map} +1 -1
  366. package/dist/{product-card-XxBwuxM-.js → product-card-D0jX5-up.js} +2 -2
  367. package/dist/{product-card-XxBwuxM-.js.map → product-card-D0jX5-up.js.map} +1 -1
  368. package/dist/product-card.cjs.js +1 -1
  369. package/dist/product-card.es.js +1 -1
  370. package/dist/{promotion-card-C1UoxzcV.js → promotion-card-B3mz__m7.js} +2 -2
  371. package/dist/promotion-card-B3mz__m7.js.map +1 -0
  372. package/dist/{promotion-card-CooYPpFo.mjs → promotion-card-Co6qAkTZ.mjs} +5 -5
  373. package/dist/promotion-card-Co6qAkTZ.mjs.map +1 -0
  374. package/dist/promotion-card.cjs.js +1 -1
  375. package/dist/promotion-card.es.js +1 -1
  376. package/dist/purpur.css +1 -1
  377. package/dist/quantity-selector-Cy0aJGGX.js +2 -0
  378. package/dist/quantity-selector-Cy0aJGGX.js.map +1 -0
  379. package/dist/quantity-selector-k6ZaVrk1.mjs +162 -0
  380. package/dist/quantity-selector-k6ZaVrk1.mjs.map +1 -0
  381. package/dist/quantity-selector.cjs.js +1 -1
  382. package/dist/quantity-selector.es.js +2 -3
  383. package/dist/{radio-button-group-D_F6kWD6.mjs → radio-button-group-DjiTo3b1.mjs} +2 -2
  384. package/dist/{radio-button-group-D_F6kWD6.mjs.map → radio-button-group-DjiTo3b1.mjs.map} +1 -1
  385. package/dist/{radio-button-group-CdUrC7h9.js → radio-button-group-uCRGh1H5.js} +2 -2
  386. package/dist/{radio-button-group-CdUrC7h9.js.map → radio-button-group-uCRGh1H5.js.map} +1 -1
  387. package/dist/radio-button-group.cjs.js +1 -1
  388. package/dist/radio-button-group.es.js +1 -1
  389. package/dist/{radio-card-group-B9_jOJnM.mjs → radio-card-group-DoM7qYO1.mjs} +2 -2
  390. package/dist/{radio-card-group-B9_jOJnM.mjs.map → radio-card-group-DoM7qYO1.mjs.map} +1 -1
  391. package/dist/{radio-card-group-DcdGkfOp.js → radio-card-group-_9wJC-s3.js} +2 -2
  392. package/dist/{radio-card-group-DcdGkfOp.js.map → radio-card-group-_9wJC-s3.js.map} +1 -1
  393. package/dist/radio-card-group.cjs.js +1 -1
  394. package/dist/radio-card-group.es.js +1 -1
  395. package/dist/rich-text.cjs.js +1 -1
  396. package/dist/rich-text.es.js +1 -1
  397. package/dist/{search-field-afhtC6q5.mjs → search-field-BTJtRyw5.mjs} +3 -3
  398. package/dist/{search-field-afhtC6q5.mjs.map → search-field-BTJtRyw5.mjs.map} +1 -1
  399. package/dist/{search-field-WJBtiK0K.js → search-field-nzVXak1a.js} +2 -2
  400. package/dist/{search-field-WJBtiK0K.js.map → search-field-nzVXak1a.js.map} +1 -1
  401. package/dist/search-field.cjs.js +1 -1
  402. package/dist/search-field.es.js +1 -1
  403. package/dist/stepper-D59T-Y2_.mjs +469 -0
  404. package/dist/stepper-D59T-Y2_.mjs.map +1 -0
  405. package/dist/stepper-Dao4XaDV.js +2 -0
  406. package/dist/stepper-Dao4XaDV.js.map +1 -0
  407. package/dist/stepper.cjs.js +1 -1
  408. package/dist/stepper.es.js +1 -1
  409. package/dist/table-DRSgesQ4.mjs +4545 -0
  410. package/dist/table-DRSgesQ4.mjs.map +1 -0
  411. package/dist/table-zBs9JALh.js +5 -0
  412. package/dist/table-zBs9JALh.js.map +1 -0
  413. package/dist/table.cjs.js +1 -1
  414. package/dist/table.es.js +1 -1
  415. package/dist/tabs-D2__wbCs.js +2 -0
  416. package/dist/tabs-D2__wbCs.js.map +1 -0
  417. package/dist/tabs-DOG5g2wf.mjs +440 -0
  418. package/dist/tabs-DOG5g2wf.mjs.map +1 -0
  419. package/dist/tabs.cjs.js +1 -1
  420. package/dist/tabs.es.js +1 -1
  421. package/dist/{text-field-VW8ObP83.js → text-field-BSgqJjpv.js} +2 -2
  422. package/dist/text-field-BSgqJjpv.js.map +1 -0
  423. package/dist/{text-field-D0e-cRbG.mjs → text-field-MQHeITxy.mjs} +3 -3
  424. package/dist/text-field-MQHeITxy.mjs.map +1 -0
  425. package/dist/text-field.cjs.js +1 -1
  426. package/dist/text-field.es.js +1 -1
  427. package/dist/tooltip-DeP1UsPW.js +2 -0
  428. package/dist/{tooltip-B-11qk-0.js.map → tooltip-DeP1UsPW.js.map} +1 -1
  429. package/dist/{tooltip-DngYHn5W.mjs → tooltip-bqdd2lJL.mjs} +347 -309
  430. package/dist/{tooltip-DngYHn5W.mjs.map → tooltip-bqdd2lJL.mjs.map} +1 -1
  431. package/dist/tooltip.cjs.js +1 -1
  432. package/dist/tooltip.es.js +1 -1
  433. package/package.json +21 -26
  434. package/scripts/generate.mts +1 -4
  435. package/src/aliases.ts +8 -4
  436. package/src/entries.js +2 -1
  437. package/src/{autocomplete.ts → file-upload.ts} +1 -1
  438. package/src/library.ts +2 -2
  439. package/src/password-field.ts +0 -1
  440. package/src/purpur.css +4 -0
  441. package/dist/accordion-B6OoQ4uZ.mjs +0 -128
  442. package/dist/accordion-B6OoQ4uZ.mjs.map +0 -1
  443. package/dist/accordion-BfpN5h4C.js +0 -2
  444. package/dist/accordion-BfpN5h4C.js.map +0 -1
  445. package/dist/autocomplete-BX1KDZqL.js +0 -2
  446. package/dist/autocomplete-BX1KDZqL.js.map +0 -1
  447. package/dist/autocomplete-CmLzmWp4.mjs +0 -228
  448. package/dist/autocomplete-CmLzmWp4.mjs.map +0 -1
  449. package/dist/autocomplete.cjs.js +0 -2
  450. package/dist/autocomplete.cjs.js.map +0 -1
  451. package/dist/autocomplete.es.js +0 -6
  452. package/dist/autocomplete.es.js.map +0 -1
  453. package/dist/button-4-yWOgtD.mjs +0 -109
  454. package/dist/button-4-yWOgtD.mjs.map +0 -1
  455. package/dist/button-DmybVApa.js +0 -2
  456. package/dist/button-DmybVApa.js.map +0 -1
  457. package/dist/card-pdsBEJif.js.map +0 -1
  458. package/dist/card-t2ZkZ82G.mjs.map +0 -1
  459. package/dist/components/autocomplete/src/autocomplete.d.ts +0 -18
  460. package/dist/components/autocomplete/src/autocomplete.d.ts.map +0 -1
  461. package/dist/components/autocomplete/src/useAutocomplete.d.ts +0 -59
  462. package/dist/components/autocomplete/src/useAutocomplete.d.ts.map +0 -1
  463. package/dist/components/autocomplete/src/utils.d.ts +0 -7
  464. package/dist/components/autocomplete/src/utils.d.ts.map +0 -1
  465. package/dist/components/stepper/src/stepper-button.d.ts.map +0 -1
  466. package/dist/content-block-CDMrz41K.mjs.map +0 -1
  467. package/dist/content-block-DyYAnL2e.js.map +0 -1
  468. package/dist/date-range-field-BZUjfftV.mjs.map +0 -1
  469. package/dist/date-range-field-Dqqgj41u.js +0 -2
  470. package/dist/date-range-field-Dqqgj41u.js.map +0 -1
  471. package/dist/dismissable-chip-group-2updhyuR.js.map +0 -1
  472. package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +0 -1
  473. package/dist/drawer-DyLQfvEh.js +0 -2
  474. package/dist/drawer-DyLQfvEh.js.map +0 -1
  475. package/dist/drawer-cIUx6WSZ.mjs.map +0 -1
  476. package/dist/dropdown-C8VsfTQw.mjs +0 -936
  477. package/dist/dropdown-C8VsfTQw.mjs.map +0 -1
  478. package/dist/dropdown-p4R2yCnJ.js +0 -2
  479. package/dist/dropdown-p4R2yCnJ.js.map +0 -1
  480. package/dist/footer-Cn1-zG1v.js +0 -2
  481. package/dist/footer-Cn1-zG1v.js.map +0 -1
  482. package/dist/footer-D-2b7UIB.mjs.map +0 -1
  483. package/dist/heading-drD5ugCC.js.map +0 -1
  484. package/dist/heading-xwBuT_-9.mjs.map +0 -1
  485. package/dist/hero-banner--v-ezYMr.js.map +0 -1
  486. package/dist/hero-banner-n9K-Jsdz.mjs.map +0 -1
  487. package/dist/libraries/library/src/autocomplete.d.ts +0 -6
  488. package/dist/libraries/library/src/autocomplete.d.ts.map +0 -1
  489. package/dist/link-DY5WLpyc.mjs +0 -72
  490. package/dist/link-DhWVrkTz.js +0 -2
  491. package/dist/modal-Bu1Zv5Ic.mjs.map +0 -1
  492. package/dist/modal-D0Qxrvx5.js.map +0 -1
  493. package/dist/notification-banner-BxHwTFnH.js +0 -2
  494. package/dist/notification-banner-BxHwTFnH.js.map +0 -1
  495. package/dist/notification-banner-CZTQZ5Le.mjs.map +0 -1
  496. package/dist/popover-CY75TnbA.js +0 -2
  497. package/dist/popover-CY75TnbA.js.map +0 -1
  498. package/dist/popover-wiiwtqWE.mjs +0 -1043
  499. package/dist/popover-wiiwtqWE.mjs.map +0 -1
  500. package/dist/promotion-card-C1UoxzcV.js.map +0 -1
  501. package/dist/promotion-card-CooYPpFo.mjs.map +0 -1
  502. package/dist/quantity-selector-BEYMDsBM.js +0 -2
  503. package/dist/quantity-selector-BEYMDsBM.js.map +0 -1
  504. package/dist/quantity-selector-Cp-e5xKJ.mjs +0 -172
  505. package/dist/quantity-selector-Cp-e5xKJ.mjs.map +0 -1
  506. package/dist/stepper-20s8dnPA.mjs +0 -449
  507. package/dist/stepper-20s8dnPA.mjs.map +0 -1
  508. package/dist/stepper-VDiR2I8F.js +0 -2
  509. package/dist/stepper-VDiR2I8F.js.map +0 -1
  510. package/dist/table-B5ZitZoL.js +0 -9
  511. package/dist/table-B5ZitZoL.js.map +0 -1
  512. package/dist/table-CNIL-60s.mjs +0 -7428
  513. package/dist/table-CNIL-60s.mjs.map +0 -1
  514. package/dist/tabs-Bye5lgZ1.mjs +0 -424
  515. package/dist/tabs-Bye5lgZ1.mjs.map +0 -1
  516. package/dist/tabs-D-nfZHIA.js +0 -2
  517. package/dist/tabs-D-nfZHIA.js.map +0 -1
  518. package/dist/text-field-D0e-cRbG.mjs.map +0 -1
  519. package/dist/text-field-VW8ObP83.js.map +0 -1
  520. package/dist/tooltip-B-11qk-0.js +0 -2
@@ -0,0 +1,945 @@
1
+ import { jsxs as ee, jsx as s, Fragment as ke } from "react/jsx-runtime";
2
+ import { useState as xe, forwardRef as $e, useId as ye, useRef as fe, useCallback as Oe, useEffect as Ke } from "react";
3
+ import { L as ue } from "./listbox-CtV-Vcmy.mjs";
4
+ import { t as Ve } from "./use-autocomplete.es-CKb0RHKG.mjs";
5
+ import { C as Se } from "./checkbox-DaRtZXrE.mjs";
6
+ import { a as Ie } from "./dismissable-chip-group-DMNU7g5e.mjs";
7
+ import { F as He } from "./field-error-text-CBSX8dGx.mjs";
8
+ import { F as Me } from "./field-helper-text-C5ee4SFV.mjs";
9
+ import { r as Ue } from "./check-circle-filled.es-umBwOv5_.mjs";
10
+ import { l as Ye } from "./chevron-down.es-PCIIj6oG.mjs";
11
+ import { L as qe } from "./label-7sJe5-pX.mjs";
12
+ import { a as ze } from "./spinner-DRQN6YdK.mjs";
13
+ import { c as je } from "./bind-CU-R61T-.mjs";
14
+ const ie = (e) => typeof e.label == "string" ? e.label : e.value ?? "", Ge = {
15
+ "purpur-dropdown": "_purpur-dropdown_1solp_1",
16
+ "purpur-dropdown--negative": "_purpur-dropdown--negative_1solp_14",
17
+ "purpur-dropdown__label": "_purpur-dropdown__label_1solp_17",
18
+ "purpur-dropdown__field-row": "_purpur-dropdown__field-row_1solp_22",
19
+ "purpur-dropdown__frame": "_purpur-dropdown__frame_1solp_26",
20
+ "purpur-dropdown__frame--negative": "_purpur-dropdown__frame--negative_1solp_33",
21
+ "purpur-dropdown__trigger-container": "_purpur-dropdown__trigger-container_1solp_36",
22
+ "purpur-dropdown__chip-group": "_purpur-dropdown__chip-group_1solp_48",
23
+ "purpur-dropdown__trigger-container--has-tags": "_purpur-dropdown__trigger-container--has-tags_1solp_52",
24
+ "purpur-dropdown__trigger-container--disabled": "_purpur-dropdown__trigger-container--disabled_1solp_55",
25
+ "purpur-dropdown__trigger-container--readonly": "_purpur-dropdown__trigger-container--readonly_1solp_55",
26
+ "purpur-dropdown__trigger-container--negative": "_purpur-dropdown__trigger-container--negative_1solp_62",
27
+ "purpur-dropdown__trigger-container--error": "_purpur-dropdown__trigger-container--error_1solp_65",
28
+ "purpur-dropdown__trigger-container--is-valid": "_purpur-dropdown__trigger-container--is-valid_1solp_68",
29
+ "purpur-dropdown__input": "_purpur-dropdown__input_1solp_71",
30
+ "purpur-dropdown__trigger": "_purpur-dropdown__trigger_1solp_36",
31
+ "purpur-dropdown__trigger--placeholder": "_purpur-dropdown__trigger--placeholder_1solp_119",
32
+ "purpur-dropdown__trigger--is-valid": "_purpur-dropdown__trigger--is-valid_1solp_122",
33
+ "purpur-dropdown__trigger--disabled": "_purpur-dropdown__trigger--disabled_1solp_125",
34
+ "purpur-dropdown__trigger--readonly": "_purpur-dropdown__trigger--readonly_1solp_129",
35
+ "purpur-dropdown__trigger--negative": "_purpur-dropdown__trigger--negative_1solp_133",
36
+ "purpur-dropdown__trigger-text": "_purpur-dropdown__trigger-text_1solp_146",
37
+ "purpur-dropdown__combobox-container": "_purpur-dropdown__combobox-container_1solp_152",
38
+ "purpur-dropdown__combobox-container--disabled": "_purpur-dropdown__combobox-container--disabled_1solp_162",
39
+ "purpur-dropdown__combobox-container--readonly": "_purpur-dropdown__combobox-container--readonly_1solp_169",
40
+ "purpur-dropdown__combobox-container--error": "_purpur-dropdown__combobox-container--error_1solp_176",
41
+ "purpur-dropdown__combobox-container--is-valid": "_purpur-dropdown__combobox-container--is-valid_1solp_179",
42
+ "purpur-dropdown__combobox-container--negative": "_purpur-dropdown__combobox-container--negative_1solp_182",
43
+ "purpur-dropdown__input--negative": "_purpur-dropdown__input--negative_1solp_221",
44
+ "purpur-dropdown__chip-group--select": "_purpur-dropdown__chip-group--select_1solp_244",
45
+ "purpur-dropdown__chip-group-more": "_purpur-dropdown__chip-group-more_1solp_250",
46
+ "purpur-dropdown__end-adornments": "_purpur-dropdown__end-adornments_1solp_261",
47
+ "purpur-dropdown__chevron-icon": "_purpur-dropdown__chevron-icon_1solp_272",
48
+ "purpur-dropdown__chevron-icon--open": "_purpur-dropdown__chevron-icon--open_1solp_277",
49
+ "purpur-dropdown__chevron-icon--disabled": "_purpur-dropdown__chevron-icon--disabled_1solp_280",
50
+ "purpur-dropdown__chevron-icon--readonly": "_purpur-dropdown__chevron-icon--readonly_1solp_283",
51
+ "purpur-dropdown__chevron-icon--negative": "_purpur-dropdown__chevron-icon--negative_1solp_286",
52
+ "purpur-dropdown__valid-icon": "_purpur-dropdown__valid-icon_1solp_289",
53
+ "purpur-dropdown__listbox": "_purpur-dropdown__listbox_1solp_292",
54
+ "purpur-dropdown__checkbox-item-multiple": "_purpur-dropdown__checkbox-item-multiple_1solp_302",
55
+ "purpur-dropdown__checkbox-container": "_purpur-dropdown__checkbox-container_1solp_305",
56
+ "purpur-dropdown__checkbox-container--disabled": "_purpur-dropdown__checkbox-container--disabled_1solp_312",
57
+ "purpur-dropdown__select-all-child": "_purpur-dropdown__select-all-child_1solp_315"
58
+ }, m = je.bind(Ge), r = "purpur-dropdown", De = ({
59
+ fieldId: e,
60
+ htmlForSuffix: t,
61
+ label: i,
62
+ getTestId: l,
63
+ disabled: n,
64
+ negative: u,
65
+ required: h
66
+ }) => i ? /* @__PURE__ */ ee(
67
+ qe,
68
+ {
69
+ htmlFor: t ? `${e}-${t}` : e,
70
+ className: m(`${r}__label`),
71
+ "data-testid": l("label"),
72
+ disabled: n,
73
+ negative: u,
74
+ children: [
75
+ h && /* @__PURE__ */ s("span", { "aria-hidden": !0, children: "*" }),
76
+ i
77
+ ]
78
+ }
79
+ ) : null, Ne = ({
80
+ getTestId: e,
81
+ loading: t,
82
+ disabled: i,
83
+ negative: l,
84
+ isValid: n,
85
+ isOpen: u,
86
+ readOnly: h,
87
+ showChevronOpen: w
88
+ }) => /* @__PURE__ */ s("span", { className: m(`${r}__end-adornments`), children: t ? /* @__PURE__ */ s(
89
+ ze,
90
+ {
91
+ disabled: i,
92
+ size: "xxs",
93
+ negative: l,
94
+ "data-testid": e("spinner")
95
+ }
96
+ ) : /* @__PURE__ */ ee(ke, { children: [
97
+ n && /* @__PURE__ */ s(
98
+ Ue,
99
+ {
100
+ "data-testid": e("valid-icon"),
101
+ className: m(`${r}__valid-icon`)
102
+ }
103
+ ),
104
+ /* @__PURE__ */ s(
105
+ Ye,
106
+ {
107
+ className: m(`${r}__chevron-icon`, {
108
+ [`${r}__chevron-icon--open`]: w && u,
109
+ [`${r}__chevron-icon--disabled`]: i,
110
+ [`${r}__chevron-icon--readonly`]: h && !i,
111
+ [`${r}__chevron-icon--is-valid`]: n,
112
+ [`${r}__chevron-icon--negative`]: l
113
+ }),
114
+ "data-testid": e("dropdown-icon"),
115
+ size: "sm"
116
+ }
117
+ )
118
+ ] }) }), Ce = 6, Le = ({
119
+ selectedItems: e,
120
+ getTestId: t,
121
+ disabled: i,
122
+ negative: l,
123
+ onRemove: n,
124
+ isSelect: u,
125
+ moreOptionsText: h,
126
+ removeOptionAriaLabel: w
127
+ }) => {
128
+ if (!e.length) return null;
129
+ const p = h !== void 0 && e.length > Ce ? e.slice(-Ce) : e, b = e.length - p.length;
130
+ return /* @__PURE__ */ ee(
131
+ Ie,
132
+ {
133
+ className: m(`${r}__chip-group`, {
134
+ [`${r}__chip-group--select`]: u
135
+ }),
136
+ negative: l,
137
+ "data-testid": t("tags"),
138
+ size: "sm",
139
+ children: [
140
+ p.map((d) => /* @__PURE__ */ s(
141
+ Ie.Item,
142
+ {
143
+ id: d.id,
144
+ "data-testid": t(`tag-${d.id}`),
145
+ "aria-label": w ? `${w} ${ie(d)}` : ie(d),
146
+ onDismiss: () => {
147
+ n(d);
148
+ },
149
+ disabled: i || d.disabled,
150
+ children: d.label
151
+ },
152
+ d.id
153
+ )),
154
+ b > 0 && /* @__PURE__ */ s(
155
+ "li",
156
+ {
157
+ className: m(`${r}__chip-group-more`),
158
+ "data-testid": t("tags-more"),
159
+ children: `+${b} ${h}`
160
+ }
161
+ )
162
+ ]
163
+ }
164
+ );
165
+ }, Ae = ({
166
+ errorText: e,
167
+ helperText: t,
168
+ helperTextId: i,
169
+ negative: l
170
+ }) => /* @__PURE__ */ ee(ke, { children: [
171
+ e && /* @__PURE__ */ s(He, { negative: l, children: e }),
172
+ t && !e && /* @__PURE__ */ s(Me, { id: i, negative: l, children: t })
173
+ ] }), ne = "__purpur-dropdown-select-all__", Ee = ({
174
+ selectAllLabel: e,
175
+ multiple: t,
176
+ options: i,
177
+ selectedItems: l
178
+ }) => !e || !t || i.filter((w) => !w.disabled).length === 0 ? !1 : !i.filter((w) => w.disabled).some(
179
+ (w) => !l.some((C) => C.id === w.id)
180
+ ), Re = ({
181
+ optionsToShow: e,
182
+ getListboxItemProps: t,
183
+ multiple: i,
184
+ negative: l,
185
+ fieldId: n,
186
+ noOptionsText: u,
187
+ selectAllLabel: h,
188
+ selectedItems: w = []
189
+ }) => {
190
+ if (u !== void 0 && !e.length)
191
+ return /* @__PURE__ */ s(ue.Item, { noninteractive: !0, children: u });
192
+ const C = e[0]?.id === ne;
193
+ let p = !1;
194
+ if (C) {
195
+ const d = e.filter((a) => a.id !== ne).filter((a) => !a.disabled), _ = d.filter(
196
+ (a) => w.some((y) => y.id === a.id)
197
+ ).length, $ = d.length > 0 && _ === d.length, f = w.length > 0;
198
+ p = $ ? !0 : f ? "indeterminate" : !1;
199
+ }
200
+ return e.map((b, d) => {
201
+ const { key: _, selected: $, ...f } = t(b, d);
202
+ return b.id === ne ? /* @__PURE__ */ s(
203
+ ue.Item,
204
+ {
205
+ ...f,
206
+ "aria-selected": p === !0,
207
+ className: m(
208
+ `${r}__checkbox-item-multiple`,
209
+ `${r}__select-all-item`
210
+ ),
211
+ hideSelectedIcon: !0,
212
+ children: /* @__PURE__ */ s("span", { className: m(`${r}__checkbox-container`), children: /* @__PURE__ */ s(
213
+ Se,
214
+ {
215
+ id: `${n}-checkbox-select-all`,
216
+ checked: p,
217
+ label: h,
218
+ negative: l,
219
+ "aria-hidden": !0
220
+ }
221
+ ) })
222
+ },
223
+ _
224
+ ) : i ? /* @__PURE__ */ s(
225
+ ue.Item,
226
+ {
227
+ ...f,
228
+ className: m(`${r}__checkbox-item-multiple`, {
229
+ [`${r}__select-all-child`]: C
230
+ }),
231
+ selected: !!$,
232
+ hideSelectedIcon: !0,
233
+ children: /* @__PURE__ */ s(
234
+ "span",
235
+ {
236
+ className: m(`${r}__checkbox-container`, {
237
+ [`${r}__checkbox-container--disabled`]: b.disabled
238
+ }),
239
+ children: /* @__PURE__ */ s(
240
+ Se,
241
+ {
242
+ id: `${n}-checkbox-${b.id}`,
243
+ checked: !!$,
244
+ label: b.label,
245
+ negative: l,
246
+ "aria-hidden": !0,
247
+ disabled: b.disabled
248
+ }
249
+ )
250
+ }
251
+ )
252
+ },
253
+ _
254
+ ) : /* @__PURE__ */ s(ue.Item, { ...f, selected: !!$, children: /* @__PURE__ */ s("div", { children: b.label }) }, _);
255
+ });
256
+ }, We = (e, t, i) => {
257
+ if (i)
258
+ return e.filter((n) => i(t, n));
259
+ if (!t) return e;
260
+ const l = t.toUpperCase().split(" ");
261
+ return e.filter(
262
+ (n) => l.every(
263
+ (u) => (n.value || (typeof n.label == "string" ? n.label : "")).toUpperCase().includes(u)
264
+ )
265
+ );
266
+ }, Te = ({
267
+ options: e,
268
+ searchTerm: t,
269
+ filterOption: i,
270
+ selectedOption: l,
271
+ multiple: n
272
+ }) => !n && l && ie(l) === t ? e : We(e, t, i), Be = ({
273
+ controlledInputValue: e,
274
+ defaultInputValue: t,
275
+ selectedOption: i,
276
+ onInputChange: l
277
+ }) => {
278
+ const [n, u] = xe(
279
+ (typeof e == "string" ? e : t ?? (i ? ie(i) : void 0)) ?? ""
280
+ );
281
+ return {
282
+ displayInputValue: typeof e == "string" ? e : n,
283
+ populateInputField: (C) => {
284
+ l?.(C), u(C);
285
+ }
286
+ };
287
+ }, Fe = $e((e, t) => {
288
+ const {
289
+ id: i,
290
+ label: l,
291
+ options: n,
292
+ className: u,
293
+ errorText: h,
294
+ helperText: w,
295
+ placeholder: C,
296
+ negative: p = !1,
297
+ readOnly: b = !1,
298
+ disabled: d = !1,
299
+ required: _ = !1,
300
+ valid: $,
301
+ loading: f,
302
+ multiple: a = !1,
303
+ selectedOption: y,
304
+ selectedOptions: N = [],
305
+ onSelect: S,
306
+ openOnFocus: se = !1,
307
+ listboxMaxHeight: A,
308
+ listboxLabel: _e,
309
+ filterOption: F,
310
+ inputValue: re,
311
+ defaultInputValue: U,
312
+ onInputChange: g,
313
+ noOptionsText: oe,
314
+ highlightFirstOption: P = !1,
315
+ selectAllLabel: k,
316
+ moreOptionsText: X,
317
+ removeOptionAriaLabel: E,
318
+ ["data-testid"]: I
319
+ } = e, Y = ye(), K = i ?? Y, O = (c) => I ? `${I}-${c}` : void 0, q = !!$ && !h, z = `${K}-helper-text`, x = a ? N : y ? [y] : [], { displayInputValue: j, populateInputField: J } = Be({
320
+ controlledInputValue: re,
321
+ defaultInputValue: U,
322
+ selectedOption: y,
323
+ onInputChange: g
324
+ }), le = Te({
325
+ options: n,
326
+ searchTerm: j,
327
+ filterOption: F,
328
+ selectedOption: y,
329
+ multiple: a
330
+ }), de = Ee({
331
+ selectAllLabel: k,
332
+ multiple: a,
333
+ options: n,
334
+ selectedItems: x
335
+ }), te = de && (de && !j) ? [{ id: ne, label: k }, ...le] : le, V = () => {
336
+ const c = n.filter((D) => !D.disabled);
337
+ if (c.every(
338
+ (D) => x.some((B) => B.id === D.id)
339
+ )) {
340
+ const D = x.filter((B) => B.disabled);
341
+ S?.(void 0, D);
342
+ } else {
343
+ const B = [...x.filter((ve) => ve.disabled), ...c];
344
+ S?.(void 0, B);
345
+ }
346
+ J("");
347
+ }, ge = (c) => {
348
+ if (c.id === ne) {
349
+ V();
350
+ return;
351
+ }
352
+ if (a) {
353
+ const D = x.some((B) => B.id === c.id) ? x.filter((B) => B.id !== c.id) : [...x, c];
354
+ S?.(c, D), J("");
355
+ } else
356
+ S?.(c, [c]), J(ie(c));
357
+ }, {
358
+ rootRef: Q,
359
+ inputRef: Z,
360
+ inputProps: G,
361
+ listboxProps: ae,
362
+ getListboxItemProps: he,
363
+ isOpen: v,
364
+ openListbox: M,
365
+ anchorStyle: R
366
+ } = Ve({
367
+ id: K,
368
+ // useAutocomplete only reads id/disabled, never label's value, so this is safe even though
369
+ // DropdownOption.label can be a ReactNode instead of the string it's typed to require.
370
+ options: te,
371
+ listboxLabel: _e || l || "Options",
372
+ selectedOption: a ? void 0 : y,
373
+ disabled: d,
374
+ readOnly: b,
375
+ openOnFocus: se,
376
+ listboxMaxHeight: A,
377
+ highlightFirstOption: P,
378
+ closeOnSelect: !a,
379
+ noOptionsText: oe,
380
+ negative: p,
381
+ onSelect: ge,
382
+ "data-testid": I
383
+ }), W = (c) => {
384
+ Q.current = c, typeof t == "function" ? t(c) : t && (t.current = c);
385
+ }, be = (c, L) => {
386
+ const D = he(c, L);
387
+ if (a) {
388
+ const B = x.some((ve) => ve.id === c.id);
389
+ return { ...D, selected: B, "aria-selected": B };
390
+ }
391
+ return D;
392
+ }, o = (c) => {
393
+ const L = x.filter((D) => D.id !== c.id);
394
+ S?.(c, L);
395
+ }, T = (c) => {
396
+ if (a && c.key === "Backspace" && c.currentTarget.value === "" && x.length > 0) {
397
+ for (let L = x.length - 1; L >= 0; L--)
398
+ if (!x[L].disabled) {
399
+ o(x[L]);
400
+ break;
401
+ }
402
+ }
403
+ G?.onKeyDown?.(c);
404
+ }, ce = (c) => {
405
+ J(c.target.value), v || M();
406
+ }, H = (c) => {
407
+ if (d || b) return;
408
+ const L = c.target;
409
+ if (L === Z.current || L.closest("button"))
410
+ return;
411
+ const D = Z.current;
412
+ D?.dispatchEvent(new MouseEvent("mousedown", { bubbles: !0 })), D?.focus();
413
+ }, we = a && !!k && n.length > 0 && n.every((c) => x.some((L) => L.id === c.id)), pe = m(r, u, {
414
+ [`${r}--negative`]: p
415
+ });
416
+ return /* @__PURE__ */ ee("div", { ref: W, className: pe, children: [
417
+ /* @__PURE__ */ s(
418
+ De,
419
+ {
420
+ fieldId: K,
421
+ htmlForSuffix: "input",
422
+ label: l,
423
+ getTestId: O,
424
+ disabled: d,
425
+ negative: p,
426
+ required: _
427
+ }
428
+ ),
429
+ /* @__PURE__ */ s("div", { className: m(`${r}__field-row`), children: /* @__PURE__ */ ee(
430
+ "div",
431
+ {
432
+ className: m(`${r}__combobox-container`, {
433
+ [`${r}__combobox-container--error`]: !!h,
434
+ [`${r}__combobox-container--is-valid`]: q,
435
+ [`${r}__combobox-container--negative`]: p,
436
+ [`${r}__combobox-container--disabled`]: d,
437
+ [`${r}__combobox-container--readonly`]: b && !d
438
+ }),
439
+ style: R,
440
+ onClick: H,
441
+ children: [
442
+ a && !we && /* @__PURE__ */ s(
443
+ Le,
444
+ {
445
+ selectedItems: x,
446
+ getTestId: O,
447
+ disabled: d,
448
+ negative: p,
449
+ onRemove: o,
450
+ moreOptionsText: X,
451
+ removeOptionAriaLabel: E
452
+ }
453
+ ),
454
+ /* @__PURE__ */ s(
455
+ "input",
456
+ {
457
+ ...G,
458
+ ref: Z,
459
+ id: `${K}-input`,
460
+ "data-testid": O("input"),
461
+ onKeyDown: T,
462
+ onChange: ce,
463
+ value: we && !j ? k : j,
464
+ placeholder: C,
465
+ className: m(`${r}__input`, {
466
+ [`${r}__input--negative`]: p
467
+ }),
468
+ "aria-describedby": z,
469
+ "aria-invalid": !!h,
470
+ disabled: d,
471
+ readOnly: b
472
+ }
473
+ ),
474
+ /* @__PURE__ */ s(
475
+ Ne,
476
+ {
477
+ getTestId: O,
478
+ loading: f,
479
+ disabled: d,
480
+ negative: p,
481
+ isValid: q,
482
+ isOpen: v,
483
+ showChevronOpen: !0
484
+ }
485
+ ),
486
+ /* @__PURE__ */ s(
487
+ "span",
488
+ {
489
+ className: m(`${r}__frame`, {
490
+ [`${r}__frame--negative`]: p
491
+ })
492
+ }
493
+ )
494
+ ]
495
+ }
496
+ ) }),
497
+ v && /* @__PURE__ */ s(ue, { ...ae, className: m(`${r}__listbox`), children: Re({
498
+ optionsToShow: te,
499
+ getListboxItemProps: be,
500
+ multiple: a,
501
+ negative: p,
502
+ fieldId: K,
503
+ noOptionsText: oe,
504
+ selectAllLabel: k,
505
+ selectedItems: x
506
+ }) }),
507
+ /* @__PURE__ */ s(
508
+ Ae,
509
+ {
510
+ errorText: h,
511
+ helperText: w,
512
+ helperTextId: z,
513
+ negative: p
514
+ }
515
+ )
516
+ ] });
517
+ });
518
+ Fe.displayName = "DropdownCombobox";
519
+ const Xe = ({
520
+ options: e,
521
+ highlightFirstOption: t
522
+ }) => {
523
+ const i = fe(null), l = fe({}), [n, u] = xe(
524
+ t ? e[0] : void 0
525
+ ), h = (_) => {
526
+ if (_) {
527
+ const $ = _.getBoundingClientRect(), f = i.current?.getBoundingClientRect() || { top: 0, bottom: 0 };
528
+ ($.top < f.top || $.bottom > f.bottom) && _.scrollIntoView({ block: "nearest" });
529
+ }
530
+ };
531
+ return {
532
+ highlightedOption: n,
533
+ listboxRef: i,
534
+ optionRefs: l,
535
+ findNextOption: (_, $) => {
536
+ const f = $.filter((y) => !y.disabled);
537
+ if (!f.length) return;
538
+ const a = n ? f.findIndex((y) => y.id === n.id) : -1;
539
+ return _ === "ArrowDown" ? f[(a + 1) % f.length] : f[(a - 1 + f.length) % f.length];
540
+ },
541
+ highlightOption: (_) => {
542
+ u(_ ? { ..._ } : void 0), _ && h(l.current[_.id]);
543
+ },
544
+ highlightByClick: (_) => {
545
+ _.id !== n?.id && u({ ..._, isSetByClickEvent: !0 });
546
+ },
547
+ highlightSelected: (_, $) => {
548
+ requestAnimationFrame(() => {
549
+ u({ ..._, isSetByClickEvent: $ === "CLICK" }), h(l.current[_.id]);
550
+ });
551
+ },
552
+ resetHighlight: () => {
553
+ u(void 0);
554
+ }
555
+ };
556
+ }, Je = (e, t) => {
557
+ const i = Oe(
558
+ (l) => {
559
+ e && !e.contains(l.target) && t();
560
+ },
561
+ [t, e]
562
+ );
563
+ Ke(() => (document.addEventListener("mousedown", i), () => {
564
+ document.removeEventListener("mousedown", i);
565
+ }), [i]);
566
+ }, Qe = ({
567
+ id: e,
568
+ variant: t,
569
+ options: i,
570
+ listboxLabel: l,
571
+ multiple: n = !1,
572
+ selectedOption: u,
573
+ selectedOptions: h = [],
574
+ onSelect: w,
575
+ filterOption: C,
576
+ inputValue: p,
577
+ defaultInputValue: b,
578
+ onInputChange: d,
579
+ noOptionsText: _,
580
+ highlightFirstOption: $ = !1,
581
+ openOnFocus: f = !1,
582
+ listboxMaxHeight: a,
583
+ negative: y,
584
+ disabled: N = !1,
585
+ readOnly: S = !1,
586
+ ["data-testid"]: se
587
+ }) => {
588
+ const A = t === "combobox", _e = ye(), F = fe(null), re = fe(null), U = fe(null), g = Xe({ options: i, highlightFirstOption: $ }), { displayInputValue: oe, populateInputField: P } = Be({
589
+ controlledInputValue: p,
590
+ defaultInputValue: b,
591
+ selectedOption: u,
592
+ onInputChange: d
593
+ }), [k, X] = xe(!1), E = () => {
594
+ X(!1), g.resetHighlight();
595
+ };
596
+ Je(F.current, E);
597
+ const I = ({ eventType: o }) => {
598
+ X(!0);
599
+ const T = n ? void 0 : u;
600
+ T && g.highlightSelected(T, o);
601
+ }, Y = n ? h : u ? [u] : [], K = A ? Te({
602
+ options: i,
603
+ searchTerm: oe,
604
+ filterOption: C,
605
+ selectedOption: u,
606
+ multiple: n
607
+ }) : i, O = k && (!!K.length || !!_), q = (o) => se ? `${se}-${o}` : void 0, z = (o) => {
608
+ if (!(!o || o.disabled))
609
+ if (n) {
610
+ const ce = Y.some((H) => H.id === o.id) ? Y.filter((H) => H.id !== o.id) : [...Y, o];
611
+ w?.(o, ce), A && (P(""), U.current?.focus());
612
+ } else
613
+ w?.(o, [o]), A && P(ie(o)), E(), (A ? U : re).current?.focus();
614
+ }, x = (o) => {
615
+ O || I({ eventType: "KEYBOARD" });
616
+ const T = g.findNextOption(o, K);
617
+ g.highlightOption(T);
618
+ }, j = (o) => {
619
+ if (!(N || S))
620
+ switch (o.key) {
621
+ case "ArrowUp":
622
+ case "ArrowDown":
623
+ o.preventDefault(), x(o.key);
624
+ break;
625
+ case "Enter": {
626
+ o.preventDefault(), O && g.highlightedOption ? z(g.highlightedOption) : O || I({ eventType: "KEYBOARD" });
627
+ break;
628
+ }
629
+ case " ": {
630
+ A || (o.preventDefault(), O && g.highlightedOption ? z(g.highlightedOption) : O || I({ eventType: "KEYBOARD" }));
631
+ break;
632
+ }
633
+ case "Escape":
634
+ o.preventDefault(), E();
635
+ break;
636
+ case "Tab":
637
+ E();
638
+ break;
639
+ case "Home":
640
+ case "End":
641
+ A && E();
642
+ break;
643
+ }
644
+ }, J = (o) => {
645
+ P(o.target.value), g.resetHighlight(), k || I({ eventType: "KEYBOARD" });
646
+ }, le = () => {
647
+ N || S || (k ? E() : I({ eventType: "CLICK" }));
648
+ }, de = () => {
649
+ !k && f && !N && !S && I({ eventType: "KEYBOARD" }), U.current?.select();
650
+ }, me = () => {
651
+ setTimeout(() => {
652
+ const o = document.activeElement;
653
+ o !== document.body && !U.current?.contains(o) && !g.listboxRef.current?.contains(o) && !F.current?.contains(o) && (E(), A && !n && P(u ? ie(u) : ""));
654
+ });
655
+ }, te = () => {
656
+ N || S || (k ? E() : I({ eventType: "CLICK" }));
657
+ }, V = (o) => {
658
+ if (N || S) return;
659
+ const T = o.target.closest("button");
660
+ T && T !== re.current || te();
661
+ }, ge = () => {
662
+ !k && f && !N && !S && I({ eventType: "KEYBOARD" });
663
+ }, Q = `${e}-listbox`, Z = (o) => `${e}-listbox-item-${o.id}`, G = `--purpur-dropdown-${_e.replace(/:/g, "")}`, ae = { anchorName: G }, he = A ? null : {
664
+ onClick: V
665
+ }, v = Oe(
666
+ (o) => {
667
+ if (g.listboxRef.current = o, o && typeof o.showPopover == "function")
668
+ try {
669
+ o.showPopover();
670
+ } catch {
671
+ }
672
+ },
673
+ [g.listboxRef]
674
+ ), M = {
675
+ "aria-label": l,
676
+ "aria-expanded": O,
677
+ "data-testid": q("listbox"),
678
+ id: Q,
679
+ ref: v,
680
+ onMouseLeave: () => g.resetHighlight(),
681
+ popover: "manual",
682
+ negative: y,
683
+ style: {
684
+ ...a ? {
685
+ maxHeight: typeof a == "number" ? `${a}px` : a
686
+ } : {},
687
+ positionAnchor: G
688
+ }
689
+ }, R = (o, T) => {
690
+ const ce = Y.some((pe) => pe.id === o.id), { highlightedOption: H } = g, we = (o.id === H?.id || $ && !H && T === 0) && !H?.isSetByClickEvent;
691
+ return {
692
+ "data-testid": q(`listbox-item-${o.id}`),
693
+ id: Z(o),
694
+ key: o.id,
695
+ onMouseMove: () => g.highlightByClick(o),
696
+ onMouseUp: () => z(o),
697
+ ref: (pe) => {
698
+ pe && (g.optionRefs.current[o.id] = pe);
699
+ },
700
+ tabIndex: -1,
701
+ selected: ce,
702
+ disabled: o.disabled,
703
+ highlighted: we,
704
+ hovered: o.id === H?.id && !!H?.isSetByClickEvent,
705
+ "aria-selected": ce
706
+ };
707
+ }, W = A ? {} : {
708
+ ref: re,
709
+ type: "button",
710
+ role: "combobox",
711
+ "aria-haspopup": "listbox",
712
+ "aria-expanded": O,
713
+ "aria-controls": Q,
714
+ "aria-disabled": N,
715
+ "data-testid": q("trigger"),
716
+ id: `${e}-trigger`,
717
+ onKeyDown: j,
718
+ onFocus: ge,
719
+ disabled: N,
720
+ tabIndex: N ? -1 : 0,
721
+ style: ae
722
+ }, be = A ? {
723
+ ref: U,
724
+ role: "combobox",
725
+ "aria-autocomplete": "list",
726
+ "aria-expanded": O,
727
+ "aria-controls": Q,
728
+ "aria-activedescendant": g.highlightedOption ? Z(g.highlightedOption) : void 0,
729
+ "data-testid": q("input"),
730
+ autoComplete: "off",
731
+ id: `${e}-input`,
732
+ type: "text",
733
+ value: oe,
734
+ onChange: J,
735
+ onMouseDown: le,
736
+ onFocus: de,
737
+ onBlur: me,
738
+ onKeyDown: j,
739
+ disabled: N,
740
+ readOnly: S
741
+ } : null;
742
+ return {
743
+ rootRef: F,
744
+ triggerContainerProps: he,
745
+ triggerProps: W,
746
+ inputProps: be,
747
+ listboxProps: M,
748
+ getListboxItemProps: R,
749
+ optionsToShow: K,
750
+ isOpen: O,
751
+ highlightedOption: g.highlightedOption,
752
+ selectedItems: Y,
753
+ anchorStyle: ae
754
+ };
755
+ }, Pe = $e((e, t) => {
756
+ const {
757
+ id: i,
758
+ label: l,
759
+ options: n,
760
+ className: u,
761
+ errorText: h,
762
+ helperText: w,
763
+ placeholder: C,
764
+ negative: p = !1,
765
+ readOnly: b = !1,
766
+ disabled: d = !1,
767
+ required: _ = !1,
768
+ valid: $ = !1,
769
+ loading: f = !1,
770
+ multiple: a = !1,
771
+ selectedOption: y,
772
+ selectedOptions: N = [],
773
+ onSelect: S,
774
+ openOnFocus: se = !1,
775
+ listboxMaxHeight: A,
776
+ listboxLabel: _e,
777
+ selectAllLabel: F,
778
+ moreOptionsText: re,
779
+ removeOptionAriaLabel: U,
780
+ ["data-testid"]: g
781
+ } = e, oe = ye(), P = i ?? oe, k = (v) => g ? `${g}-${v}` : void 0, X = !!$ && !h, E = `${P}-helper-text`, I = a ? N : y ? [y] : [], Y = Ee({
782
+ selectAllLabel: F,
783
+ multiple: a,
784
+ options: n,
785
+ selectedItems: I
786
+ }), K = () => {
787
+ const v = n.filter((R) => !R.disabled);
788
+ if (v.every(
789
+ (R) => I.some((W) => W.id === R.id)
790
+ )) {
791
+ const R = I.filter((W) => W.disabled);
792
+ S?.(void 0, R);
793
+ } else {
794
+ const W = [...I.filter((be) => be.disabled), ...v];
795
+ S?.(void 0, W);
796
+ }
797
+ }, O = (v, M) => {
798
+ if (v?.id === ne) {
799
+ K();
800
+ return;
801
+ }
802
+ S?.(v, M);
803
+ }, q = Y ? [{ id: ne, label: F }, ...n] : n, z = Qe({
804
+ id: P,
805
+ variant: "select",
806
+ options: q,
807
+ listboxLabel: _e || l || "Options",
808
+ multiple: a,
809
+ negative: p,
810
+ selectedOption: y,
811
+ selectedOptions: N,
812
+ onSelect: O,
813
+ openOnFocus: se,
814
+ listboxMaxHeight: A,
815
+ disabled: d,
816
+ readOnly: b,
817
+ "data-testid": g
818
+ }), x = (v) => {
819
+ z.rootRef.current = v, typeof t == "function" ? t(v) : t && (t.current = v);
820
+ }, {
821
+ triggerContainerProps: j,
822
+ triggerProps: J,
823
+ listboxProps: le,
824
+ getListboxItemProps: de,
825
+ optionsToShow: me,
826
+ isOpen: te,
827
+ selectedItems: V,
828
+ anchorStyle: ge
829
+ } = z, Q = {
830
+ ...J
831
+ };
832
+ delete Q.style;
833
+ const Z = (v) => {
834
+ const M = V.filter((R) => R.id !== v.id);
835
+ S?.(v, M);
836
+ }, G = a && !!F && n.length > 0 && n.every((v) => V.some((M) => M.id === v.id)), ae = a ? G ? F : V.length === 0 && C || "" : y?.label || C || "", he = m(r, u, {
837
+ [`${r}--negative`]: p
838
+ });
839
+ return /* @__PURE__ */ ee("div", { ref: x, className: he, children: [
840
+ /* @__PURE__ */ s(
841
+ De,
842
+ {
843
+ fieldId: P,
844
+ htmlForSuffix: "trigger",
845
+ label: l,
846
+ getTestId: k,
847
+ disabled: d,
848
+ negative: p,
849
+ required: _
850
+ }
851
+ ),
852
+ /* @__PURE__ */ s("div", { className: m(`${r}__field-row`), children: /* @__PURE__ */ ee(
853
+ "div",
854
+ {
855
+ ...j,
856
+ className: m(`${r}__trigger-container`, {
857
+ [`${r}__trigger-container--error`]: !!h,
858
+ [`${r}__trigger-container--is-valid`]: X,
859
+ [`${r}__trigger-container--negative`]: p,
860
+ [`${r}__trigger-container--disabled`]: d,
861
+ [`${r}__trigger-container--readonly`]: b && !d,
862
+ [`${r}__trigger-container--has-tags`]: a && V.length > 0 && !G
863
+ }),
864
+ style: ge,
865
+ children: [
866
+ a && !G && /* @__PURE__ */ s(
867
+ Le,
868
+ {
869
+ selectedItems: V,
870
+ getTestId: k,
871
+ disabled: d,
872
+ negative: p,
873
+ onRemove: Z,
874
+ moreOptionsText: re,
875
+ removeOptionAriaLabel: U,
876
+ isSelect: !0
877
+ }
878
+ ),
879
+ /* @__PURE__ */ s(
880
+ "button",
881
+ {
882
+ ...Q,
883
+ className: m(`${r}__trigger`, {
884
+ [`${r}__trigger--is-valid`]: X,
885
+ [`${r}__trigger--negative`]: p,
886
+ [`${r}__trigger--disabled`]: d,
887
+ [`${r}__trigger--readonly`]: b && !d,
888
+ [`${r}__trigger--placeholder`]: !V.length
889
+ }),
890
+ "aria-describedby": E,
891
+ children: /* @__PURE__ */ s("span", { className: m(`${r}__trigger-text`), children: ae })
892
+ }
893
+ ),
894
+ /* @__PURE__ */ s(
895
+ Ne,
896
+ {
897
+ getTestId: k,
898
+ loading: f,
899
+ disabled: d,
900
+ negative: p,
901
+ isValid: X,
902
+ isOpen: te,
903
+ readOnly: b,
904
+ showChevronOpen: !0
905
+ }
906
+ ),
907
+ /* @__PURE__ */ s(
908
+ "span",
909
+ {
910
+ className: m(`${r}__frame`, {
911
+ [`${r}__frame--negative`]: p
912
+ })
913
+ }
914
+ )
915
+ ]
916
+ }
917
+ ) }),
918
+ te && /* @__PURE__ */ s(ue, { ...le, className: m(`${r}__listbox`), children: Re({
919
+ optionsToShow: me,
920
+ getListboxItemProps: de,
921
+ multiple: a,
922
+ negative: p,
923
+ fieldId: P,
924
+ selectAllLabel: F,
925
+ selectedItems: V
926
+ }) }),
927
+ /* @__PURE__ */ s(
928
+ Ae,
929
+ {
930
+ errorText: h,
931
+ helperText: w,
932
+ helperTextId: E,
933
+ negative: p
934
+ }
935
+ )
936
+ ] });
937
+ });
938
+ Pe.displayName = "DropdownSelect";
939
+ const Ze = $e((e, t) => e.combobox ? /* @__PURE__ */ s(Fe, { ref: t, ...e }) : /* @__PURE__ */ s(Pe, { ref: t, ...e }));
940
+ Ze.displayName = "Dropdown";
941
+ export {
942
+ Ze as D,
943
+ Qe as u
944
+ };
945
+ //# sourceMappingURL=dropdown-CrufJnb4.mjs.map