@purpur/library 9.8.0 → 9.9.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 (1101) hide show
  1. package/CHANGELOG.json +84 -0
  2. package/CHANGELOG.md +35 -1
  3. package/dist/{RichText-yobCUjTD.js → RichText-BAVZadzi.js} +2 -2
  4. package/dist/{RichText-yobCUjTD.js.map → RichText-BAVZadzi.js.map} +1 -1
  5. package/dist/{RichText-jZ-sHV-u.mjs → RichText-D4vznH1B.mjs} +2 -2
  6. package/dist/{RichText-jZ-sHV-u.mjs.map → RichText-D4vznH1B.mjs.map} +1 -1
  7. package/dist/{accordion-CIU4U8-4.mjs → accordion-B6OoQ4uZ.mjs} +2 -2
  8. package/dist/{accordion-CIU4U8-4.mjs.map → accordion-B6OoQ4uZ.mjs.map} +1 -1
  9. package/dist/{accordion-DyhOG54L.js → accordion-BfpN5h4C.js} +2 -2
  10. package/dist/{accordion-DyhOG54L.js.map → accordion-BfpN5h4C.js.map} +1 -1
  11. package/dist/accordion.cjs.js +1 -1
  12. package/dist/accordion.es.js +1 -1
  13. package/dist/{autocomplete-Bbth0nDG.js → autocomplete-C6FXaaAT.js} +2 -2
  14. package/dist/{autocomplete-Bbth0nDG.js.map → autocomplete-C6FXaaAT.js.map} +1 -1
  15. package/dist/{autocomplete-A9-Ni60G.mjs → autocomplete-q4ObPRfM.mjs} +3 -3
  16. package/dist/{autocomplete-A9-Ni60G.mjs.map → autocomplete-q4ObPRfM.mjs.map} +1 -1
  17. package/dist/autocomplete.cjs.js +1 -1
  18. package/dist/autocomplete.es.js +1 -1
  19. package/dist/avatar-BDF2KuEh.mjs +28 -0
  20. package/dist/avatar-BDF2KuEh.mjs.map +1 -0
  21. package/dist/avatar-nDQ8fk-2.js +2 -0
  22. package/dist/avatar-nDQ8fk-2.js.map +1 -0
  23. package/dist/avatar.cjs.js +1 -1
  24. package/dist/avatar.es.js +1 -1
  25. package/dist/button-4-yWOgtD.mjs.map +1 -1
  26. package/dist/button-DmybVApa.js.map +1 -1
  27. package/dist/{card-DFdUs5RG.js → card-pdsBEJif.js} +2 -2
  28. package/dist/{card-DFdUs5RG.js.map → card-pdsBEJif.js.map} +1 -1
  29. package/dist/{card-C2mdp-ur.mjs → card-t2ZkZ82G.mjs} +2 -2
  30. package/dist/{card-C2mdp-ur.mjs.map → card-t2ZkZ82G.mjs.map} +1 -1
  31. package/dist/card.cjs.js +1 -1
  32. package/dist/card.es.js +1 -1
  33. package/dist/{checkbox-BHTx89JQ.mjs → checkbox-DaRtZXrE.mjs} +2 -2
  34. package/dist/{checkbox-BHTx89JQ.mjs.map → checkbox-DaRtZXrE.mjs.map} +1 -1
  35. package/dist/{checkbox-CDNcNv6d.js → checkbox-qjWQEoa5.js} +2 -2
  36. package/dist/{checkbox-CDNcNv6d.js.map → checkbox-qjWQEoa5.js.map} +1 -1
  37. package/dist/checkbox.cjs.js +1 -1
  38. package/dist/checkbox.es.js +1 -1
  39. package/dist/comparison-table-D1evE0ri.mjs +293 -0
  40. package/dist/comparison-table-D1evE0ri.mjs.map +1 -0
  41. package/dist/comparison-table-Dtqxz8vL.js +2 -0
  42. package/dist/comparison-table-Dtqxz8vL.js.map +1 -0
  43. package/dist/comparison-table.cjs.js +1 -1
  44. package/dist/comparison-table.es.js +1 -1
  45. package/dist/components/alert-badge/src/alert-badge.visual.fixtures.d.ts +15 -0
  46. package/dist/components/alert-badge/src/alert-badge.visual.fixtures.d.ts.map +1 -0
  47. package/dist/components/avatar/src/avatar.d.ts +2 -2
  48. package/dist/components/avatar/src/avatar.d.ts.map +1 -1
  49. package/dist/components/avatar/src/avatar.visual.fixtures.d.ts +14 -0
  50. package/dist/components/avatar/src/avatar.visual.fixtures.d.ts.map +1 -0
  51. package/dist/components/badge/src/badge.visual.fixtures.d.ts.map +1 -1
  52. package/dist/components/button/src/button.d.ts +3 -22
  53. package/dist/components/button/src/button.d.ts.map +1 -1
  54. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
  55. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts.map +1 -1
  56. package/dist/components/countdown/src/countdown.d.ts.map +1 -1
  57. package/dist/components/countdown/src/countdown.types.d.ts +10 -0
  58. package/dist/components/countdown/src/countdown.types.d.ts.map +1 -1
  59. package/dist/components/countdown/src/countdown.visual.fixtures.d.ts +13 -0
  60. package/dist/components/countdown/src/countdown.visual.fixtures.d.ts.map +1 -0
  61. package/dist/components/countdown/src/utils.d.ts +1 -1
  62. package/dist/components/countdown/src/utils.d.ts.map +1 -1
  63. package/dist/components/counter-badge/src/counter-badge.visual.fixtures.d.ts +13 -0
  64. package/dist/components/counter-badge/src/counter-badge.visual.fixtures.d.ts.map +1 -0
  65. package/dist/components/cta-link/src/cta-link.d.ts +6 -4
  66. package/dist/components/cta-link/src/cta-link.d.ts.map +1 -1
  67. package/dist/components/cta-link/src/cta-link.visual.fixtures.d.ts +14 -0
  68. package/dist/components/cta-link/src/cta-link.visual.fixtures.d.ts.map +1 -0
  69. package/dist/components/date-field/src/date-field.visual.fixtures.d.ts +14 -0
  70. package/dist/components/date-field/src/date-field.visual.fixtures.d.ts.map +1 -0
  71. package/dist/components/icon/src/all-icon-components.d.ts +3 -0
  72. package/dist/components/icon/src/all-icon-components.d.ts.map +1 -1
  73. package/dist/components/icon/src/all-icons.d.ts +3 -0
  74. package/dist/components/icon/src/all-icons.d.ts.map +1 -1
  75. package/dist/components/icon/src/assets/moon.d.ts +7 -0
  76. package/dist/components/icon/src/assets/moon.d.ts.map +1 -0
  77. package/dist/components/icon/src/assets/sun.d.ts +7 -0
  78. package/dist/components/icon/src/assets/sun.d.ts.map +1 -0
  79. package/dist/components/icon/src/assets/unpin.d.ts +7 -0
  80. package/dist/components/icon/src/assets/unpin.d.ts.map +1 -0
  81. package/dist/components/icon/src/components/moon.d.ts +7 -0
  82. package/dist/components/icon/src/components/moon.d.ts.map +1 -0
  83. package/dist/components/icon/src/components/sun.d.ts +7 -0
  84. package/dist/components/icon/src/components/sun.d.ts.map +1 -0
  85. package/dist/components/icon/src/components/unpin.d.ts +7 -0
  86. package/dist/components/icon/src/components/unpin.d.ts.map +1 -0
  87. package/dist/components/icon/src/icon-imports.d.ts +18 -0
  88. package/dist/components/icon/src/icon-imports.d.ts.map +1 -1
  89. package/dist/components/illustrative-icon/src/all-animated-illustrative-icon-components.d.ts +34 -0
  90. package/dist/components/illustrative-icon/src/all-animated-illustrative-icon-components.d.ts.map +1 -1
  91. package/dist/components/illustrative-icon/src/all-static-illustrative-icon-components.d.ts +36 -0
  92. package/dist/components/illustrative-icon/src/all-static-illustrative-icon-components.d.ts.map +1 -1
  93. package/dist/components/illustrative-icon/src/assets/accessories-duocolor-static.d.ts +4 -0
  94. package/dist/components/illustrative-icon/src/assets/accessories-duocolor-static.d.ts.map +1 -0
  95. package/dist/components/illustrative-icon/src/assets/accessories-offblack-static.d.ts +4 -0
  96. package/dist/components/illustrative-icon/src/assets/accessories-offblack-static.d.ts.map +1 -0
  97. package/dist/components/illustrative-icon/src/assets/bag-duocolor-static.d.ts +4 -0
  98. package/dist/components/illustrative-icon/src/assets/bag-duocolor-static.d.ts.map +1 -0
  99. package/dist/components/illustrative-icon/src/assets/bag-offblack-static.d.ts +4 -0
  100. package/dist/components/illustrative-icon/src/assets/bag-offblack-static.d.ts.map +1 -0
  101. package/dist/components/illustrative-icon/src/assets/bag-plus-duocolor-static.d.ts +4 -0
  102. package/dist/components/illustrative-icon/src/assets/bag-plus-duocolor-static.d.ts.map +1 -0
  103. package/dist/components/illustrative-icon/src/assets/bag-plus-offblack-static.d.ts +4 -0
  104. package/dist/components/illustrative-icon/src/assets/bag-plus-offblack-static.d.ts.map +1 -0
  105. package/dist/components/illustrative-icon/src/assets/box-sync-duocolor-static.d.ts +4 -0
  106. package/dist/components/illustrative-icon/src/assets/box-sync-duocolor-static.d.ts.map +1 -0
  107. package/dist/components/illustrative-icon/src/assets/box-sync-offblack-static.d.ts +4 -0
  108. package/dist/components/illustrative-icon/src/assets/box-sync-offblack-static.d.ts.map +1 -0
  109. package/dist/components/illustrative-icon/src/assets/display-protection-duocolor-static.d.ts +4 -0
  110. package/dist/components/illustrative-icon/src/assets/display-protection-duocolor-static.d.ts.map +1 -0
  111. package/dist/components/illustrative-icon/src/assets/display-protection-offblack-static.d.ts +4 -0
  112. package/dist/components/illustrative-icon/src/assets/display-protection-offblack-static.d.ts.map +1 -0
  113. package/dist/components/illustrative-icon/src/assets/enrollment-duocolor-static.d.ts +4 -0
  114. package/dist/components/illustrative-icon/src/assets/enrollment-duocolor-static.d.ts.map +1 -0
  115. package/dist/components/illustrative-icon/src/assets/enrollment-offblack-static.d.ts +4 -0
  116. package/dist/components/illustrative-icon/src/assets/enrollment-offblack-static.d.ts.map +1 -0
  117. package/dist/components/illustrative-icon/src/assets/gift-box-duocolor-static.d.ts +4 -0
  118. package/dist/components/illustrative-icon/src/assets/gift-box-duocolor-static.d.ts.map +1 -0
  119. package/dist/components/illustrative-icon/src/assets/gift-box-offblack-static.d.ts +4 -0
  120. package/dist/components/illustrative-icon/src/assets/gift-box-offblack-static.d.ts.map +1 -0
  121. package/dist/components/illustrative-icon/src/assets/gift-box-plus-duocolor-static.d.ts +4 -0
  122. package/dist/components/illustrative-icon/src/assets/gift-box-plus-duocolor-static.d.ts.map +1 -0
  123. package/dist/components/illustrative-icon/src/assets/gift-box-plus-offblack-static.d.ts +4 -0
  124. package/dist/components/illustrative-icon/src/assets/gift-box-plus-offblack-static.d.ts.map +1 -0
  125. package/dist/components/illustrative-icon/src/assets/info-letter-duocolor-static.d.ts +4 -0
  126. package/dist/components/illustrative-icon/src/assets/info-letter-duocolor-static.d.ts.map +1 -0
  127. package/dist/components/illustrative-icon/src/assets/info-letter-offblack-static.d.ts +4 -0
  128. package/dist/components/illustrative-icon/src/assets/info-letter-offblack-static.d.ts.map +1 -0
  129. package/dist/components/illustrative-icon/src/assets/leaf-duocolor-static.d.ts +4 -0
  130. package/dist/components/illustrative-icon/src/assets/leaf-duocolor-static.d.ts.map +1 -0
  131. package/dist/components/illustrative-icon/src/assets/leaf-offblack-static.d.ts +4 -0
  132. package/dist/components/illustrative-icon/src/assets/leaf-offblack-static.d.ts.map +1 -0
  133. package/dist/components/illustrative-icon/src/assets/number-tranfer-duocolor-static.d.ts +4 -0
  134. package/dist/components/illustrative-icon/src/assets/number-tranfer-duocolor-static.d.ts.map +1 -0
  135. package/dist/components/illustrative-icon/src/assets/number-tranfer-offblack-static.d.ts +4 -0
  136. package/dist/components/illustrative-icon/src/assets/number-tranfer-offblack-static.d.ts.map +1 -0
  137. package/dist/components/illustrative-icon/src/assets/page-duocolor-static.d.ts +4 -0
  138. package/dist/components/illustrative-icon/src/assets/page-duocolor-static.d.ts.map +1 -0
  139. package/dist/components/illustrative-icon/src/assets/page-offblack-static.d.ts +4 -0
  140. package/dist/components/illustrative-icon/src/assets/page-offblack-static.d.ts.map +1 -0
  141. package/dist/components/illustrative-icon/src/assets/phone-repair-duocolor-static.d.ts +4 -0
  142. package/dist/components/illustrative-icon/src/assets/phone-repair-duocolor-static.d.ts.map +1 -0
  143. package/dist/components/illustrative-icon/src/assets/phone-repair-offblack-static.d.ts +4 -0
  144. package/dist/components/illustrative-icon/src/assets/phone-repair-offblack-static.d.ts.map +1 -0
  145. package/dist/components/illustrative-icon/src/assets/phone-settings-duocolor-static.d.ts +4 -0
  146. package/dist/components/illustrative-icon/src/assets/phone-settings-duocolor-static.d.ts.map +1 -0
  147. package/dist/components/illustrative-icon/src/assets/phone-settings-offblack-static.d.ts +4 -0
  148. package/dist/components/illustrative-icon/src/assets/phone-settings-offblack-static.d.ts.map +1 -0
  149. package/dist/components/illustrative-icon/src/assets/return-label-duocolor-static.d.ts +4 -0
  150. package/dist/components/illustrative-icon/src/assets/return-label-duocolor-static.d.ts.map +1 -0
  151. package/dist/components/illustrative-icon/src/assets/return-label-offblack-static.d.ts +4 -0
  152. package/dist/components/illustrative-icon/src/assets/return-label-offblack-static.d.ts.map +1 -0
  153. package/dist/components/illustrative-icon/src/assets/settings-pen-duocolor-static.d.ts +4 -0
  154. package/dist/components/illustrative-icon/src/assets/settings-pen-duocolor-static.d.ts.map +1 -0
  155. package/dist/components/illustrative-icon/src/assets/settings-pen-offblack-static.d.ts +4 -0
  156. package/dist/components/illustrative-icon/src/assets/settings-pen-offblack-static.d.ts.map +1 -0
  157. package/dist/components/illustrative-icon/src/assets/shield-time-duocolor-static.d.ts +4 -0
  158. package/dist/components/illustrative-icon/src/assets/shield-time-duocolor-static.d.ts.map +1 -0
  159. package/dist/components/illustrative-icon/src/assets/shield-time-offblack-static.d.ts +4 -0
  160. package/dist/components/illustrative-icon/src/assets/shield-time-offblack-static.d.ts.map +1 -0
  161. package/dist/components/illustrative-icon/src/assets/user-duocolor-static.d.ts +4 -0
  162. package/dist/components/illustrative-icon/src/assets/user-duocolor-static.d.ts.map +1 -0
  163. package/dist/components/illustrative-icon/src/assets/user-offblack-static.d.ts +4 -0
  164. package/dist/components/illustrative-icon/src/assets/user-offblack-static.d.ts.map +1 -0
  165. package/dist/components/illustrative-icon/src/components/accessories-duocolor-animated.d.ts +7 -0
  166. package/dist/components/illustrative-icon/src/components/accessories-duocolor-animated.d.ts.map +1 -0
  167. package/dist/components/illustrative-icon/src/components/accessories-duocolor-static.d.ts +7 -0
  168. package/dist/components/illustrative-icon/src/components/accessories-duocolor-static.d.ts.map +1 -0
  169. package/dist/components/illustrative-icon/src/components/accessories-offblack-animated.d.ts +7 -0
  170. package/dist/components/illustrative-icon/src/components/accessories-offblack-animated.d.ts.map +1 -0
  171. package/dist/components/illustrative-icon/src/components/accessories-offblack-static.d.ts +7 -0
  172. package/dist/components/illustrative-icon/src/components/accessories-offblack-static.d.ts.map +1 -0
  173. package/dist/components/illustrative-icon/src/components/bag-duocolor-animated.d.ts +7 -0
  174. package/dist/components/illustrative-icon/src/components/bag-duocolor-animated.d.ts.map +1 -0
  175. package/dist/components/illustrative-icon/src/components/bag-duocolor-static.d.ts +7 -0
  176. package/dist/components/illustrative-icon/src/components/bag-duocolor-static.d.ts.map +1 -0
  177. package/dist/components/illustrative-icon/src/components/bag-offblack-animated.d.ts +7 -0
  178. package/dist/components/illustrative-icon/src/components/bag-offblack-animated.d.ts.map +1 -0
  179. package/dist/components/illustrative-icon/src/components/bag-offblack-static.d.ts +7 -0
  180. package/dist/components/illustrative-icon/src/components/bag-offblack-static.d.ts.map +1 -0
  181. package/dist/components/illustrative-icon/src/components/bag-plus-duocolor-animated.d.ts +7 -0
  182. package/dist/components/illustrative-icon/src/components/bag-plus-duocolor-animated.d.ts.map +1 -0
  183. package/dist/components/illustrative-icon/src/components/bag-plus-duocolor-static.d.ts +7 -0
  184. package/dist/components/illustrative-icon/src/components/bag-plus-duocolor-static.d.ts.map +1 -0
  185. package/dist/components/illustrative-icon/src/components/bag-plus-offblack-animated.d.ts +7 -0
  186. package/dist/components/illustrative-icon/src/components/bag-plus-offblack-animated.d.ts.map +1 -0
  187. package/dist/components/illustrative-icon/src/components/bag-plus-offblack-static.d.ts +7 -0
  188. package/dist/components/illustrative-icon/src/components/bag-plus-offblack-static.d.ts.map +1 -0
  189. package/dist/components/illustrative-icon/src/components/box-sync-duocolor-animated.d.ts +7 -0
  190. package/dist/components/illustrative-icon/src/components/box-sync-duocolor-animated.d.ts.map +1 -0
  191. package/dist/components/illustrative-icon/src/components/box-sync-duocolor-static.d.ts +7 -0
  192. package/dist/components/illustrative-icon/src/components/box-sync-duocolor-static.d.ts.map +1 -0
  193. package/dist/components/illustrative-icon/src/components/box-sync-offblack-animated.d.ts +7 -0
  194. package/dist/components/illustrative-icon/src/components/box-sync-offblack-animated.d.ts.map +1 -0
  195. package/dist/components/illustrative-icon/src/components/box-sync-offblack-static.d.ts +7 -0
  196. package/dist/components/illustrative-icon/src/components/box-sync-offblack-static.d.ts.map +1 -0
  197. package/dist/components/illustrative-icon/src/components/display-protection-duocolor-animated.d.ts +7 -0
  198. package/dist/components/illustrative-icon/src/components/display-protection-duocolor-animated.d.ts.map +1 -0
  199. package/dist/components/illustrative-icon/src/components/display-protection-duocolor-static.d.ts +7 -0
  200. package/dist/components/illustrative-icon/src/components/display-protection-duocolor-static.d.ts.map +1 -0
  201. package/dist/components/illustrative-icon/src/components/display-protection-offblack-animated.d.ts +7 -0
  202. package/dist/components/illustrative-icon/src/components/display-protection-offblack-animated.d.ts.map +1 -0
  203. package/dist/components/illustrative-icon/src/components/display-protection-offblack-static.d.ts +7 -0
  204. package/dist/components/illustrative-icon/src/components/display-protection-offblack-static.d.ts.map +1 -0
  205. package/dist/components/illustrative-icon/src/components/enrollment-duocolor-animated.d.ts +7 -0
  206. package/dist/components/illustrative-icon/src/components/enrollment-duocolor-animated.d.ts.map +1 -0
  207. package/dist/components/illustrative-icon/src/components/enrollment-duocolor-static.d.ts +7 -0
  208. package/dist/components/illustrative-icon/src/components/enrollment-duocolor-static.d.ts.map +1 -0
  209. package/dist/components/illustrative-icon/src/components/enrollment-offblack-animated.d.ts +7 -0
  210. package/dist/components/illustrative-icon/src/components/enrollment-offblack-animated.d.ts.map +1 -0
  211. package/dist/components/illustrative-icon/src/components/enrollment-offblack-static.d.ts +7 -0
  212. package/dist/components/illustrative-icon/src/components/enrollment-offblack-static.d.ts.map +1 -0
  213. package/dist/components/illustrative-icon/src/components/gift-box-duocolor-animated.d.ts +7 -0
  214. package/dist/components/illustrative-icon/src/components/gift-box-duocolor-animated.d.ts.map +1 -0
  215. package/dist/components/illustrative-icon/src/components/gift-box-duocolor-static.d.ts +7 -0
  216. package/dist/components/illustrative-icon/src/components/gift-box-duocolor-static.d.ts.map +1 -0
  217. package/dist/components/illustrative-icon/src/components/gift-box-offblack-animated.d.ts +7 -0
  218. package/dist/components/illustrative-icon/src/components/gift-box-offblack-animated.d.ts.map +1 -0
  219. package/dist/components/illustrative-icon/src/components/gift-box-offblack-static.d.ts +7 -0
  220. package/dist/components/illustrative-icon/src/components/gift-box-offblack-static.d.ts.map +1 -0
  221. package/dist/components/illustrative-icon/src/components/gift-box-plus-duocolor-animated.d.ts +7 -0
  222. package/dist/components/illustrative-icon/src/components/gift-box-plus-duocolor-animated.d.ts.map +1 -0
  223. package/dist/components/illustrative-icon/src/components/gift-box-plus-duocolor-static.d.ts +7 -0
  224. package/dist/components/illustrative-icon/src/components/gift-box-plus-duocolor-static.d.ts.map +1 -0
  225. package/dist/components/illustrative-icon/src/components/gift-box-plus-offblack-animated.d.ts +7 -0
  226. package/dist/components/illustrative-icon/src/components/gift-box-plus-offblack-animated.d.ts.map +1 -0
  227. package/dist/components/illustrative-icon/src/components/gift-box-plus-offblack-static.d.ts +7 -0
  228. package/dist/components/illustrative-icon/src/components/gift-box-plus-offblack-static.d.ts.map +1 -0
  229. package/dist/components/illustrative-icon/src/components/info-letter-duocolor-animated.d.ts +7 -0
  230. package/dist/components/illustrative-icon/src/components/info-letter-duocolor-animated.d.ts.map +1 -0
  231. package/dist/components/illustrative-icon/src/components/info-letter-duocolor-static.d.ts +7 -0
  232. package/dist/components/illustrative-icon/src/components/info-letter-duocolor-static.d.ts.map +1 -0
  233. package/dist/components/illustrative-icon/src/components/info-letter-offblack-animated.d.ts +7 -0
  234. package/dist/components/illustrative-icon/src/components/info-letter-offblack-animated.d.ts.map +1 -0
  235. package/dist/components/illustrative-icon/src/components/info-letter-offblack-static.d.ts +7 -0
  236. package/dist/components/illustrative-icon/src/components/info-letter-offblack-static.d.ts.map +1 -0
  237. package/dist/components/illustrative-icon/src/components/leaf-duocolor-animated.d.ts +7 -0
  238. package/dist/components/illustrative-icon/src/components/leaf-duocolor-animated.d.ts.map +1 -0
  239. package/dist/components/illustrative-icon/src/components/leaf-duocolor-static.d.ts +7 -0
  240. package/dist/components/illustrative-icon/src/components/leaf-duocolor-static.d.ts.map +1 -0
  241. package/dist/components/illustrative-icon/src/components/leaf-offblack-animated.d.ts +7 -0
  242. package/dist/components/illustrative-icon/src/components/leaf-offblack-animated.d.ts.map +1 -0
  243. package/dist/components/illustrative-icon/src/components/leaf-offblack-static.d.ts +7 -0
  244. package/dist/components/illustrative-icon/src/components/leaf-offblack-static.d.ts.map +1 -0
  245. package/dist/components/illustrative-icon/src/components/number-tranfer-duocolor-static.d.ts +7 -0
  246. package/dist/components/illustrative-icon/src/components/number-tranfer-duocolor-static.d.ts.map +1 -0
  247. package/dist/components/illustrative-icon/src/components/number-tranfer-offblack-static.d.ts +7 -0
  248. package/dist/components/illustrative-icon/src/components/number-tranfer-offblack-static.d.ts.map +1 -0
  249. package/dist/components/illustrative-icon/src/components/number-transfer-duocolor-animated.d.ts +7 -0
  250. package/dist/components/illustrative-icon/src/components/number-transfer-duocolor-animated.d.ts.map +1 -0
  251. package/dist/components/illustrative-icon/src/components/number-transfer-offblack-animated.d.ts +7 -0
  252. package/dist/components/illustrative-icon/src/components/number-transfer-offblack-animated.d.ts.map +1 -0
  253. package/dist/components/illustrative-icon/src/components/page-duocolor-static.d.ts +7 -0
  254. package/dist/components/illustrative-icon/src/components/page-duocolor-static.d.ts.map +1 -0
  255. package/dist/components/illustrative-icon/src/components/page-offblack-static.d.ts +7 -0
  256. package/dist/components/illustrative-icon/src/components/page-offblack-static.d.ts.map +1 -0
  257. package/dist/components/illustrative-icon/src/components/phone-repair-duocolor-animated.d.ts +7 -0
  258. package/dist/components/illustrative-icon/src/components/phone-repair-duocolor-animated.d.ts.map +1 -0
  259. package/dist/components/illustrative-icon/src/components/phone-repair-duocolor-static.d.ts +7 -0
  260. package/dist/components/illustrative-icon/src/components/phone-repair-duocolor-static.d.ts.map +1 -0
  261. package/dist/components/illustrative-icon/src/components/phone-repair-offblack-animated.d.ts +7 -0
  262. package/dist/components/illustrative-icon/src/components/phone-repair-offblack-animated.d.ts.map +1 -0
  263. package/dist/components/illustrative-icon/src/components/phone-repair-offblack-static.d.ts +7 -0
  264. package/dist/components/illustrative-icon/src/components/phone-repair-offblack-static.d.ts.map +1 -0
  265. package/dist/components/illustrative-icon/src/components/phone-settings-duocolor-animated.d.ts +7 -0
  266. package/dist/components/illustrative-icon/src/components/phone-settings-duocolor-animated.d.ts.map +1 -0
  267. package/dist/components/illustrative-icon/src/components/phone-settings-duocolor-static.d.ts +7 -0
  268. package/dist/components/illustrative-icon/src/components/phone-settings-duocolor-static.d.ts.map +1 -0
  269. package/dist/components/illustrative-icon/src/components/phone-settings-offblack-animated.d.ts +7 -0
  270. package/dist/components/illustrative-icon/src/components/phone-settings-offblack-animated.d.ts.map +1 -0
  271. package/dist/components/illustrative-icon/src/components/phone-settings-offblack-static.d.ts +7 -0
  272. package/dist/components/illustrative-icon/src/components/phone-settings-offblack-static.d.ts.map +1 -0
  273. package/dist/components/illustrative-icon/src/components/return-label-duocolor-animated.d.ts +7 -0
  274. package/dist/components/illustrative-icon/src/components/return-label-duocolor-animated.d.ts.map +1 -0
  275. package/dist/components/illustrative-icon/src/components/return-label-duocolor-static.d.ts +7 -0
  276. package/dist/components/illustrative-icon/src/components/return-label-duocolor-static.d.ts.map +1 -0
  277. package/dist/components/illustrative-icon/src/components/return-label-offblack-animated.d.ts +7 -0
  278. package/dist/components/illustrative-icon/src/components/return-label-offblack-animated.d.ts.map +1 -0
  279. package/dist/components/illustrative-icon/src/components/return-label-offblack-static.d.ts +7 -0
  280. package/dist/components/illustrative-icon/src/components/return-label-offblack-static.d.ts.map +1 -0
  281. package/dist/components/illustrative-icon/src/components/settings-pen-duocolor-animated.d.ts +7 -0
  282. package/dist/components/illustrative-icon/src/components/settings-pen-duocolor-animated.d.ts.map +1 -0
  283. package/dist/components/illustrative-icon/src/components/settings-pen-duocolor-static.d.ts +7 -0
  284. package/dist/components/illustrative-icon/src/components/settings-pen-duocolor-static.d.ts.map +1 -0
  285. package/dist/components/illustrative-icon/src/components/settings-pen-offblack-animated.d.ts +7 -0
  286. package/dist/components/illustrative-icon/src/components/settings-pen-offblack-animated.d.ts.map +1 -0
  287. package/dist/components/illustrative-icon/src/components/settings-pen-offblack-static.d.ts +7 -0
  288. package/dist/components/illustrative-icon/src/components/settings-pen-offblack-static.d.ts.map +1 -0
  289. package/dist/components/illustrative-icon/src/components/shield-time-duocolor-animated.d.ts +7 -0
  290. package/dist/components/illustrative-icon/src/components/shield-time-duocolor-animated.d.ts.map +1 -0
  291. package/dist/components/illustrative-icon/src/components/shield-time-duocolor-static.d.ts +7 -0
  292. package/dist/components/illustrative-icon/src/components/shield-time-duocolor-static.d.ts.map +1 -0
  293. package/dist/components/illustrative-icon/src/components/shield-time-offblack-animated.d.ts +7 -0
  294. package/dist/components/illustrative-icon/src/components/shield-time-offblack-animated.d.ts.map +1 -0
  295. package/dist/components/illustrative-icon/src/components/shield-time-offblack-static.d.ts +7 -0
  296. package/dist/components/illustrative-icon/src/components/shield-time-offblack-static.d.ts.map +1 -0
  297. package/dist/components/illustrative-icon/src/components/user-duocolor-animated.d.ts +7 -0
  298. package/dist/components/illustrative-icon/src/components/user-duocolor-animated.d.ts.map +1 -0
  299. package/dist/components/illustrative-icon/src/components/user-duocolor-static.d.ts +7 -0
  300. package/dist/components/illustrative-icon/src/components/user-duocolor-static.d.ts.map +1 -0
  301. package/dist/components/illustrative-icon/src/components/user-offblack-animated.d.ts +7 -0
  302. package/dist/components/illustrative-icon/src/components/user-offblack-animated.d.ts.map +1 -0
  303. package/dist/components/illustrative-icon/src/components/user-offblack-static.d.ts +7 -0
  304. package/dist/components/illustrative-icon/src/components/user-offblack-static.d.ts.map +1 -0
  305. package/dist/components/label/src/label.visual.fixtures.d.ts +14 -0
  306. package/dist/components/label/src/label.visual.fixtures.d.ts.map +1 -0
  307. package/dist/components/listbox/src/listbox.visual.fixtures.d.ts +13 -0
  308. package/dist/components/listbox/src/listbox.visual.fixtures.d.ts.map +1 -0
  309. package/dist/components/search-field/src/search-field.visual.fixtures.d.ts +14 -0
  310. package/dist/components/search-field/src/search-field.visual.fixtures.d.ts.map +1 -0
  311. package/dist/components/select/src/select.d.ts.map +1 -1
  312. package/dist/components/select/src/select.visual.fixtures.d.ts +14 -0
  313. package/dist/components/select/src/select.visual.fixtures.d.ts.map +1 -0
  314. package/dist/components/table/src/story-utils/column-def.d.ts.map +1 -1
  315. package/dist/components/table/src/table-column-header-cell.d.ts +3 -10
  316. package/dist/components/table/src/table-column-header-cell.d.ts.map +1 -1
  317. package/dist/components/table/src/table-headers.d.ts +2 -4
  318. package/dist/components/table/src/table-headers.d.ts.map +1 -1
  319. package/dist/components/table/src/table-toolbar.d.ts.map +1 -1
  320. package/dist/components/table/src/table.d.ts +2 -2
  321. package/dist/components/table/src/table.d.ts.map +1 -1
  322. package/dist/components/table/src/test-utils/helpers.d.ts +0 -5
  323. package/dist/components/table/src/test-utils/helpers.d.ts.map +1 -1
  324. package/dist/components/table/src/types.d.ts +8 -8
  325. package/dist/components/table/src/types.d.ts.map +1 -1
  326. package/dist/components/table/src/use-drag-handle.hook.d.ts.map +1 -1
  327. package/dist/components/text-field/src/text-field-base.d.ts.map +1 -1
  328. package/dist/components-metadata.js +456 -0
  329. package/dist/{content-block-CakKeJtN.mjs → content-block-CDMrz41K.mjs} +2 -2
  330. package/dist/{content-block-CakKeJtN.mjs.map → content-block-CDMrz41K.mjs.map} +1 -1
  331. package/dist/{content-block-CrekbIfe.js → content-block-DyYAnL2e.js} +2 -2
  332. package/dist/{content-block-CrekbIfe.js.map → content-block-DyYAnL2e.js.map} +1 -1
  333. package/dist/content-block.cjs.js +1 -1
  334. package/dist/content-block.es.js +1 -1
  335. package/dist/countdown-5Ni6OlVY.mjs +189 -0
  336. package/dist/countdown-5Ni6OlVY.mjs.map +1 -0
  337. package/dist/countdown-CGXJyzB2.js +2 -0
  338. package/dist/countdown-CGXJyzB2.js.map +1 -0
  339. package/dist/countdown.cjs.js +1 -1
  340. package/dist/countdown.es.js +1 -1
  341. package/dist/{date-field-HEFdHIxk.mjs → date-field-DOCLv_xS.mjs} +2 -2
  342. package/dist/{date-field-HEFdHIxk.mjs.map → date-field-DOCLv_xS.mjs.map} +1 -1
  343. package/dist/{date-field-CKxEWHG3.js → date-field-uN87mgbH.js} +2 -2
  344. package/dist/{date-field-CKxEWHG3.js.map → date-field-uN87mgbH.js.map} +1 -1
  345. package/dist/date-field.cjs.js +1 -1
  346. package/dist/date-field.es.js +1 -1
  347. package/dist/{date-picker-cQewKIMN.mjs → date-picker-BtEuRtAu.mjs} +3 -3
  348. package/dist/{date-picker-cQewKIMN.mjs.map → date-picker-BtEuRtAu.mjs.map} +1 -1
  349. package/dist/{date-picker-CDBwkAJI.js → date-picker-X8b9wDfp.js} +2 -2
  350. package/dist/{date-picker-CDBwkAJI.js.map → date-picker-X8b9wDfp.js.map} +1 -1
  351. package/dist/date-picker.cjs.js +1 -1
  352. package/dist/date-picker.es.js +1 -1
  353. package/dist/{date-range-field-_WctWD29.mjs → date-range-field-B6gP8w2w.mjs} +2 -2
  354. package/dist/{date-range-field-_WctWD29.mjs.map → date-range-field-B6gP8w2w.mjs.map} +1 -1
  355. package/dist/{date-range-field-D7Hn9FGN.js → date-range-field-DLt6q5TQ.js} +2 -2
  356. package/dist/{date-range-field-D7Hn9FGN.js.map → date-range-field-DLt6q5TQ.js.map} +1 -1
  357. package/dist/date-range-field.cjs.js +1 -1
  358. package/dist/date-range-field.es.js +1 -1
  359. package/dist/{dropdown-CMO_VD5e.mjs → dropdown-CDK_eRm3.mjs} +3 -3
  360. package/dist/{dropdown-CMO_VD5e.mjs.map → dropdown-CDK_eRm3.mjs.map} +1 -1
  361. package/dist/{dropdown-DJKNQnuo.js → dropdown-_FLHLyPL.js} +2 -2
  362. package/dist/{dropdown-DJKNQnuo.js.map → dropdown-_FLHLyPL.js.map} +1 -1
  363. package/dist/dropdown.cjs.js +1 -1
  364. package/dist/dropdown.es.js +1 -1
  365. package/dist/{footer-cet787Iq.js → footer-Cn1-zG1v.js} +2 -2
  366. package/dist/{footer-cet787Iq.js.map → footer-Cn1-zG1v.js.map} +1 -1
  367. package/dist/{footer-BMlXRro2.mjs → footer-D-2b7UIB.mjs} +3 -3
  368. package/dist/{footer-BMlXRro2.mjs.map → footer-D-2b7UIB.mjs.map} +1 -1
  369. package/dist/footer.cjs.js +1 -1
  370. package/dist/footer.es.js +1 -1
  371. package/dist/{hero-banner-D__doaU7.js → hero-banner--v-ezYMr.js} +2 -2
  372. package/dist/{hero-banner-D__doaU7.js.map → hero-banner--v-ezYMr.js.map} +1 -1
  373. package/dist/{hero-banner-B08jC0Sf.mjs → hero-banner-n9K-Jsdz.mjs} +2 -2
  374. package/dist/{hero-banner-B08jC0Sf.mjs.map → hero-banner-n9K-Jsdz.mjs.map} +1 -1
  375. package/dist/hero-banner.cjs.js +1 -1
  376. package/dist/hero-banner.es.js +1 -1
  377. package/dist/icon/all-icon-components.d.ts +3 -0
  378. package/dist/icon/all-icon-components.d.ts.map +1 -1
  379. package/dist/icon/all-icons.cjs.js +1 -1
  380. package/dist/icon/all-icons.cjs.js.map +1 -1
  381. package/dist/icon/all-icons.d.ts +3 -0
  382. package/dist/icon/all-icons.d.ts.map +1 -1
  383. package/dist/icon/all-icons.es.js +395 -377
  384. package/dist/icon/all-icons.es.js.map +1 -1
  385. package/dist/icon/assets/moon.cjs.js +2 -0
  386. package/dist/icon/assets/moon.cjs.js.map +1 -0
  387. package/dist/icon/assets/moon.d.ts +7 -0
  388. package/dist/icon/assets/moon.d.ts.map +1 -0
  389. package/dist/icon/assets/moon.es.js +10 -0
  390. package/dist/icon/assets/moon.es.js.map +1 -0
  391. package/dist/icon/assets/sun.cjs.js +2 -0
  392. package/dist/icon/assets/sun.cjs.js.map +1 -0
  393. package/dist/icon/assets/sun.d.ts +7 -0
  394. package/dist/icon/assets/sun.d.ts.map +1 -0
  395. package/dist/icon/assets/sun.es.js +10 -0
  396. package/dist/icon/assets/sun.es.js.map +1 -0
  397. package/dist/icon/assets/unpin.cjs.js +2 -0
  398. package/dist/icon/assets/unpin.cjs.js.map +1 -0
  399. package/dist/icon/assets/unpin.d.ts +7 -0
  400. package/dist/icon/assets/unpin.d.ts.map +1 -0
  401. package/dist/icon/assets/unpin.es.js +10 -0
  402. package/dist/icon/assets/unpin.es.js.map +1 -0
  403. package/dist/icon/components/moon.cjs.js +2 -0
  404. package/dist/icon/components/moon.cjs.js.map +1 -0
  405. package/dist/icon/components/moon.d.ts +7 -0
  406. package/dist/icon/components/moon.d.ts.map +1 -0
  407. package/dist/icon/components/moon.es.js +13 -0
  408. package/dist/icon/components/moon.es.js.map +1 -0
  409. package/dist/icon/components/sun.cjs.js +2 -0
  410. package/dist/icon/components/sun.cjs.js.map +1 -0
  411. package/dist/icon/components/sun.d.ts +7 -0
  412. package/dist/icon/components/sun.d.ts.map +1 -0
  413. package/dist/icon/components/sun.es.js +13 -0
  414. package/dist/icon/components/sun.es.js.map +1 -0
  415. package/dist/icon/components/unpin.cjs.js +2 -0
  416. package/dist/icon/components/unpin.cjs.js.map +1 -0
  417. package/dist/icon/components/unpin.d.ts +7 -0
  418. package/dist/icon/components/unpin.d.ts.map +1 -0
  419. package/dist/icon/components/unpin.es.js +13 -0
  420. package/dist/icon/components/unpin.es.js.map +1 -0
  421. package/dist/icon/components-metadata.js +24 -0
  422. package/dist/icon/dynamic-icon.cjs.js +1 -1
  423. package/dist/icon/dynamic-icon.cjs.js.map +1 -1
  424. package/dist/icon/dynamic-icon.es.js +1 -1
  425. package/dist/icon/dynamic-icon.es.js.map +1 -1
  426. package/dist/icon/icon-imports.d.ts +18 -0
  427. package/dist/icon/icon-imports.d.ts.map +1 -1
  428. package/dist/icon/moon.svg +1 -0
  429. package/dist/icon/sun.svg +1 -0
  430. package/dist/icon/unpin.svg +1 -0
  431. package/dist/illustrative-icon/all-animated-illustrative-icon-components.d.ts +34 -0
  432. package/dist/illustrative-icon/all-animated-illustrative-icon-components.d.ts.map +1 -1
  433. package/dist/illustrative-icon/all-static-illustrative-icon-components.d.ts +36 -0
  434. package/dist/illustrative-icon/all-static-illustrative-icon-components.d.ts.map +1 -1
  435. package/dist/illustrative-icon/assets/accessories-duocolor-static.d.ts +4 -0
  436. package/dist/illustrative-icon/assets/accessories-duocolor-static.d.ts.map +1 -0
  437. package/dist/illustrative-icon/assets/accessories-offblack-static.d.ts +4 -0
  438. package/dist/illustrative-icon/assets/accessories-offblack-static.d.ts.map +1 -0
  439. package/dist/illustrative-icon/assets/bag-duocolor-static.d.ts +4 -0
  440. package/dist/illustrative-icon/assets/bag-duocolor-static.d.ts.map +1 -0
  441. package/dist/illustrative-icon/assets/bag-offblack-static.d.ts +4 -0
  442. package/dist/illustrative-icon/assets/bag-offblack-static.d.ts.map +1 -0
  443. package/dist/illustrative-icon/assets/bag-plus-duocolor-static.d.ts +4 -0
  444. package/dist/illustrative-icon/assets/bag-plus-duocolor-static.d.ts.map +1 -0
  445. package/dist/illustrative-icon/assets/bag-plus-offblack-static.d.ts +4 -0
  446. package/dist/illustrative-icon/assets/bag-plus-offblack-static.d.ts.map +1 -0
  447. package/dist/illustrative-icon/assets/box-sync-duocolor-static.d.ts +4 -0
  448. package/dist/illustrative-icon/assets/box-sync-duocolor-static.d.ts.map +1 -0
  449. package/dist/illustrative-icon/assets/box-sync-offblack-static.d.ts +4 -0
  450. package/dist/illustrative-icon/assets/box-sync-offblack-static.d.ts.map +1 -0
  451. package/dist/illustrative-icon/assets/display-protection-duocolor-static.d.ts +4 -0
  452. package/dist/illustrative-icon/assets/display-protection-duocolor-static.d.ts.map +1 -0
  453. package/dist/illustrative-icon/assets/display-protection-offblack-static.d.ts +4 -0
  454. package/dist/illustrative-icon/assets/display-protection-offblack-static.d.ts.map +1 -0
  455. package/dist/illustrative-icon/assets/enrollment-duocolor-static.d.ts +4 -0
  456. package/dist/illustrative-icon/assets/enrollment-duocolor-static.d.ts.map +1 -0
  457. package/dist/illustrative-icon/assets/enrollment-offblack-static.d.ts +4 -0
  458. package/dist/illustrative-icon/assets/enrollment-offblack-static.d.ts.map +1 -0
  459. package/dist/illustrative-icon/assets/gift-box-duocolor-static.d.ts +4 -0
  460. package/dist/illustrative-icon/assets/gift-box-duocolor-static.d.ts.map +1 -0
  461. package/dist/illustrative-icon/assets/gift-box-offblack-static.d.ts +4 -0
  462. package/dist/illustrative-icon/assets/gift-box-offblack-static.d.ts.map +1 -0
  463. package/dist/illustrative-icon/assets/gift-box-plus-duocolor-static.d.ts +4 -0
  464. package/dist/illustrative-icon/assets/gift-box-plus-duocolor-static.d.ts.map +1 -0
  465. package/dist/illustrative-icon/assets/gift-box-plus-offblack-static.d.ts +4 -0
  466. package/dist/illustrative-icon/assets/gift-box-plus-offblack-static.d.ts.map +1 -0
  467. package/dist/illustrative-icon/assets/info-letter-duocolor-static.d.ts +4 -0
  468. package/dist/illustrative-icon/assets/info-letter-duocolor-static.d.ts.map +1 -0
  469. package/dist/illustrative-icon/assets/info-letter-offblack-static.d.ts +4 -0
  470. package/dist/illustrative-icon/assets/info-letter-offblack-static.d.ts.map +1 -0
  471. package/dist/illustrative-icon/assets/json/accessories-duocolor-animated.json.d.ts +3 -0
  472. package/dist/illustrative-icon/assets/json/accessories-offblack-animated.json.d.ts +3 -0
  473. package/dist/illustrative-icon/assets/json/bag-duocolor-animated.json.d.ts +3 -0
  474. package/dist/illustrative-icon/assets/json/bag-offblack-animated.json.d.ts +3 -0
  475. package/dist/illustrative-icon/assets/json/bag-plus-duocolor-animated.json.d.ts +3 -0
  476. package/dist/illustrative-icon/assets/json/bag-plus-offblack-animated.json.d.ts +3 -0
  477. package/dist/illustrative-icon/assets/json/box-sync-duocolor-animated.json.d.ts +3 -0
  478. package/dist/illustrative-icon/assets/json/box-sync-offblack-animated.json.d.ts +3 -0
  479. package/dist/illustrative-icon/assets/json/display-protection-duocolor-animated.json.d.ts +3 -0
  480. package/dist/illustrative-icon/assets/json/display-protection-offblack-animated.json.d.ts +3 -0
  481. package/dist/illustrative-icon/assets/json/enrollment-duocolor-animated.json.d.ts +3 -0
  482. package/dist/illustrative-icon/assets/json/enrollment-offblack-animated.json.d.ts +3 -0
  483. package/dist/illustrative-icon/assets/json/gift-box-duocolor-animated.json.d.ts +3 -0
  484. package/dist/illustrative-icon/assets/json/gift-box-offblack-animated.json.d.ts +3 -0
  485. package/dist/illustrative-icon/assets/json/gift-box-plus-duocolor-animated.json.d.ts +3 -0
  486. package/dist/illustrative-icon/assets/json/gift-box-plus-offblack-animated.json.d.ts +3 -0
  487. package/dist/illustrative-icon/assets/json/info-letter-duocolor-animated.json.d.ts +3 -0
  488. package/dist/illustrative-icon/assets/json/info-letter-offblack-animated.json.d.ts +3 -0
  489. package/dist/illustrative-icon/assets/json/leaf-duocolor-animated.json.d.ts +3 -0
  490. package/dist/illustrative-icon/assets/json/leaf-offblack-animated.json.d.ts +3 -0
  491. package/dist/illustrative-icon/assets/json/number-transfer-duocolor-animated.json.d.ts +3 -0
  492. package/dist/illustrative-icon/assets/json/number-transfer-offblack-animated.json.d.ts +3 -0
  493. package/dist/illustrative-icon/assets/json/phone-repair-duocolor-animated.json.d.ts +3 -0
  494. package/dist/illustrative-icon/assets/json/phone-repair-offblack-animated.json.d.ts +3 -0
  495. package/dist/illustrative-icon/assets/json/phone-settings-duocolor-animated.json.d.ts +3 -0
  496. package/dist/illustrative-icon/assets/json/phone-settings-offblack-animated.json.d.ts +3 -0
  497. package/dist/illustrative-icon/assets/json/return-label-duocolor-animated.json.d.ts +3 -0
  498. package/dist/illustrative-icon/assets/json/return-label-offblack-animated.json.d.ts +3 -0
  499. package/dist/illustrative-icon/assets/json/settings-pen-duocolor-animated.json.d.ts +3 -0
  500. package/dist/illustrative-icon/assets/json/settings-pen-offblack-animated.json.d.ts +3 -0
  501. package/dist/illustrative-icon/assets/json/shield-time-duocolor-animated.json.d.ts +3 -0
  502. package/dist/illustrative-icon/assets/json/shield-time-offblack-animated.json.d.ts +3 -0
  503. package/dist/illustrative-icon/assets/json/user-duocolor-animated.json.d.ts +3 -0
  504. package/dist/illustrative-icon/assets/json/user-offblack-animated.json.d.ts +3 -0
  505. package/dist/illustrative-icon/assets/leaf-duocolor-static.d.ts +4 -0
  506. package/dist/illustrative-icon/assets/leaf-duocolor-static.d.ts.map +1 -0
  507. package/dist/illustrative-icon/assets/leaf-offblack-static.d.ts +4 -0
  508. package/dist/illustrative-icon/assets/leaf-offblack-static.d.ts.map +1 -0
  509. package/dist/illustrative-icon/assets/number-tranfer-duocolor-static.d.ts +4 -0
  510. package/dist/illustrative-icon/assets/number-tranfer-duocolor-static.d.ts.map +1 -0
  511. package/dist/illustrative-icon/assets/number-tranfer-offblack-static.d.ts +4 -0
  512. package/dist/illustrative-icon/assets/number-tranfer-offblack-static.d.ts.map +1 -0
  513. package/dist/illustrative-icon/assets/page-duocolor-static.d.ts +4 -0
  514. package/dist/illustrative-icon/assets/page-duocolor-static.d.ts.map +1 -0
  515. package/dist/illustrative-icon/assets/page-offblack-static.d.ts +4 -0
  516. package/dist/illustrative-icon/assets/page-offblack-static.d.ts.map +1 -0
  517. package/dist/illustrative-icon/assets/phone-repair-duocolor-static.d.ts +4 -0
  518. package/dist/illustrative-icon/assets/phone-repair-duocolor-static.d.ts.map +1 -0
  519. package/dist/illustrative-icon/assets/phone-repair-offblack-static.d.ts +4 -0
  520. package/dist/illustrative-icon/assets/phone-repair-offblack-static.d.ts.map +1 -0
  521. package/dist/illustrative-icon/assets/phone-settings-duocolor-static.d.ts +4 -0
  522. package/dist/illustrative-icon/assets/phone-settings-duocolor-static.d.ts.map +1 -0
  523. package/dist/illustrative-icon/assets/phone-settings-offblack-static.d.ts +4 -0
  524. package/dist/illustrative-icon/assets/phone-settings-offblack-static.d.ts.map +1 -0
  525. package/dist/illustrative-icon/assets/return-label-duocolor-static.d.ts +4 -0
  526. package/dist/illustrative-icon/assets/return-label-duocolor-static.d.ts.map +1 -0
  527. package/dist/illustrative-icon/assets/return-label-offblack-static.d.ts +4 -0
  528. package/dist/illustrative-icon/assets/return-label-offblack-static.d.ts.map +1 -0
  529. package/dist/illustrative-icon/assets/settings-pen-duocolor-static.d.ts +4 -0
  530. package/dist/illustrative-icon/assets/settings-pen-duocolor-static.d.ts.map +1 -0
  531. package/dist/illustrative-icon/assets/settings-pen-offblack-static.d.ts +4 -0
  532. package/dist/illustrative-icon/assets/settings-pen-offblack-static.d.ts.map +1 -0
  533. package/dist/illustrative-icon/assets/shield-time-duocolor-static.d.ts +4 -0
  534. package/dist/illustrative-icon/assets/shield-time-duocolor-static.d.ts.map +1 -0
  535. package/dist/illustrative-icon/assets/shield-time-offblack-static.d.ts +4 -0
  536. package/dist/illustrative-icon/assets/shield-time-offblack-static.d.ts.map +1 -0
  537. package/dist/illustrative-icon/assets/user-duocolor-static.d.ts +4 -0
  538. package/dist/illustrative-icon/assets/user-duocolor-static.d.ts.map +1 -0
  539. package/dist/illustrative-icon/assets/user-offblack-static.d.ts +4 -0
  540. package/dist/illustrative-icon/assets/user-offblack-static.d.ts.map +1 -0
  541. package/dist/illustrative-icon/components/accessories-duocolor-animated.cjs.js +2 -0
  542. package/dist/illustrative-icon/components/accessories-duocolor-animated.cjs.js.map +1 -0
  543. package/dist/illustrative-icon/components/accessories-duocolor-animated.d.ts +7 -0
  544. package/dist/illustrative-icon/components/accessories-duocolor-animated.d.ts.map +1 -0
  545. package/dist/illustrative-icon/components/accessories-duocolor-animated.es.js +20 -0
  546. package/dist/illustrative-icon/components/accessories-duocolor-animated.es.js.map +1 -0
  547. package/dist/illustrative-icon/components/accessories-duocolor-static.cjs.js +2 -0
  548. package/dist/illustrative-icon/components/accessories-duocolor-static.cjs.js.map +1 -0
  549. package/dist/illustrative-icon/components/accessories-duocolor-static.d.ts +7 -0
  550. package/dist/illustrative-icon/components/accessories-duocolor-static.d.ts.map +1 -0
  551. package/dist/illustrative-icon/components/accessories-duocolor-static.es.js +10 -0
  552. package/dist/illustrative-icon/components/accessories-duocolor-static.es.js.map +1 -0
  553. package/dist/illustrative-icon/components/accessories-offblack-animated.cjs.js +2 -0
  554. package/dist/illustrative-icon/components/accessories-offblack-animated.cjs.js.map +1 -0
  555. package/dist/illustrative-icon/components/accessories-offblack-animated.d.ts +7 -0
  556. package/dist/illustrative-icon/components/accessories-offblack-animated.d.ts.map +1 -0
  557. package/dist/illustrative-icon/components/accessories-offblack-animated.es.js +20 -0
  558. package/dist/illustrative-icon/components/accessories-offblack-animated.es.js.map +1 -0
  559. package/dist/illustrative-icon/components/accessories-offblack-static.cjs.js +2 -0
  560. package/dist/illustrative-icon/components/accessories-offblack-static.cjs.js.map +1 -0
  561. package/dist/illustrative-icon/components/accessories-offblack-static.d.ts +7 -0
  562. package/dist/illustrative-icon/components/accessories-offblack-static.d.ts.map +1 -0
  563. package/dist/illustrative-icon/components/accessories-offblack-static.es.js +10 -0
  564. package/dist/illustrative-icon/components/accessories-offblack-static.es.js.map +1 -0
  565. package/dist/illustrative-icon/components/bag-duocolor-animated.cjs.js +2 -0
  566. package/dist/illustrative-icon/components/bag-duocolor-animated.cjs.js.map +1 -0
  567. package/dist/illustrative-icon/components/bag-duocolor-animated.d.ts +7 -0
  568. package/dist/illustrative-icon/components/bag-duocolor-animated.d.ts.map +1 -0
  569. package/dist/illustrative-icon/components/bag-duocolor-animated.es.js +20 -0
  570. package/dist/illustrative-icon/components/bag-duocolor-animated.es.js.map +1 -0
  571. package/dist/illustrative-icon/components/bag-duocolor-static.cjs.js +2 -0
  572. package/dist/illustrative-icon/components/bag-duocolor-static.cjs.js.map +1 -0
  573. package/dist/illustrative-icon/components/bag-duocolor-static.d.ts +7 -0
  574. package/dist/illustrative-icon/components/bag-duocolor-static.d.ts.map +1 -0
  575. package/dist/illustrative-icon/components/bag-duocolor-static.es.js +10 -0
  576. package/dist/illustrative-icon/components/bag-duocolor-static.es.js.map +1 -0
  577. package/dist/illustrative-icon/components/bag-offblack-animated.cjs.js +2 -0
  578. package/dist/illustrative-icon/components/bag-offblack-animated.cjs.js.map +1 -0
  579. package/dist/illustrative-icon/components/bag-offblack-animated.d.ts +7 -0
  580. package/dist/illustrative-icon/components/bag-offblack-animated.d.ts.map +1 -0
  581. package/dist/illustrative-icon/components/bag-offblack-animated.es.js +20 -0
  582. package/dist/illustrative-icon/components/bag-offblack-animated.es.js.map +1 -0
  583. package/dist/illustrative-icon/components/bag-offblack-static.cjs.js +2 -0
  584. package/dist/illustrative-icon/components/bag-offblack-static.cjs.js.map +1 -0
  585. package/dist/illustrative-icon/components/bag-offblack-static.d.ts +7 -0
  586. package/dist/illustrative-icon/components/bag-offblack-static.d.ts.map +1 -0
  587. package/dist/illustrative-icon/components/bag-offblack-static.es.js +10 -0
  588. package/dist/illustrative-icon/components/bag-offblack-static.es.js.map +1 -0
  589. package/dist/illustrative-icon/components/bag-plus-duocolor-animated.cjs.js +2 -0
  590. package/dist/illustrative-icon/components/bag-plus-duocolor-animated.cjs.js.map +1 -0
  591. package/dist/illustrative-icon/components/bag-plus-duocolor-animated.d.ts +7 -0
  592. package/dist/illustrative-icon/components/bag-plus-duocolor-animated.d.ts.map +1 -0
  593. package/dist/illustrative-icon/components/bag-plus-duocolor-animated.es.js +20 -0
  594. package/dist/illustrative-icon/components/bag-plus-duocolor-animated.es.js.map +1 -0
  595. package/dist/illustrative-icon/components/bag-plus-duocolor-static.cjs.js +2 -0
  596. package/dist/illustrative-icon/components/bag-plus-duocolor-static.cjs.js.map +1 -0
  597. package/dist/illustrative-icon/components/bag-plus-duocolor-static.d.ts +7 -0
  598. package/dist/illustrative-icon/components/bag-plus-duocolor-static.d.ts.map +1 -0
  599. package/dist/illustrative-icon/components/bag-plus-duocolor-static.es.js +10 -0
  600. package/dist/illustrative-icon/components/bag-plus-duocolor-static.es.js.map +1 -0
  601. package/dist/illustrative-icon/components/bag-plus-offblack-animated.cjs.js +2 -0
  602. package/dist/illustrative-icon/components/bag-plus-offblack-animated.cjs.js.map +1 -0
  603. package/dist/illustrative-icon/components/bag-plus-offblack-animated.d.ts +7 -0
  604. package/dist/illustrative-icon/components/bag-plus-offblack-animated.d.ts.map +1 -0
  605. package/dist/illustrative-icon/components/bag-plus-offblack-animated.es.js +20 -0
  606. package/dist/illustrative-icon/components/bag-plus-offblack-animated.es.js.map +1 -0
  607. package/dist/illustrative-icon/components/bag-plus-offblack-static.cjs.js +2 -0
  608. package/dist/illustrative-icon/components/bag-plus-offblack-static.cjs.js.map +1 -0
  609. package/dist/illustrative-icon/components/bag-plus-offblack-static.d.ts +7 -0
  610. package/dist/illustrative-icon/components/bag-plus-offblack-static.d.ts.map +1 -0
  611. package/dist/illustrative-icon/components/bag-plus-offblack-static.es.js +10 -0
  612. package/dist/illustrative-icon/components/bag-plus-offblack-static.es.js.map +1 -0
  613. package/dist/illustrative-icon/components/box-sync-duocolor-animated.cjs.js +2 -0
  614. package/dist/illustrative-icon/components/box-sync-duocolor-animated.cjs.js.map +1 -0
  615. package/dist/illustrative-icon/components/box-sync-duocolor-animated.d.ts +7 -0
  616. package/dist/illustrative-icon/components/box-sync-duocolor-animated.d.ts.map +1 -0
  617. package/dist/illustrative-icon/components/box-sync-duocolor-animated.es.js +20 -0
  618. package/dist/illustrative-icon/components/box-sync-duocolor-animated.es.js.map +1 -0
  619. package/dist/illustrative-icon/components/box-sync-duocolor-static.cjs.js +2 -0
  620. package/dist/illustrative-icon/components/box-sync-duocolor-static.cjs.js.map +1 -0
  621. package/dist/illustrative-icon/components/box-sync-duocolor-static.d.ts +7 -0
  622. package/dist/illustrative-icon/components/box-sync-duocolor-static.d.ts.map +1 -0
  623. package/dist/illustrative-icon/components/box-sync-duocolor-static.es.js +10 -0
  624. package/dist/illustrative-icon/components/box-sync-duocolor-static.es.js.map +1 -0
  625. package/dist/illustrative-icon/components/box-sync-offblack-animated.cjs.js +2 -0
  626. package/dist/illustrative-icon/components/box-sync-offblack-animated.cjs.js.map +1 -0
  627. package/dist/illustrative-icon/components/box-sync-offblack-animated.d.ts +7 -0
  628. package/dist/illustrative-icon/components/box-sync-offblack-animated.d.ts.map +1 -0
  629. package/dist/illustrative-icon/components/box-sync-offblack-animated.es.js +20 -0
  630. package/dist/illustrative-icon/components/box-sync-offblack-animated.es.js.map +1 -0
  631. package/dist/illustrative-icon/components/box-sync-offblack-static.cjs.js +2 -0
  632. package/dist/illustrative-icon/components/box-sync-offblack-static.cjs.js.map +1 -0
  633. package/dist/illustrative-icon/components/box-sync-offblack-static.d.ts +7 -0
  634. package/dist/illustrative-icon/components/box-sync-offblack-static.d.ts.map +1 -0
  635. package/dist/illustrative-icon/components/box-sync-offblack-static.es.js +10 -0
  636. package/dist/illustrative-icon/components/box-sync-offblack-static.es.js.map +1 -0
  637. package/dist/illustrative-icon/components/display-protection-duocolor-animated.cjs.js +2 -0
  638. package/dist/illustrative-icon/components/display-protection-duocolor-animated.cjs.js.map +1 -0
  639. package/dist/illustrative-icon/components/display-protection-duocolor-animated.d.ts +7 -0
  640. package/dist/illustrative-icon/components/display-protection-duocolor-animated.d.ts.map +1 -0
  641. package/dist/illustrative-icon/components/display-protection-duocolor-animated.es.js +20 -0
  642. package/dist/illustrative-icon/components/display-protection-duocolor-animated.es.js.map +1 -0
  643. package/dist/illustrative-icon/components/display-protection-duocolor-static.cjs.js +2 -0
  644. package/dist/illustrative-icon/components/display-protection-duocolor-static.cjs.js.map +1 -0
  645. package/dist/illustrative-icon/components/display-protection-duocolor-static.d.ts +7 -0
  646. package/dist/illustrative-icon/components/display-protection-duocolor-static.d.ts.map +1 -0
  647. package/dist/illustrative-icon/components/display-protection-duocolor-static.es.js +10 -0
  648. package/dist/illustrative-icon/components/display-protection-duocolor-static.es.js.map +1 -0
  649. package/dist/illustrative-icon/components/display-protection-offblack-animated.cjs.js +2 -0
  650. package/dist/illustrative-icon/components/display-protection-offblack-animated.cjs.js.map +1 -0
  651. package/dist/illustrative-icon/components/display-protection-offblack-animated.d.ts +7 -0
  652. package/dist/illustrative-icon/components/display-protection-offblack-animated.d.ts.map +1 -0
  653. package/dist/illustrative-icon/components/display-protection-offblack-animated.es.js +20 -0
  654. package/dist/illustrative-icon/components/display-protection-offblack-animated.es.js.map +1 -0
  655. package/dist/illustrative-icon/components/display-protection-offblack-static.cjs.js +2 -0
  656. package/dist/illustrative-icon/components/display-protection-offblack-static.cjs.js.map +1 -0
  657. package/dist/illustrative-icon/components/display-protection-offblack-static.d.ts +7 -0
  658. package/dist/illustrative-icon/components/display-protection-offblack-static.d.ts.map +1 -0
  659. package/dist/illustrative-icon/components/display-protection-offblack-static.es.js +10 -0
  660. package/dist/illustrative-icon/components/display-protection-offblack-static.es.js.map +1 -0
  661. package/dist/illustrative-icon/components/enrollment-duocolor-animated.cjs.js +2 -0
  662. package/dist/illustrative-icon/components/enrollment-duocolor-animated.cjs.js.map +1 -0
  663. package/dist/illustrative-icon/components/enrollment-duocolor-animated.d.ts +7 -0
  664. package/dist/illustrative-icon/components/enrollment-duocolor-animated.d.ts.map +1 -0
  665. package/dist/illustrative-icon/components/enrollment-duocolor-animated.es.js +20 -0
  666. package/dist/illustrative-icon/components/enrollment-duocolor-animated.es.js.map +1 -0
  667. package/dist/illustrative-icon/components/enrollment-duocolor-static.cjs.js +2 -0
  668. package/dist/illustrative-icon/components/enrollment-duocolor-static.cjs.js.map +1 -0
  669. package/dist/illustrative-icon/components/enrollment-duocolor-static.d.ts +7 -0
  670. package/dist/illustrative-icon/components/enrollment-duocolor-static.d.ts.map +1 -0
  671. package/dist/illustrative-icon/components/enrollment-duocolor-static.es.js +10 -0
  672. package/dist/illustrative-icon/components/enrollment-duocolor-static.es.js.map +1 -0
  673. package/dist/illustrative-icon/components/enrollment-offblack-animated.cjs.js +2 -0
  674. package/dist/illustrative-icon/components/enrollment-offblack-animated.cjs.js.map +1 -0
  675. package/dist/illustrative-icon/components/enrollment-offblack-animated.d.ts +7 -0
  676. package/dist/illustrative-icon/components/enrollment-offblack-animated.d.ts.map +1 -0
  677. package/dist/illustrative-icon/components/enrollment-offblack-animated.es.js +20 -0
  678. package/dist/illustrative-icon/components/enrollment-offblack-animated.es.js.map +1 -0
  679. package/dist/illustrative-icon/components/enrollment-offblack-static.cjs.js +2 -0
  680. package/dist/illustrative-icon/components/enrollment-offblack-static.cjs.js.map +1 -0
  681. package/dist/illustrative-icon/components/enrollment-offblack-static.d.ts +7 -0
  682. package/dist/illustrative-icon/components/enrollment-offblack-static.d.ts.map +1 -0
  683. package/dist/illustrative-icon/components/enrollment-offblack-static.es.js +10 -0
  684. package/dist/illustrative-icon/components/enrollment-offblack-static.es.js.map +1 -0
  685. package/dist/illustrative-icon/components/gift-box-duocolor-animated.cjs.js +2 -0
  686. package/dist/illustrative-icon/components/gift-box-duocolor-animated.cjs.js.map +1 -0
  687. package/dist/illustrative-icon/components/gift-box-duocolor-animated.d.ts +7 -0
  688. package/dist/illustrative-icon/components/gift-box-duocolor-animated.d.ts.map +1 -0
  689. package/dist/illustrative-icon/components/gift-box-duocolor-animated.es.js +20 -0
  690. package/dist/illustrative-icon/components/gift-box-duocolor-animated.es.js.map +1 -0
  691. package/dist/illustrative-icon/components/gift-box-duocolor-static.cjs.js +2 -0
  692. package/dist/illustrative-icon/components/gift-box-duocolor-static.cjs.js.map +1 -0
  693. package/dist/illustrative-icon/components/gift-box-duocolor-static.d.ts +7 -0
  694. package/dist/illustrative-icon/components/gift-box-duocolor-static.d.ts.map +1 -0
  695. package/dist/illustrative-icon/components/gift-box-duocolor-static.es.js +10 -0
  696. package/dist/illustrative-icon/components/gift-box-duocolor-static.es.js.map +1 -0
  697. package/dist/illustrative-icon/components/gift-box-offblack-animated.cjs.js +2 -0
  698. package/dist/illustrative-icon/components/gift-box-offblack-animated.cjs.js.map +1 -0
  699. package/dist/illustrative-icon/components/gift-box-offblack-animated.d.ts +7 -0
  700. package/dist/illustrative-icon/components/gift-box-offblack-animated.d.ts.map +1 -0
  701. package/dist/illustrative-icon/components/gift-box-offblack-animated.es.js +20 -0
  702. package/dist/illustrative-icon/components/gift-box-offblack-animated.es.js.map +1 -0
  703. package/dist/illustrative-icon/components/gift-box-offblack-static.cjs.js +2 -0
  704. package/dist/illustrative-icon/components/gift-box-offblack-static.cjs.js.map +1 -0
  705. package/dist/illustrative-icon/components/gift-box-offblack-static.d.ts +7 -0
  706. package/dist/illustrative-icon/components/gift-box-offblack-static.d.ts.map +1 -0
  707. package/dist/illustrative-icon/components/gift-box-offblack-static.es.js +10 -0
  708. package/dist/illustrative-icon/components/gift-box-offblack-static.es.js.map +1 -0
  709. package/dist/illustrative-icon/components/gift-box-plus-duocolor-animated.cjs.js +2 -0
  710. package/dist/illustrative-icon/components/gift-box-plus-duocolor-animated.cjs.js.map +1 -0
  711. package/dist/illustrative-icon/components/gift-box-plus-duocolor-animated.d.ts +7 -0
  712. package/dist/illustrative-icon/components/gift-box-plus-duocolor-animated.d.ts.map +1 -0
  713. package/dist/illustrative-icon/components/gift-box-plus-duocolor-animated.es.js +20 -0
  714. package/dist/illustrative-icon/components/gift-box-plus-duocolor-animated.es.js.map +1 -0
  715. package/dist/illustrative-icon/components/gift-box-plus-duocolor-static.cjs.js +2 -0
  716. package/dist/illustrative-icon/components/gift-box-plus-duocolor-static.cjs.js.map +1 -0
  717. package/dist/illustrative-icon/components/gift-box-plus-duocolor-static.d.ts +7 -0
  718. package/dist/illustrative-icon/components/gift-box-plus-duocolor-static.d.ts.map +1 -0
  719. package/dist/illustrative-icon/components/gift-box-plus-duocolor-static.es.js +10 -0
  720. package/dist/illustrative-icon/components/gift-box-plus-duocolor-static.es.js.map +1 -0
  721. package/dist/illustrative-icon/components/gift-box-plus-offblack-animated.cjs.js +2 -0
  722. package/dist/illustrative-icon/components/gift-box-plus-offblack-animated.cjs.js.map +1 -0
  723. package/dist/illustrative-icon/components/gift-box-plus-offblack-animated.d.ts +7 -0
  724. package/dist/illustrative-icon/components/gift-box-plus-offblack-animated.d.ts.map +1 -0
  725. package/dist/illustrative-icon/components/gift-box-plus-offblack-animated.es.js +20 -0
  726. package/dist/illustrative-icon/components/gift-box-plus-offblack-animated.es.js.map +1 -0
  727. package/dist/illustrative-icon/components/gift-box-plus-offblack-static.cjs.js +2 -0
  728. package/dist/illustrative-icon/components/gift-box-plus-offblack-static.cjs.js.map +1 -0
  729. package/dist/illustrative-icon/components/gift-box-plus-offblack-static.d.ts +7 -0
  730. package/dist/illustrative-icon/components/gift-box-plus-offblack-static.d.ts.map +1 -0
  731. package/dist/illustrative-icon/components/gift-box-plus-offblack-static.es.js +10 -0
  732. package/dist/illustrative-icon/components/gift-box-plus-offblack-static.es.js.map +1 -0
  733. package/dist/illustrative-icon/components/info-letter-duocolor-animated.cjs.js +2 -0
  734. package/dist/illustrative-icon/components/info-letter-duocolor-animated.cjs.js.map +1 -0
  735. package/dist/illustrative-icon/components/info-letter-duocolor-animated.d.ts +7 -0
  736. package/dist/illustrative-icon/components/info-letter-duocolor-animated.d.ts.map +1 -0
  737. package/dist/illustrative-icon/components/info-letter-duocolor-animated.es.js +20 -0
  738. package/dist/illustrative-icon/components/info-letter-duocolor-animated.es.js.map +1 -0
  739. package/dist/illustrative-icon/components/info-letter-duocolor-static.cjs.js +2 -0
  740. package/dist/illustrative-icon/components/info-letter-duocolor-static.cjs.js.map +1 -0
  741. package/dist/illustrative-icon/components/info-letter-duocolor-static.d.ts +7 -0
  742. package/dist/illustrative-icon/components/info-letter-duocolor-static.d.ts.map +1 -0
  743. package/dist/illustrative-icon/components/info-letter-duocolor-static.es.js +10 -0
  744. package/dist/illustrative-icon/components/info-letter-duocolor-static.es.js.map +1 -0
  745. package/dist/illustrative-icon/components/info-letter-offblack-animated.cjs.js +2 -0
  746. package/dist/illustrative-icon/components/info-letter-offblack-animated.cjs.js.map +1 -0
  747. package/dist/illustrative-icon/components/info-letter-offblack-animated.d.ts +7 -0
  748. package/dist/illustrative-icon/components/info-letter-offblack-animated.d.ts.map +1 -0
  749. package/dist/illustrative-icon/components/info-letter-offblack-animated.es.js +20 -0
  750. package/dist/illustrative-icon/components/info-letter-offblack-animated.es.js.map +1 -0
  751. package/dist/illustrative-icon/components/info-letter-offblack-static.cjs.js +2 -0
  752. package/dist/illustrative-icon/components/info-letter-offblack-static.cjs.js.map +1 -0
  753. package/dist/illustrative-icon/components/info-letter-offblack-static.d.ts +7 -0
  754. package/dist/illustrative-icon/components/info-letter-offblack-static.d.ts.map +1 -0
  755. package/dist/illustrative-icon/components/info-letter-offblack-static.es.js +10 -0
  756. package/dist/illustrative-icon/components/info-letter-offblack-static.es.js.map +1 -0
  757. package/dist/illustrative-icon/components/leaf-duocolor-animated.cjs.js +2 -0
  758. package/dist/illustrative-icon/components/leaf-duocolor-animated.cjs.js.map +1 -0
  759. package/dist/illustrative-icon/components/leaf-duocolor-animated.d.ts +7 -0
  760. package/dist/illustrative-icon/components/leaf-duocolor-animated.d.ts.map +1 -0
  761. package/dist/illustrative-icon/components/leaf-duocolor-animated.es.js +20 -0
  762. package/dist/illustrative-icon/components/leaf-duocolor-animated.es.js.map +1 -0
  763. package/dist/illustrative-icon/components/leaf-duocolor-static.cjs.js +2 -0
  764. package/dist/illustrative-icon/components/leaf-duocolor-static.cjs.js.map +1 -0
  765. package/dist/illustrative-icon/components/leaf-duocolor-static.d.ts +7 -0
  766. package/dist/illustrative-icon/components/leaf-duocolor-static.d.ts.map +1 -0
  767. package/dist/illustrative-icon/components/leaf-duocolor-static.es.js +10 -0
  768. package/dist/illustrative-icon/components/leaf-duocolor-static.es.js.map +1 -0
  769. package/dist/illustrative-icon/components/leaf-offblack-animated.cjs.js +2 -0
  770. package/dist/illustrative-icon/components/leaf-offblack-animated.cjs.js.map +1 -0
  771. package/dist/illustrative-icon/components/leaf-offblack-animated.d.ts +7 -0
  772. package/dist/illustrative-icon/components/leaf-offblack-animated.d.ts.map +1 -0
  773. package/dist/illustrative-icon/components/leaf-offblack-animated.es.js +20 -0
  774. package/dist/illustrative-icon/components/leaf-offblack-animated.es.js.map +1 -0
  775. package/dist/illustrative-icon/components/leaf-offblack-static.cjs.js +2 -0
  776. package/dist/illustrative-icon/components/leaf-offblack-static.cjs.js.map +1 -0
  777. package/dist/illustrative-icon/components/leaf-offblack-static.d.ts +7 -0
  778. package/dist/illustrative-icon/components/leaf-offblack-static.d.ts.map +1 -0
  779. package/dist/illustrative-icon/components/leaf-offblack-static.es.js +10 -0
  780. package/dist/illustrative-icon/components/leaf-offblack-static.es.js.map +1 -0
  781. package/dist/illustrative-icon/components/number-tranfer-duocolor-static.cjs.js +2 -0
  782. package/dist/illustrative-icon/components/number-tranfer-duocolor-static.cjs.js.map +1 -0
  783. package/dist/illustrative-icon/components/number-tranfer-duocolor-static.d.ts +7 -0
  784. package/dist/illustrative-icon/components/number-tranfer-duocolor-static.d.ts.map +1 -0
  785. package/dist/illustrative-icon/components/number-tranfer-duocolor-static.es.js +10 -0
  786. package/dist/illustrative-icon/components/number-tranfer-duocolor-static.es.js.map +1 -0
  787. package/dist/illustrative-icon/components/number-tranfer-offblack-static.cjs.js +2 -0
  788. package/dist/illustrative-icon/components/number-tranfer-offblack-static.cjs.js.map +1 -0
  789. package/dist/illustrative-icon/components/number-tranfer-offblack-static.d.ts +7 -0
  790. package/dist/illustrative-icon/components/number-tranfer-offblack-static.d.ts.map +1 -0
  791. package/dist/illustrative-icon/components/number-tranfer-offblack-static.es.js +10 -0
  792. package/dist/illustrative-icon/components/number-tranfer-offblack-static.es.js.map +1 -0
  793. package/dist/illustrative-icon/components/number-transfer-duocolor-animated.cjs.js +2 -0
  794. package/dist/illustrative-icon/components/number-transfer-duocolor-animated.cjs.js.map +1 -0
  795. package/dist/illustrative-icon/components/number-transfer-duocolor-animated.d.ts +7 -0
  796. package/dist/illustrative-icon/components/number-transfer-duocolor-animated.d.ts.map +1 -0
  797. package/dist/illustrative-icon/components/number-transfer-duocolor-animated.es.js +20 -0
  798. package/dist/illustrative-icon/components/number-transfer-duocolor-animated.es.js.map +1 -0
  799. package/dist/illustrative-icon/components/number-transfer-offblack-animated.cjs.js +2 -0
  800. package/dist/illustrative-icon/components/number-transfer-offblack-animated.cjs.js.map +1 -0
  801. package/dist/illustrative-icon/components/number-transfer-offblack-animated.d.ts +7 -0
  802. package/dist/illustrative-icon/components/number-transfer-offblack-animated.d.ts.map +1 -0
  803. package/dist/illustrative-icon/components/number-transfer-offblack-animated.es.js +20 -0
  804. package/dist/illustrative-icon/components/number-transfer-offblack-animated.es.js.map +1 -0
  805. package/dist/illustrative-icon/components/page-duocolor-static.cjs.js +2 -0
  806. package/dist/illustrative-icon/components/page-duocolor-static.cjs.js.map +1 -0
  807. package/dist/illustrative-icon/components/page-duocolor-static.d.ts +7 -0
  808. package/dist/illustrative-icon/components/page-duocolor-static.d.ts.map +1 -0
  809. package/dist/illustrative-icon/components/page-duocolor-static.es.js +10 -0
  810. package/dist/illustrative-icon/components/page-duocolor-static.es.js.map +1 -0
  811. package/dist/illustrative-icon/components/page-offblack-static.cjs.js +2 -0
  812. package/dist/illustrative-icon/components/page-offblack-static.cjs.js.map +1 -0
  813. package/dist/illustrative-icon/components/page-offblack-static.d.ts +7 -0
  814. package/dist/illustrative-icon/components/page-offblack-static.d.ts.map +1 -0
  815. package/dist/illustrative-icon/components/page-offblack-static.es.js +10 -0
  816. package/dist/illustrative-icon/components/page-offblack-static.es.js.map +1 -0
  817. package/dist/illustrative-icon/components/phone-repair-duocolor-animated.cjs.js +2 -0
  818. package/dist/illustrative-icon/components/phone-repair-duocolor-animated.cjs.js.map +1 -0
  819. package/dist/illustrative-icon/components/phone-repair-duocolor-animated.d.ts +7 -0
  820. package/dist/illustrative-icon/components/phone-repair-duocolor-animated.d.ts.map +1 -0
  821. package/dist/illustrative-icon/components/phone-repair-duocolor-animated.es.js +20 -0
  822. package/dist/illustrative-icon/components/phone-repair-duocolor-animated.es.js.map +1 -0
  823. package/dist/illustrative-icon/components/phone-repair-duocolor-static.cjs.js +2 -0
  824. package/dist/illustrative-icon/components/phone-repair-duocolor-static.cjs.js.map +1 -0
  825. package/dist/illustrative-icon/components/phone-repair-duocolor-static.d.ts +7 -0
  826. package/dist/illustrative-icon/components/phone-repair-duocolor-static.d.ts.map +1 -0
  827. package/dist/illustrative-icon/components/phone-repair-duocolor-static.es.js +10 -0
  828. package/dist/illustrative-icon/components/phone-repair-duocolor-static.es.js.map +1 -0
  829. package/dist/illustrative-icon/components/phone-repair-offblack-animated.cjs.js +2 -0
  830. package/dist/illustrative-icon/components/phone-repair-offblack-animated.cjs.js.map +1 -0
  831. package/dist/illustrative-icon/components/phone-repair-offblack-animated.d.ts +7 -0
  832. package/dist/illustrative-icon/components/phone-repair-offblack-animated.d.ts.map +1 -0
  833. package/dist/illustrative-icon/components/phone-repair-offblack-animated.es.js +20 -0
  834. package/dist/illustrative-icon/components/phone-repair-offblack-animated.es.js.map +1 -0
  835. package/dist/illustrative-icon/components/phone-repair-offblack-static.cjs.js +2 -0
  836. package/dist/illustrative-icon/components/phone-repair-offblack-static.cjs.js.map +1 -0
  837. package/dist/illustrative-icon/components/phone-repair-offblack-static.d.ts +7 -0
  838. package/dist/illustrative-icon/components/phone-repair-offblack-static.d.ts.map +1 -0
  839. package/dist/illustrative-icon/components/phone-repair-offblack-static.es.js +10 -0
  840. package/dist/illustrative-icon/components/phone-repair-offblack-static.es.js.map +1 -0
  841. package/dist/illustrative-icon/components/phone-settings-duocolor-animated.cjs.js +2 -0
  842. package/dist/illustrative-icon/components/phone-settings-duocolor-animated.cjs.js.map +1 -0
  843. package/dist/illustrative-icon/components/phone-settings-duocolor-animated.d.ts +7 -0
  844. package/dist/illustrative-icon/components/phone-settings-duocolor-animated.d.ts.map +1 -0
  845. package/dist/illustrative-icon/components/phone-settings-duocolor-animated.es.js +20 -0
  846. package/dist/illustrative-icon/components/phone-settings-duocolor-animated.es.js.map +1 -0
  847. package/dist/illustrative-icon/components/phone-settings-duocolor-static.cjs.js +2 -0
  848. package/dist/illustrative-icon/components/phone-settings-duocolor-static.cjs.js.map +1 -0
  849. package/dist/illustrative-icon/components/phone-settings-duocolor-static.d.ts +7 -0
  850. package/dist/illustrative-icon/components/phone-settings-duocolor-static.d.ts.map +1 -0
  851. package/dist/illustrative-icon/components/phone-settings-duocolor-static.es.js +10 -0
  852. package/dist/illustrative-icon/components/phone-settings-duocolor-static.es.js.map +1 -0
  853. package/dist/illustrative-icon/components/phone-settings-offblack-animated.cjs.js +2 -0
  854. package/dist/illustrative-icon/components/phone-settings-offblack-animated.cjs.js.map +1 -0
  855. package/dist/illustrative-icon/components/phone-settings-offblack-animated.d.ts +7 -0
  856. package/dist/illustrative-icon/components/phone-settings-offblack-animated.d.ts.map +1 -0
  857. package/dist/illustrative-icon/components/phone-settings-offblack-animated.es.js +20 -0
  858. package/dist/illustrative-icon/components/phone-settings-offblack-animated.es.js.map +1 -0
  859. package/dist/illustrative-icon/components/phone-settings-offblack-static.cjs.js +2 -0
  860. package/dist/illustrative-icon/components/phone-settings-offblack-static.cjs.js.map +1 -0
  861. package/dist/illustrative-icon/components/phone-settings-offblack-static.d.ts +7 -0
  862. package/dist/illustrative-icon/components/phone-settings-offblack-static.d.ts.map +1 -0
  863. package/dist/illustrative-icon/components/phone-settings-offblack-static.es.js +10 -0
  864. package/dist/illustrative-icon/components/phone-settings-offblack-static.es.js.map +1 -0
  865. package/dist/illustrative-icon/components/return-label-duocolor-animated.cjs.js +2 -0
  866. package/dist/illustrative-icon/components/return-label-duocolor-animated.cjs.js.map +1 -0
  867. package/dist/illustrative-icon/components/return-label-duocolor-animated.d.ts +7 -0
  868. package/dist/illustrative-icon/components/return-label-duocolor-animated.d.ts.map +1 -0
  869. package/dist/illustrative-icon/components/return-label-duocolor-animated.es.js +20 -0
  870. package/dist/illustrative-icon/components/return-label-duocolor-animated.es.js.map +1 -0
  871. package/dist/illustrative-icon/components/return-label-duocolor-static.cjs.js +2 -0
  872. package/dist/illustrative-icon/components/return-label-duocolor-static.cjs.js.map +1 -0
  873. package/dist/illustrative-icon/components/return-label-duocolor-static.d.ts +7 -0
  874. package/dist/illustrative-icon/components/return-label-duocolor-static.d.ts.map +1 -0
  875. package/dist/illustrative-icon/components/return-label-duocolor-static.es.js +10 -0
  876. package/dist/illustrative-icon/components/return-label-duocolor-static.es.js.map +1 -0
  877. package/dist/illustrative-icon/components/return-label-offblack-animated.cjs.js +2 -0
  878. package/dist/illustrative-icon/components/return-label-offblack-animated.cjs.js.map +1 -0
  879. package/dist/illustrative-icon/components/return-label-offblack-animated.d.ts +7 -0
  880. package/dist/illustrative-icon/components/return-label-offblack-animated.d.ts.map +1 -0
  881. package/dist/illustrative-icon/components/return-label-offblack-animated.es.js +20 -0
  882. package/dist/illustrative-icon/components/return-label-offblack-animated.es.js.map +1 -0
  883. package/dist/illustrative-icon/components/return-label-offblack-static.cjs.js +2 -0
  884. package/dist/illustrative-icon/components/return-label-offblack-static.cjs.js.map +1 -0
  885. package/dist/illustrative-icon/components/return-label-offblack-static.d.ts +7 -0
  886. package/dist/illustrative-icon/components/return-label-offblack-static.d.ts.map +1 -0
  887. package/dist/illustrative-icon/components/return-label-offblack-static.es.js +10 -0
  888. package/dist/illustrative-icon/components/return-label-offblack-static.es.js.map +1 -0
  889. package/dist/illustrative-icon/components/settings-pen-duocolor-animated.cjs.js +2 -0
  890. package/dist/illustrative-icon/components/settings-pen-duocolor-animated.cjs.js.map +1 -0
  891. package/dist/illustrative-icon/components/settings-pen-duocolor-animated.d.ts +7 -0
  892. package/dist/illustrative-icon/components/settings-pen-duocolor-animated.d.ts.map +1 -0
  893. package/dist/illustrative-icon/components/settings-pen-duocolor-animated.es.js +20 -0
  894. package/dist/illustrative-icon/components/settings-pen-duocolor-animated.es.js.map +1 -0
  895. package/dist/illustrative-icon/components/settings-pen-duocolor-static.cjs.js +2 -0
  896. package/dist/illustrative-icon/components/settings-pen-duocolor-static.cjs.js.map +1 -0
  897. package/dist/illustrative-icon/components/settings-pen-duocolor-static.d.ts +7 -0
  898. package/dist/illustrative-icon/components/settings-pen-duocolor-static.d.ts.map +1 -0
  899. package/dist/illustrative-icon/components/settings-pen-duocolor-static.es.js +10 -0
  900. package/dist/illustrative-icon/components/settings-pen-duocolor-static.es.js.map +1 -0
  901. package/dist/illustrative-icon/components/settings-pen-offblack-animated.cjs.js +2 -0
  902. package/dist/illustrative-icon/components/settings-pen-offblack-animated.cjs.js.map +1 -0
  903. package/dist/illustrative-icon/components/settings-pen-offblack-animated.d.ts +7 -0
  904. package/dist/illustrative-icon/components/settings-pen-offblack-animated.d.ts.map +1 -0
  905. package/dist/illustrative-icon/components/settings-pen-offblack-animated.es.js +20 -0
  906. package/dist/illustrative-icon/components/settings-pen-offblack-animated.es.js.map +1 -0
  907. package/dist/illustrative-icon/components/settings-pen-offblack-static.cjs.js +2 -0
  908. package/dist/illustrative-icon/components/settings-pen-offblack-static.cjs.js.map +1 -0
  909. package/dist/illustrative-icon/components/settings-pen-offblack-static.d.ts +7 -0
  910. package/dist/illustrative-icon/components/settings-pen-offblack-static.d.ts.map +1 -0
  911. package/dist/illustrative-icon/components/settings-pen-offblack-static.es.js +10 -0
  912. package/dist/illustrative-icon/components/settings-pen-offblack-static.es.js.map +1 -0
  913. package/dist/illustrative-icon/components/shield-time-duocolor-animated.cjs.js +2 -0
  914. package/dist/illustrative-icon/components/shield-time-duocolor-animated.cjs.js.map +1 -0
  915. package/dist/illustrative-icon/components/shield-time-duocolor-animated.d.ts +7 -0
  916. package/dist/illustrative-icon/components/shield-time-duocolor-animated.d.ts.map +1 -0
  917. package/dist/illustrative-icon/components/shield-time-duocolor-animated.es.js +20 -0
  918. package/dist/illustrative-icon/components/shield-time-duocolor-animated.es.js.map +1 -0
  919. package/dist/illustrative-icon/components/shield-time-duocolor-static.cjs.js +2 -0
  920. package/dist/illustrative-icon/components/shield-time-duocolor-static.cjs.js.map +1 -0
  921. package/dist/illustrative-icon/components/shield-time-duocolor-static.d.ts +7 -0
  922. package/dist/illustrative-icon/components/shield-time-duocolor-static.d.ts.map +1 -0
  923. package/dist/illustrative-icon/components/shield-time-duocolor-static.es.js +10 -0
  924. package/dist/illustrative-icon/components/shield-time-duocolor-static.es.js.map +1 -0
  925. package/dist/illustrative-icon/components/shield-time-offblack-animated.cjs.js +2 -0
  926. package/dist/illustrative-icon/components/shield-time-offblack-animated.cjs.js.map +1 -0
  927. package/dist/illustrative-icon/components/shield-time-offblack-animated.d.ts +7 -0
  928. package/dist/illustrative-icon/components/shield-time-offblack-animated.d.ts.map +1 -0
  929. package/dist/illustrative-icon/components/shield-time-offblack-animated.es.js +20 -0
  930. package/dist/illustrative-icon/components/shield-time-offblack-animated.es.js.map +1 -0
  931. package/dist/illustrative-icon/components/shield-time-offblack-static.cjs.js +2 -0
  932. package/dist/illustrative-icon/components/shield-time-offblack-static.cjs.js.map +1 -0
  933. package/dist/illustrative-icon/components/shield-time-offblack-static.d.ts +7 -0
  934. package/dist/illustrative-icon/components/shield-time-offblack-static.d.ts.map +1 -0
  935. package/dist/illustrative-icon/components/shield-time-offblack-static.es.js +10 -0
  936. package/dist/illustrative-icon/components/shield-time-offblack-static.es.js.map +1 -0
  937. package/dist/illustrative-icon/components/user-duocolor-animated.cjs.js +2 -0
  938. package/dist/illustrative-icon/components/user-duocolor-animated.cjs.js.map +1 -0
  939. package/dist/illustrative-icon/components/user-duocolor-animated.d.ts +7 -0
  940. package/dist/illustrative-icon/components/user-duocolor-animated.d.ts.map +1 -0
  941. package/dist/illustrative-icon/components/user-duocolor-animated.es.js +20 -0
  942. package/dist/illustrative-icon/components/user-duocolor-animated.es.js.map +1 -0
  943. package/dist/illustrative-icon/components/user-duocolor-static.cjs.js +2 -0
  944. package/dist/illustrative-icon/components/user-duocolor-static.cjs.js.map +1 -0
  945. package/dist/illustrative-icon/components/user-duocolor-static.d.ts +7 -0
  946. package/dist/illustrative-icon/components/user-duocolor-static.d.ts.map +1 -0
  947. package/dist/illustrative-icon/components/user-duocolor-static.es.js +10 -0
  948. package/dist/illustrative-icon/components/user-duocolor-static.es.js.map +1 -0
  949. package/dist/illustrative-icon/components/user-offblack-animated.cjs.js +2 -0
  950. package/dist/illustrative-icon/components/user-offblack-animated.cjs.js.map +1 -0
  951. package/dist/illustrative-icon/components/user-offblack-animated.d.ts +7 -0
  952. package/dist/illustrative-icon/components/user-offblack-animated.d.ts.map +1 -0
  953. package/dist/illustrative-icon/components/user-offblack-animated.es.js +20 -0
  954. package/dist/illustrative-icon/components/user-offblack-animated.es.js.map +1 -0
  955. package/dist/illustrative-icon/components/user-offblack-static.cjs.js +2 -0
  956. package/dist/illustrative-icon/components/user-offblack-static.cjs.js.map +1 -0
  957. package/dist/illustrative-icon/components/user-offblack-static.d.ts +7 -0
  958. package/dist/illustrative-icon/components/user-offblack-static.d.ts.map +1 -0
  959. package/dist/illustrative-icon/components/user-offblack-static.es.js +10 -0
  960. package/dist/illustrative-icon/components/user-offblack-static.es.js.map +1 -0
  961. package/dist/illustrative-icon/components-metadata.js +280 -0
  962. package/dist/libraries/action/src/action.d.ts +2 -1
  963. package/dist/libraries/action/src/action.d.ts.map +1 -1
  964. package/dist/library.cjs.js +1 -1
  965. package/dist/library.es.js +34 -34
  966. package/dist/{listbox-i6BQQ-NZ.mjs → listbox-CtV-Vcmy.mjs} +2 -2
  967. package/dist/{listbox-i6BQQ-NZ.mjs.map → listbox-CtV-Vcmy.mjs.map} +1 -1
  968. package/dist/{listbox-ATP4hOWF.js → listbox-lXO21cJV.js} +2 -2
  969. package/dist/{listbox-ATP4hOWF.js.map → listbox-lXO21cJV.js.map} +1 -1
  970. package/dist/listbox.cjs.js +1 -1
  971. package/dist/listbox.es.js +1 -1
  972. package/dist/{loading-Dwtkjstg.js → loading-B_0NjCnh.js} +2 -2
  973. package/dist/{loading-Dwtkjstg.js.map → loading-B_0NjCnh.js.map} +1 -1
  974. package/dist/{loading-r23nxJSz.mjs → loading-DqZBpMaa.mjs} +2 -2
  975. package/dist/{loading-r23nxJSz.mjs.map → loading-DqZBpMaa.mjs.map} +1 -1
  976. package/dist/loading.cjs.js +1 -1
  977. package/dist/loading.es.js +1 -1
  978. package/dist/{message-D9CDwcw9.mjs → message-CeXuAhmb.mjs} +3 -3
  979. package/dist/{message-D9CDwcw9.mjs.map → message-CeXuAhmb.mjs.map} +1 -1
  980. package/dist/{message-0yTS5pOF.js → message-DsGB-JFh.js} +2 -2
  981. package/dist/{message-0yTS5pOF.js.map → message-DsGB-JFh.js.map} +1 -1
  982. package/dist/message.cjs.js +1 -1
  983. package/dist/message.es.js +1 -1
  984. package/dist/{modal-Evh8sCBO.mjs → modal-Bu1Zv5Ic.mjs} +2 -2
  985. package/dist/{modal-Evh8sCBO.mjs.map → modal-Bu1Zv5Ic.mjs.map} +1 -1
  986. package/dist/{modal-CmPPxJ7Y.js → modal-D0Qxrvx5.js} +2 -2
  987. package/dist/{modal-CmPPxJ7Y.js.map → modal-D0Qxrvx5.js.map} +1 -1
  988. package/dist/modal.cjs.js +1 -1
  989. package/dist/modal.es.js +1 -1
  990. package/dist/{notification-B5bNNq86.js → notification-D2oClkX2.js} +2 -2
  991. package/dist/{notification-B5bNNq86.js.map → notification-D2oClkX2.js.map} +1 -1
  992. package/dist/{notification-BbQCmsnY.mjs → notification-DiVdy6E_.mjs} +2 -2
  993. package/dist/{notification-BbQCmsnY.mjs.map → notification-DiVdy6E_.mjs.map} +1 -1
  994. package/dist/notification.cjs.js +1 -1
  995. package/dist/notification.es.js +1 -1
  996. package/dist/{pagination-rFRdkHII.js → pagination-C1rYXq9I.js} +2 -2
  997. package/dist/{pagination-rFRdkHII.js.map → pagination-C1rYXq9I.js.map} +1 -1
  998. package/dist/{pagination-Cc_4zCQA.mjs → pagination-CS1AMyBl.mjs} +3 -3
  999. package/dist/{pagination-Cc_4zCQA.mjs.map → pagination-CS1AMyBl.mjs.map} +1 -1
  1000. package/dist/pagination.cjs.js +1 -1
  1001. package/dist/pagination.es.js +1 -1
  1002. package/dist/{paragraph-By4jMjnH.js → paragraph-B8HFdNne.js} +2 -2
  1003. package/dist/{paragraph-By4jMjnH.js.map → paragraph-B8HFdNne.js.map} +1 -1
  1004. package/dist/{paragraph-DSxXmX_0.mjs → paragraph-CwAdFoIm.mjs} +3 -3
  1005. package/dist/{paragraph-DSxXmX_0.mjs.map → paragraph-CwAdFoIm.mjs.map} +1 -1
  1006. package/dist/paragraph.cjs.js +1 -1
  1007. package/dist/paragraph.es.js +1 -1
  1008. package/dist/{popover-XJqF5DHT.js → popover-BFozkeS3.js} +2 -2
  1009. package/dist/{popover-XJqF5DHT.js.map → popover-BFozkeS3.js.map} +1 -1
  1010. package/dist/{popover-BSUdf0Ae.mjs → popover-DFPGkVJ6.mjs} +2 -2
  1011. package/dist/{popover-BSUdf0Ae.mjs.map → popover-DFPGkVJ6.mjs.map} +1 -1
  1012. package/dist/popover.cjs.js +1 -1
  1013. package/dist/popover.es.js +1 -1
  1014. package/dist/{product-card-Bt-F0wKr.mjs → product-card-CxfHfJVV.mjs} +3 -3
  1015. package/dist/{product-card-Bt-F0wKr.mjs.map → product-card-CxfHfJVV.mjs.map} +1 -1
  1016. package/dist/{product-card-8X-Ld2d_.js → product-card-XxBwuxM-.js} +2 -2
  1017. package/dist/{product-card-8X-Ld2d_.js.map → product-card-XxBwuxM-.js.map} +1 -1
  1018. package/dist/product-card.cjs.js +1 -1
  1019. package/dist/product-card.es.js +1 -1
  1020. package/dist/{promotion-card-BnXD2mkp.js → promotion-card-C1UoxzcV.js} +2 -2
  1021. package/dist/{promotion-card-BnXD2mkp.js.map → promotion-card-C1UoxzcV.js.map} +1 -1
  1022. package/dist/{promotion-card-DOO0VCI8.mjs → promotion-card-CooYPpFo.mjs} +37 -37
  1023. package/dist/{promotion-card-DOO0VCI8.mjs.map → promotion-card-CooYPpFo.mjs.map} +1 -1
  1024. package/dist/promotion-card.cjs.js +1 -1
  1025. package/dist/promotion-card.es.js +1 -1
  1026. package/dist/purpur.css +1 -1
  1027. package/dist/{quantity-selector-B4YnfmNb.mjs → quantity-selector-COtqc-Iy.mjs} +2 -2
  1028. package/dist/{quantity-selector-B4YnfmNb.mjs.map → quantity-selector-COtqc-Iy.mjs.map} +1 -1
  1029. package/dist/{quantity-selector-CTBoxiPO.js → quantity-selector-CwxuBsVC.js} +2 -2
  1030. package/dist/{quantity-selector-CTBoxiPO.js.map → quantity-selector-CwxuBsVC.js.map} +1 -1
  1031. package/dist/quantity-selector.cjs.js +1 -1
  1032. package/dist/quantity-selector.es.js +1 -1
  1033. package/dist/{radio-card-group-nrDi5EPK.js → radio-card-group-BXwkIIEw.js} +2 -2
  1034. package/dist/{radio-card-group-nrDi5EPK.js.map → radio-card-group-BXwkIIEw.js.map} +1 -1
  1035. package/dist/{radio-card-group-ZBXjYcQs.mjs → radio-card-group-Bn6SK0Wc.mjs} +2 -2
  1036. package/dist/{radio-card-group-ZBXjYcQs.mjs.map → radio-card-group-Bn6SK0Wc.mjs.map} +1 -1
  1037. package/dist/radio-card-group.cjs.js +1 -1
  1038. package/dist/radio-card-group.es.js +1 -1
  1039. package/dist/rich-text.cjs.js +1 -1
  1040. package/dist/rich-text.es.js +1 -1
  1041. package/dist/{search-field-_h8xn-sj.mjs → search-field-BMC3WG2H.mjs} +3 -3
  1042. package/dist/{search-field-_h8xn-sj.mjs.map → search-field-BMC3WG2H.mjs.map} +1 -1
  1043. package/dist/{search-field-vh6uz5KV.js → search-field-b1_QCs3U.js} +2 -2
  1044. package/dist/{search-field-vh6uz5KV.js.map → search-field-b1_QCs3U.js.map} +1 -1
  1045. package/dist/search-field.cjs.js +1 -1
  1046. package/dist/search-field.es.js +1 -1
  1047. package/dist/select-D6R7I5b5.js +2 -0
  1048. package/dist/select-D6R7I5b5.js.map +1 -0
  1049. package/dist/{select-BEmu_fh9.mjs → select-XNPtpZhh.mjs} +59 -63
  1050. package/dist/select-XNPtpZhh.mjs.map +1 -0
  1051. package/dist/select.cjs.js +1 -1
  1052. package/dist/select.es.js +1 -1
  1053. package/dist/{stepper-B-nCLs2D.mjs → stepper-DSl-YCMe.mjs} +2 -2
  1054. package/dist/{stepper-B-nCLs2D.mjs.map → stepper-DSl-YCMe.mjs.map} +1 -1
  1055. package/dist/{stepper-CTKlnH0q.js → stepper-eaxkBC7o.js} +2 -2
  1056. package/dist/{stepper-CTKlnH0q.js.map → stepper-eaxkBC7o.js.map} +1 -1
  1057. package/dist/stepper.cjs.js +1 -1
  1058. package/dist/stepper.es.js +1 -1
  1059. package/dist/table-CR2Wj-O9.js +9 -0
  1060. package/dist/{table-DTQe4nN8.js.map → table-CR2Wj-O9.js.map} +1 -1
  1061. package/dist/{table-DOPXfD-s.mjs → table-jvrz_ulj.mjs} +2318 -2340
  1062. package/dist/{table-DOPXfD-s.mjs.map → table-jvrz_ulj.mjs.map} +1 -1
  1063. package/dist/table.cjs.js +1 -1
  1064. package/dist/table.es.js +1 -1
  1065. package/dist/{text-field-D8MMa6ij.mjs → text-field-AsvqJh6P.mjs} +135 -135
  1066. package/dist/text-field-AsvqJh6P.mjs.map +1 -0
  1067. package/dist/{text-field-C2W13n15.js → text-field-CthxpKsp.js} +2 -2
  1068. package/dist/text-field-CthxpKsp.js.map +1 -0
  1069. package/dist/text-field.cjs.js +1 -1
  1070. package/dist/text-field.es.js +1 -1
  1071. package/dist/{toggle-B8ZLUVar.js → toggle-BgrfdtmN.js} +2 -2
  1072. package/dist/{toggle-B8ZLUVar.js.map → toggle-BgrfdtmN.js.map} +1 -1
  1073. package/dist/{toggle-CY3J8BRX.mjs → toggle-Cg1KFa_2.mjs} +2 -2
  1074. package/dist/{toggle-CY3J8BRX.mjs.map → toggle-Cg1KFa_2.mjs.map} +1 -1
  1075. package/dist/toggle.cjs.js +1 -1
  1076. package/dist/toggle.es.js +1 -1
  1077. package/dist/{tooltip-CDnJKoIA.js → tooltip-B-11qk-0.js} +2 -2
  1078. package/dist/{tooltip-CDnJKoIA.js.map → tooltip-B-11qk-0.js.map} +1 -1
  1079. package/dist/{tooltip-pwJMEBBP.mjs → tooltip-DngYHn5W.mjs} +2 -2
  1080. package/dist/{tooltip-pwJMEBBP.mjs.map → tooltip-DngYHn5W.mjs.map} +1 -1
  1081. package/dist/tooltip.cjs.js +1 -1
  1082. package/dist/tooltip.es.js +1 -1
  1083. package/package.json +22 -22
  1084. package/dist/avatar-CYnD57o4.js +0 -2
  1085. package/dist/avatar-CYnD57o4.js.map +0 -1
  1086. package/dist/avatar-CzbDD1MK.mjs +0 -27
  1087. package/dist/avatar-CzbDD1MK.mjs.map +0 -1
  1088. package/dist/comparison-table-0UDB2BTU.js +0 -2
  1089. package/dist/comparison-table-0UDB2BTU.js.map +0 -1
  1090. package/dist/comparison-table-CjTE-fHN.mjs +0 -292
  1091. package/dist/comparison-table-CjTE-fHN.mjs.map +0 -1
  1092. package/dist/countdown-BsLsEZBv.mjs +0 -179
  1093. package/dist/countdown-BsLsEZBv.mjs.map +0 -1
  1094. package/dist/countdown-hYrFLmRg.js +0 -2
  1095. package/dist/countdown-hYrFLmRg.js.map +0 -1
  1096. package/dist/select-BEmu_fh9.mjs.map +0 -1
  1097. package/dist/select-DOqTJgTj.js +0 -2
  1098. package/dist/select-DOqTJgTj.js.map +0 -1
  1099. package/dist/table-DTQe4nN8.js +0 -9
  1100. package/dist/text-field-C2W13n15.js.map +0 -1
  1101. package/dist/text-field-D8MMa6ij.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx as a, jsxs as U, Fragment as X } from "react/jsx-runtime";
2
2
  import { forwardRef as Z, useState as C, useEffect as V } from "react";
3
3
  import { a as J } from "./spinner-DRQN6YdK.mjs";
4
- import { T as K } from "./text-field-D8MMa6ij.mjs";
4
+ import { T as K } from "./text-field-AsvqJh6P.mjs";
5
5
  import { c as B } from "./bind-CU-R61T-.mjs";
6
6
  import { b as L } from "./button-4-yWOgtD.mjs";
7
7
  import { e as Y } from "./minus.es-BK9qA9iJ.mjs";
@@ -169,4 +169,4 @@ export {
169
169
  dt as a,
170
170
  _t as q
171
171
  };
172
- //# sourceMappingURL=quantity-selector-B4YnfmNb.mjs.map
172
+ //# sourceMappingURL=quantity-selector-COtqc-Iy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"quantity-selector-B4YnfmNb.mjs","sources":["../../../components/icon/dist/components/plus.es.js","../../../components/quantity-selector/src/quantity-selector-button.tsx","../../../components/quantity-selector/src/quantity-selector.tsx"],"sourcesContent":["import { jsx as s } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"plus\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"plus\"],\n category: \"utility\"\n}, r = (o) => /* @__PURE__ */ s(l, { ...o, svg: e });\nr.displayName = \"IconPlus\";\nexport {\n r as IconPlus\n};\n//# sourceMappingURL=plus.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport { IconPlus } from \"@purpur/icon/plus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector-button.module.scss\";\n\ntype variant = \"primary\" | \"secondary\";\ntype buttonType = \"increment\" | \"decrement\";\n\ntype QuantitySelectorButtonProps = {\n [\"data-testid\"]?: string;\n [\"aria-label\"]?: string;\n disabled?: boolean;\n hasGap: boolean;\n variant: variant;\n buttonType: buttonType;\n onClick: (buttonType: buttonType) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-quantity-selector-button\";\n\nexport const QuantitySelectorButton = ({\n [\"data-testid\"]: dataTestid,\n [\"aria-label\"]: ariaLabel,\n disabled,\n hasGap,\n variant,\n buttonType,\n onClick,\n}: QuantitySelectorButtonProps) => {\n const classes = cx(rootClassName, {\n [`${rootClassName}--gap-left`]: hasGap && buttonType === \"decrement\",\n [`${rootClassName}--gap-right`]: hasGap && buttonType === \"increment\",\n [`${rootClassName}--no-gap-left`]: !hasGap && buttonType === \"decrement\",\n [`${rootClassName}--no-gap-right`]: !hasGap && buttonType === \"increment\",\n });\n\n return (\n <Button\n data-testid={dataTestid}\n className={classes}\n size=\"sm\"\n type=\"submit\"\n variant={variant}\n onClick={() => onClick(buttonType)}\n iconOnly={true}\n aria-label={ariaLabel ?? \"\"}\n disabled={disabled}\n tabIndex={-1}\n >\n {buttonType === \"increment\" ? <IconPlus size=\"xs\" /> : <IconMinus size=\"xs\" />}\n </Button>\n );\n};\n","import React, { type ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { TextField } from \"@purpur/text-field\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector.module.scss\";\nimport { QuantitySelectorButton } from \"./quantity-selector-button\";\n\nconst cx = c.bind(styles);\n\nexport const quantitySelectorVariants = [\"attached\", \"separated\"] as const;\nexport const quantitySelectorButtonVariants = [\"primary\", \"secondary\"] as const;\n\ntype Variant = (typeof quantitySelectorVariants)[number];\ntype ButtonVariant = (typeof quantitySelectorButtonVariants)[number];\n\nexport type QuantitySelectorProps = Omit<BaseProps<\"input\">, \"onChange\" | \"type\"> & {\n variant: Variant;\n buttonVariant: ButtonVariant;\n onChange: (value: number) => void;\n defaultValue?: number;\n ariaLabelIncrement?: string;\n ariaLabelDecrement?: string;\n /**\n * Used when the component is controlled\n */\n value?: number;\n minValue?: number;\n maxValue?: number;\n label?: string;\n errorText?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n loading?: boolean;\n};\n\nconst rootClassName = \"purpur-quantity-selector\";\n\nexport const QuantitySelector = forwardRef<HTMLInputElement, QuantitySelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n variant,\n buttonVariant,\n onChange,\n value: controlledValue,\n defaultValue,\n fullWidth,\n disabled,\n loading,\n minValue,\n maxValue,\n ariaLabelDecrement,\n ariaLabelIncrement,\n ...props\n },\n ref\n ) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? 0);\n const [debouncedValue, setDebouncedValue] = useState(uncontrolledValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : debouncedValue;\n\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const isDisabled = disabled || loading;\n const min = Math.max(minValue ?? 0, 0);\n const max = maxValue ?? Number.MAX_SAFE_INTEGER;\n const incrementDisabled = value === max;\n const decrementDisabled = value === min;\n\n useEffect(() => {\n if (isControlled) {\n setUncontrolledValue(controlledValue);\n }\n }, [controlledValue, isControlled]);\n\n useEffect(() => {\n if (!isControlled) {\n const timer = setTimeout(() => {\n setUncontrolledValue(debouncedValue);\n }, 300);\n\n return () => clearTimeout(timer);\n }\n return;\n }, [debouncedValue, isControlled, onChange]);\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--no-gap`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && !incrementDisabled,\n [`${rootClassName}--no-gap-disabled-left`]:\n variant === \"attached\" && !isDisabled && !incrementDisabled && decrementDisabled,\n [`${rootClassName}--no-gap-disabled-right`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && incrementDisabled,\n [`${rootClassName}--no-gap-disabled`]:\n variant === \"attached\" && (isDisabled || (incrementDisabled && decrementDisabled)),\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--loading`]: loading,\n });\n\n const handleOnChange = (e: ChangeEvent<HTMLInputElement>) => {\n const numericRegex = /^[0-9]*$/;\n if (!numericRegex.test(e.target.value)) {\n return;\n }\n const val = +e.target.value;\n if (val < min || val > max) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(val);\n }\n onChange(val);\n };\n\n const handleOnClick = (adjustmentType: \"increment\" | \"decrement\") => {\n const adjustedValue = adjustmentType === \"increment\" ? value + 1 : value - 1;\n if (adjustedValue < 0) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(adjustedValue);\n }\n onChange(adjustedValue);\n };\n\n const adjustmentButton = (adjustmentType: \"increment\" | \"decrement\") => {\n const buttonDisabled =\n (adjustmentType === \"increment\" && incrementDisabled) ||\n (adjustmentType === \"decrement\" && decrementDisabled);\n\n return (\n <QuantitySelectorButton\n data-testid={getTestId(\"button-\" + adjustmentType)}\n variant={buttonVariant}\n buttonType={adjustmentType}\n hasGap={variant === \"separated\"}\n onClick={handleOnClick}\n disabled={isDisabled || buttonDisabled}\n aria-label={adjustmentType === \"increment\" ? ariaLabelIncrement : ariaLabelDecrement}\n />\n );\n };\n\n const beforeField = (\n <>\n {loading && (\n <div\n className={cx(`${rootClassName}__spinner`, {\n [`${rootClassName}__spinner--full-width`]: fullWidth,\n [`${rootClassName}__spinner--separated`]: !fullWidth && variant === \"separated\",\n })}\n >\n <Spinner\n key=\"spinner\"\n disabled={isDisabled}\n size=\"xs\"\n data-testid={getTestId(\"spinner\")}\n />\n </div>\n )}\n {adjustmentButton(\"decrement\")}\n </>\n );\n\n return (\n <TextField\n value={value}\n type=\"number\"\n ref={ref}\n className={classes}\n data-testid={dataTestId}\n onChange={handleOnChange}\n beforeField={beforeField}\n afterField={adjustmentButton(\"increment\")}\n disabled={isDisabled}\n min={min}\n max={max}\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n {...props}\n />\n );\n }\n);\n\nQuantitySelector.displayName = \"QuantitySelector\";\n"],"names":["e","r","o","s","l","cx","c","styles","rootClassName","QuantitySelectorButton","dataTestid","ariaLabel","disabled","hasGap","variant","buttonType","onClick","classes","jsx","Button","IconPlus","IconMinus","quantitySelectorVariants","quantitySelectorButtonVariants","QuantitySelector","forwardRef","dataTestId","className","buttonVariant","onChange","controlledValue","defaultValue","fullWidth","loading","minValue","maxValue","ariaLabelDecrement","ariaLabelIncrement","props","ref","uncontrolledValue","setUncontrolledValue","useState","debouncedValue","setDebouncedValue","isControlled","value","getTestId","name","isDisabled","min","max","incrementDisabled","decrementDisabled","useEffect","timer","handleOnChange","val","handleOnClick","adjustmentType","adjustedValue","adjustmentButton","buttonDisabled","beforeField","jsxs","Fragment","Spinner","TextField"],"mappings":"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"}
1
+ {"version":3,"file":"quantity-selector-COtqc-Iy.mjs","sources":["../../../components/icon/dist/components/plus.es.js","../../../components/quantity-selector/src/quantity-selector-button.tsx","../../../components/quantity-selector/src/quantity-selector.tsx"],"sourcesContent":["import { jsx as s } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"plus\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"plus\"],\n category: \"utility\"\n}, r = (o) => /* @__PURE__ */ s(l, { ...o, svg: e });\nr.displayName = \"IconPlus\";\nexport {\n r as IconPlus\n};\n//# sourceMappingURL=plus.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport { IconPlus } from \"@purpur/icon/plus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector-button.module.scss\";\n\ntype variant = \"primary\" | \"secondary\";\ntype buttonType = \"increment\" | \"decrement\";\n\ntype QuantitySelectorButtonProps = {\n [\"data-testid\"]?: string;\n [\"aria-label\"]?: string;\n disabled?: boolean;\n hasGap: boolean;\n variant: variant;\n buttonType: buttonType;\n onClick: (buttonType: buttonType) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-quantity-selector-button\";\n\nexport const QuantitySelectorButton = ({\n [\"data-testid\"]: dataTestid,\n [\"aria-label\"]: ariaLabel,\n disabled,\n hasGap,\n variant,\n buttonType,\n onClick,\n}: QuantitySelectorButtonProps) => {\n const classes = cx(rootClassName, {\n [`${rootClassName}--gap-left`]: hasGap && buttonType === \"decrement\",\n [`${rootClassName}--gap-right`]: hasGap && buttonType === \"increment\",\n [`${rootClassName}--no-gap-left`]: !hasGap && buttonType === \"decrement\",\n [`${rootClassName}--no-gap-right`]: !hasGap && buttonType === \"increment\",\n });\n\n return (\n <Button\n data-testid={dataTestid}\n className={classes}\n size=\"sm\"\n type=\"submit\"\n variant={variant}\n onClick={() => onClick(buttonType)}\n iconOnly={true}\n aria-label={ariaLabel ?? \"\"}\n disabled={disabled}\n tabIndex={-1}\n >\n {buttonType === \"increment\" ? <IconPlus size=\"xs\" /> : <IconMinus size=\"xs\" />}\n </Button>\n );\n};\n","import React, { type ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { TextField } from \"@purpur/text-field\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector.module.scss\";\nimport { QuantitySelectorButton } from \"./quantity-selector-button\";\n\nconst cx = c.bind(styles);\n\nexport const quantitySelectorVariants = [\"attached\", \"separated\"] as const;\nexport const quantitySelectorButtonVariants = [\"primary\", \"secondary\"] as const;\n\ntype Variant = (typeof quantitySelectorVariants)[number];\ntype ButtonVariant = (typeof quantitySelectorButtonVariants)[number];\n\nexport type QuantitySelectorProps = Omit<BaseProps<\"input\">, \"onChange\" | \"type\"> & {\n variant: Variant;\n buttonVariant: ButtonVariant;\n onChange: (value: number) => void;\n defaultValue?: number;\n ariaLabelIncrement?: string;\n ariaLabelDecrement?: string;\n /**\n * Used when the component is controlled\n */\n value?: number;\n minValue?: number;\n maxValue?: number;\n label?: string;\n errorText?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n loading?: boolean;\n};\n\nconst rootClassName = \"purpur-quantity-selector\";\n\nexport const QuantitySelector = forwardRef<HTMLInputElement, QuantitySelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n variant,\n buttonVariant,\n onChange,\n value: controlledValue,\n defaultValue,\n fullWidth,\n disabled,\n loading,\n minValue,\n maxValue,\n ariaLabelDecrement,\n ariaLabelIncrement,\n ...props\n },\n ref\n ) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? 0);\n const [debouncedValue, setDebouncedValue] = useState(uncontrolledValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : debouncedValue;\n\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const isDisabled = disabled || loading;\n const min = Math.max(minValue ?? 0, 0);\n const max = maxValue ?? Number.MAX_SAFE_INTEGER;\n const incrementDisabled = value === max;\n const decrementDisabled = value === min;\n\n useEffect(() => {\n if (isControlled) {\n setUncontrolledValue(controlledValue);\n }\n }, [controlledValue, isControlled]);\n\n useEffect(() => {\n if (!isControlled) {\n const timer = setTimeout(() => {\n setUncontrolledValue(debouncedValue);\n }, 300);\n\n return () => clearTimeout(timer);\n }\n return;\n }, [debouncedValue, isControlled, onChange]);\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--no-gap`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && !incrementDisabled,\n [`${rootClassName}--no-gap-disabled-left`]:\n variant === \"attached\" && !isDisabled && !incrementDisabled && decrementDisabled,\n [`${rootClassName}--no-gap-disabled-right`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && incrementDisabled,\n [`${rootClassName}--no-gap-disabled`]:\n variant === \"attached\" && (isDisabled || (incrementDisabled && decrementDisabled)),\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--loading`]: loading,\n });\n\n const handleOnChange = (e: ChangeEvent<HTMLInputElement>) => {\n const numericRegex = /^[0-9]*$/;\n if (!numericRegex.test(e.target.value)) {\n return;\n }\n const val = +e.target.value;\n if (val < min || val > max) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(val);\n }\n onChange(val);\n };\n\n const handleOnClick = (adjustmentType: \"increment\" | \"decrement\") => {\n const adjustedValue = adjustmentType === \"increment\" ? value + 1 : value - 1;\n if (adjustedValue < 0) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(adjustedValue);\n }\n onChange(adjustedValue);\n };\n\n const adjustmentButton = (adjustmentType: \"increment\" | \"decrement\") => {\n const buttonDisabled =\n (adjustmentType === \"increment\" && incrementDisabled) ||\n (adjustmentType === \"decrement\" && decrementDisabled);\n\n return (\n <QuantitySelectorButton\n data-testid={getTestId(\"button-\" + adjustmentType)}\n variant={buttonVariant}\n buttonType={adjustmentType}\n hasGap={variant === \"separated\"}\n onClick={handleOnClick}\n disabled={isDisabled || buttonDisabled}\n aria-label={adjustmentType === \"increment\" ? ariaLabelIncrement : ariaLabelDecrement}\n />\n );\n };\n\n const beforeField = (\n <>\n {loading && (\n <div\n className={cx(`${rootClassName}__spinner`, {\n [`${rootClassName}__spinner--full-width`]: fullWidth,\n [`${rootClassName}__spinner--separated`]: !fullWidth && variant === \"separated\",\n })}\n >\n <Spinner\n key=\"spinner\"\n disabled={isDisabled}\n size=\"xs\"\n data-testid={getTestId(\"spinner\")}\n />\n </div>\n )}\n {adjustmentButton(\"decrement\")}\n </>\n );\n\n return (\n <TextField\n value={value}\n type=\"number\"\n ref={ref}\n className={classes}\n data-testid={dataTestId}\n onChange={handleOnChange}\n beforeField={beforeField}\n afterField={adjustmentButton(\"increment\")}\n disabled={isDisabled}\n min={min}\n max={max}\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n {...props}\n />\n );\n }\n);\n\nQuantitySelector.displayName = \"QuantitySelector\";\n"],"names":["e","r","o","s","l","cx","c","styles","rootClassName","QuantitySelectorButton","dataTestid","ariaLabel","disabled","hasGap","variant","buttonType","onClick","classes","jsx","Button","IconPlus","IconMinus","quantitySelectorVariants","quantitySelectorButtonVariants","QuantitySelector","forwardRef","dataTestId","className","buttonVariant","onChange","controlledValue","defaultValue","fullWidth","loading","minValue","maxValue","ariaLabelDecrement","ariaLabelIncrement","props","ref","uncontrolledValue","setUncontrolledValue","useState","debouncedValue","setDebouncedValue","isControlled","value","getTestId","name","isDisabled","min","max","incrementDisabled","decrementDisabled","useEffect","timer","handleOnChange","val","handleOnClick","adjustmentType","adjustedValue","adjustmentButton","buttonDisabled","beforeField","jsxs","Fragment","Spinner","TextField"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("react/jsx-runtime"),q=require("react"),U=require("./spinner-tKunS_o-.js"),X=require("./text-field-C2W13n15.js"),B=require("./bind-DeUYJ6m9.js"),Z=require("./button-DmybVApa.js"),J=require("./minus.es-DtXArdKK.js"),K=require("./icon-DNHpBTHs-faYHqTXU.js"),L={"purpur-quantity-selector":"_purpur-quantity-selector_1hglo_1","purpur-quantity-selector--full-width":"_purpur-quantity-selector--full-width_1hglo_25","purpur-quantity-selector--loading":"_purpur-quantity-selector--loading_1hglo_31","purpur-quantity-selector--no-gap":"_purpur-quantity-selector--no-gap_1hglo_34","purpur-quantity-selector--no-gap-disabled-left":"_purpur-quantity-selector--no-gap-disabled-left_1hglo_39","purpur-quantity-selector--no-gap-disabled-right":"_purpur-quantity-selector--no-gap-disabled-right_1hglo_43","purpur-quantity-selector--no-gap-disabled":"_purpur-quantity-selector--no-gap-disabled_1hglo_39","purpur-quantity-selector__spinner":"_purpur-quantity-selector__spinner_1hglo_50","purpur-quantity-selector__spinner--full-width":"_purpur-quantity-selector__spinner--full-width_1hglo_57","purpur-quantity-selector__spinner--separated":"_purpur-quantity-selector__spinner--separated_1hglo_61"},Y={name:"plus",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z" clip-rule="evenodd"/></svg>',keywords:["plus"],category:"utility"},C=a=>n.jsx(K.b,{...a,svg:Y});C.displayName="IconPlus";const G={"purpur-quantity-selector-button":"_purpur-quantity-selector-button_qjlbs_1","purpur-quantity-selector-button--gap-left":"_purpur-quantity-selector-button--gap-left_qjlbs_4","purpur-quantity-selector-button--gap-right":"_purpur-quantity-selector-button--gap-right_qjlbs_7","purpur-quantity-selector-button--no-gap-right":"_purpur-quantity-selector-button--no-gap-right_qjlbs_10","purpur-quantity-selector-button--no-gap-left":"_purpur-quantity-selector-button--no-gap-left_qjlbs_13"},W=B.c.bind(G),b="purpur-quantity-selector-button",T=({["data-testid"]:a,["aria-label"]:f,disabled:s,hasGap:o,variant:p,buttonType:e,onClick:x})=>{const d=W(b,{[`${b}--gap-left`]:o&&e==="decrement",[`${b}--gap-right`]:o&&e==="increment",[`${b}--no-gap-left`]:!o&&e==="decrement",[`${b}--no-gap-right`]:!o&&e==="increment"});return n.jsx(Z.Button,{"data-testid":a,className:d,size:"sm",type:"submit",variant:p,onClick:()=>x(e),iconOnly:!0,"aria-label":f??"",disabled:s,tabIndex:-1,children:e==="increment"?n.jsx(C,{size:"xs"}):n.jsx(J.e,{size:"xs"})})},V=B.c.bind(L),tt=["attached","separated"],et=["primary","secondary"],r="purpur-quantity-selector",D=q.forwardRef(({["data-testid"]:a,className:f,variant:s,buttonVariant:o,onChange:p,value:e,defaultValue:x,fullWidth:d,disabled:F,loading:$,minValue:R,maxValue:E,ariaLabelDecrement:k,ariaLabelIncrement:z,...H},Q)=>{const[M,w]=q.useState(x??0),[v,j]=q.useState(M),u=e!==void 0,l=u?e:v,S=t=>a?`${a}-${t}`:void 0,i=F||$,y=Math.max(R??0,0),m=E??Number.MAX_SAFE_INTEGER,_=l===m,g=l===y;q.useEffect(()=>{u&&w(e)},[e,u]),q.useEffect(()=>{if(!u){const t=setTimeout(()=>{w(v)},300);return()=>clearTimeout(t)}},[v,u,p]);const O=V(f,r,{[`${r}--no-gap`]:s==="attached"&&!i&&!g&&!_,[`${r}--no-gap-disabled-left`]:s==="attached"&&!i&&!_&&g,[`${r}--no-gap-disabled-right`]:s==="attached"&&!i&&!g&&_,[`${r}--no-gap-disabled`]:s==="attached"&&(i||_&&g),[`${r}--full-width`]:d,[`${r}--loading`]:$}),A=t=>{if(!/^[0-9]*$/.test(t.target.value))return;const h=+t.target.value;h<y||h>m||(u||j(h),p(h))},I=t=>{const c=t==="increment"?l+1:l-1;c<0||(u||j(c),p(c))},N=t=>{const c=t==="increment"&&_||t==="decrement"&&g;return n.jsx(T,{"data-testid":S("button-"+t),variant:o,buttonType:t,hasGap:s==="separated",onClick:I,disabled:i||c,"aria-label":t==="increment"?z:k})},P=n.jsxs(n.Fragment,{children:[$&&n.jsx("div",{className:V(`${r}__spinner`,{[`${r}__spinner--full-width`]:d,[`${r}__spinner--separated`]:!d&&s==="separated"}),children:n.jsx(U.Spinner,{disabled:i,size:"xs","data-testid":S("spinner")},"spinner")}),N("decrement")]});return n.jsx(X.TextField,{value:l,type:"number",ref:Q,className:O,"data-testid":a,onChange:A,beforeField:P,afterField:N("increment"),disabled:i,min:y,max:m,role:"spinbutton","aria-valuenow":l,"aria-valuemax":m,"aria-valuemin":y,...H})});D.displayName="QuantitySelector";exports.QuantitySelector=D;exports.quantitySelectorButtonVariants=et;exports.quantitySelectorVariants=tt;
2
- //# sourceMappingURL=quantity-selector-CTBoxiPO.js.map
1
+ "use strict";const n=require("react/jsx-runtime"),q=require("react"),U=require("./spinner-tKunS_o-.js"),X=require("./text-field-CthxpKsp.js"),B=require("./bind-DeUYJ6m9.js"),Z=require("./button-DmybVApa.js"),J=require("./minus.es-DtXArdKK.js"),K=require("./icon-DNHpBTHs-faYHqTXU.js"),L={"purpur-quantity-selector":"_purpur-quantity-selector_1hglo_1","purpur-quantity-selector--full-width":"_purpur-quantity-selector--full-width_1hglo_25","purpur-quantity-selector--loading":"_purpur-quantity-selector--loading_1hglo_31","purpur-quantity-selector--no-gap":"_purpur-quantity-selector--no-gap_1hglo_34","purpur-quantity-selector--no-gap-disabled-left":"_purpur-quantity-selector--no-gap-disabled-left_1hglo_39","purpur-quantity-selector--no-gap-disabled-right":"_purpur-quantity-selector--no-gap-disabled-right_1hglo_43","purpur-quantity-selector--no-gap-disabled":"_purpur-quantity-selector--no-gap-disabled_1hglo_39","purpur-quantity-selector__spinner":"_purpur-quantity-selector__spinner_1hglo_50","purpur-quantity-selector__spinner--full-width":"_purpur-quantity-selector__spinner--full-width_1hglo_57","purpur-quantity-selector__spinner--separated":"_purpur-quantity-selector__spinner--separated_1hglo_61"},Y={name:"plus",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z" clip-rule="evenodd"/></svg>',keywords:["plus"],category:"utility"},C=a=>n.jsx(K.b,{...a,svg:Y});C.displayName="IconPlus";const G={"purpur-quantity-selector-button":"_purpur-quantity-selector-button_qjlbs_1","purpur-quantity-selector-button--gap-left":"_purpur-quantity-selector-button--gap-left_qjlbs_4","purpur-quantity-selector-button--gap-right":"_purpur-quantity-selector-button--gap-right_qjlbs_7","purpur-quantity-selector-button--no-gap-right":"_purpur-quantity-selector-button--no-gap-right_qjlbs_10","purpur-quantity-selector-button--no-gap-left":"_purpur-quantity-selector-button--no-gap-left_qjlbs_13"},W=B.c.bind(G),b="purpur-quantity-selector-button",T=({["data-testid"]:a,["aria-label"]:f,disabled:s,hasGap:o,variant:p,buttonType:e,onClick:x})=>{const d=W(b,{[`${b}--gap-left`]:o&&e==="decrement",[`${b}--gap-right`]:o&&e==="increment",[`${b}--no-gap-left`]:!o&&e==="decrement",[`${b}--no-gap-right`]:!o&&e==="increment"});return n.jsx(Z.Button,{"data-testid":a,className:d,size:"sm",type:"submit",variant:p,onClick:()=>x(e),iconOnly:!0,"aria-label":f??"",disabled:s,tabIndex:-1,children:e==="increment"?n.jsx(C,{size:"xs"}):n.jsx(J.e,{size:"xs"})})},V=B.c.bind(L),tt=["attached","separated"],et=["primary","secondary"],r="purpur-quantity-selector",D=q.forwardRef(({["data-testid"]:a,className:f,variant:s,buttonVariant:o,onChange:p,value:e,defaultValue:x,fullWidth:d,disabled:F,loading:$,minValue:R,maxValue:E,ariaLabelDecrement:k,ariaLabelIncrement:z,...H},Q)=>{const[M,w]=q.useState(x??0),[v,j]=q.useState(M),u=e!==void 0,l=u?e:v,S=t=>a?`${a}-${t}`:void 0,i=F||$,y=Math.max(R??0,0),m=E??Number.MAX_SAFE_INTEGER,_=l===m,g=l===y;q.useEffect(()=>{u&&w(e)},[e,u]),q.useEffect(()=>{if(!u){const t=setTimeout(()=>{w(v)},300);return()=>clearTimeout(t)}},[v,u,p]);const O=V(f,r,{[`${r}--no-gap`]:s==="attached"&&!i&&!g&&!_,[`${r}--no-gap-disabled-left`]:s==="attached"&&!i&&!_&&g,[`${r}--no-gap-disabled-right`]:s==="attached"&&!i&&!g&&_,[`${r}--no-gap-disabled`]:s==="attached"&&(i||_&&g),[`${r}--full-width`]:d,[`${r}--loading`]:$}),A=t=>{if(!/^[0-9]*$/.test(t.target.value))return;const h=+t.target.value;h<y||h>m||(u||j(h),p(h))},I=t=>{const c=t==="increment"?l+1:l-1;c<0||(u||j(c),p(c))},N=t=>{const c=t==="increment"&&_||t==="decrement"&&g;return n.jsx(T,{"data-testid":S("button-"+t),variant:o,buttonType:t,hasGap:s==="separated",onClick:I,disabled:i||c,"aria-label":t==="increment"?z:k})},P=n.jsxs(n.Fragment,{children:[$&&n.jsx("div",{className:V(`${r}__spinner`,{[`${r}__spinner--full-width`]:d,[`${r}__spinner--separated`]:!d&&s==="separated"}),children:n.jsx(U.Spinner,{disabled:i,size:"xs","data-testid":S("spinner")},"spinner")}),N("decrement")]});return n.jsx(X.TextField,{value:l,type:"number",ref:Q,className:O,"data-testid":a,onChange:A,beforeField:P,afterField:N("increment"),disabled:i,min:y,max:m,role:"spinbutton","aria-valuenow":l,"aria-valuemax":m,"aria-valuemin":y,...H})});D.displayName="QuantitySelector";exports.QuantitySelector=D;exports.quantitySelectorButtonVariants=et;exports.quantitySelectorVariants=tt;
2
+ //# sourceMappingURL=quantity-selector-CwxuBsVC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quantity-selector-CTBoxiPO.js","sources":["../../../components/icon/dist/components/plus.es.js","../../../components/quantity-selector/src/quantity-selector-button.tsx","../../../components/quantity-selector/src/quantity-selector.tsx"],"sourcesContent":["import { jsx as s } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"plus\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"plus\"],\n category: \"utility\"\n}, r = (o) => /* @__PURE__ */ s(l, { ...o, svg: e });\nr.displayName = \"IconPlus\";\nexport {\n r as IconPlus\n};\n//# sourceMappingURL=plus.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport { IconPlus } from \"@purpur/icon/plus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector-button.module.scss\";\n\ntype variant = \"primary\" | \"secondary\";\ntype buttonType = \"increment\" | \"decrement\";\n\ntype QuantitySelectorButtonProps = {\n [\"data-testid\"]?: string;\n [\"aria-label\"]?: string;\n disabled?: boolean;\n hasGap: boolean;\n variant: variant;\n buttonType: buttonType;\n onClick: (buttonType: buttonType) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-quantity-selector-button\";\n\nexport const QuantitySelectorButton = ({\n [\"data-testid\"]: dataTestid,\n [\"aria-label\"]: ariaLabel,\n disabled,\n hasGap,\n variant,\n buttonType,\n onClick,\n}: QuantitySelectorButtonProps) => {\n const classes = cx(rootClassName, {\n [`${rootClassName}--gap-left`]: hasGap && buttonType === \"decrement\",\n [`${rootClassName}--gap-right`]: hasGap && buttonType === \"increment\",\n [`${rootClassName}--no-gap-left`]: !hasGap && buttonType === \"decrement\",\n [`${rootClassName}--no-gap-right`]: !hasGap && buttonType === \"increment\",\n });\n\n return (\n <Button\n data-testid={dataTestid}\n className={classes}\n size=\"sm\"\n type=\"submit\"\n variant={variant}\n onClick={() => onClick(buttonType)}\n iconOnly={true}\n aria-label={ariaLabel ?? \"\"}\n disabled={disabled}\n tabIndex={-1}\n >\n {buttonType === \"increment\" ? <IconPlus size=\"xs\" /> : <IconMinus size=\"xs\" />}\n </Button>\n );\n};\n","import React, { type ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { TextField } from \"@purpur/text-field\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector.module.scss\";\nimport { QuantitySelectorButton } from \"./quantity-selector-button\";\n\nconst cx = c.bind(styles);\n\nexport const quantitySelectorVariants = [\"attached\", \"separated\"] as const;\nexport const quantitySelectorButtonVariants = [\"primary\", \"secondary\"] as const;\n\ntype Variant = (typeof quantitySelectorVariants)[number];\ntype ButtonVariant = (typeof quantitySelectorButtonVariants)[number];\n\nexport type QuantitySelectorProps = Omit<BaseProps<\"input\">, \"onChange\" | \"type\"> & {\n variant: Variant;\n buttonVariant: ButtonVariant;\n onChange: (value: number) => void;\n defaultValue?: number;\n ariaLabelIncrement?: string;\n ariaLabelDecrement?: string;\n /**\n * Used when the component is controlled\n */\n value?: number;\n minValue?: number;\n maxValue?: number;\n label?: string;\n errorText?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n loading?: boolean;\n};\n\nconst rootClassName = \"purpur-quantity-selector\";\n\nexport const QuantitySelector = forwardRef<HTMLInputElement, QuantitySelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n variant,\n buttonVariant,\n onChange,\n value: controlledValue,\n defaultValue,\n fullWidth,\n disabled,\n loading,\n minValue,\n maxValue,\n ariaLabelDecrement,\n ariaLabelIncrement,\n ...props\n },\n ref\n ) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? 0);\n const [debouncedValue, setDebouncedValue] = useState(uncontrolledValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : debouncedValue;\n\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const isDisabled = disabled || loading;\n const min = Math.max(minValue ?? 0, 0);\n const max = maxValue ?? Number.MAX_SAFE_INTEGER;\n const incrementDisabled = value === max;\n const decrementDisabled = value === min;\n\n useEffect(() => {\n if (isControlled) {\n setUncontrolledValue(controlledValue);\n }\n }, [controlledValue, isControlled]);\n\n useEffect(() => {\n if (!isControlled) {\n const timer = setTimeout(() => {\n setUncontrolledValue(debouncedValue);\n }, 300);\n\n return () => clearTimeout(timer);\n }\n return;\n }, [debouncedValue, isControlled, onChange]);\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--no-gap`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && !incrementDisabled,\n [`${rootClassName}--no-gap-disabled-left`]:\n variant === \"attached\" && !isDisabled && !incrementDisabled && decrementDisabled,\n [`${rootClassName}--no-gap-disabled-right`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && incrementDisabled,\n [`${rootClassName}--no-gap-disabled`]:\n variant === \"attached\" && (isDisabled || (incrementDisabled && decrementDisabled)),\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--loading`]: loading,\n });\n\n const handleOnChange = (e: ChangeEvent<HTMLInputElement>) => {\n const numericRegex = /^[0-9]*$/;\n if (!numericRegex.test(e.target.value)) {\n return;\n }\n const val = +e.target.value;\n if (val < min || val > max) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(val);\n }\n onChange(val);\n };\n\n const handleOnClick = (adjustmentType: \"increment\" | \"decrement\") => {\n const adjustedValue = adjustmentType === \"increment\" ? value + 1 : value - 1;\n if (adjustedValue < 0) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(adjustedValue);\n }\n onChange(adjustedValue);\n };\n\n const adjustmentButton = (adjustmentType: \"increment\" | \"decrement\") => {\n const buttonDisabled =\n (adjustmentType === \"increment\" && incrementDisabled) ||\n (adjustmentType === \"decrement\" && decrementDisabled);\n\n return (\n <QuantitySelectorButton\n data-testid={getTestId(\"button-\" + adjustmentType)}\n variant={buttonVariant}\n buttonType={adjustmentType}\n hasGap={variant === \"separated\"}\n onClick={handleOnClick}\n disabled={isDisabled || buttonDisabled}\n aria-label={adjustmentType === \"increment\" ? ariaLabelIncrement : ariaLabelDecrement}\n />\n );\n };\n\n const beforeField = (\n <>\n {loading && (\n <div\n className={cx(`${rootClassName}__spinner`, {\n [`${rootClassName}__spinner--full-width`]: fullWidth,\n [`${rootClassName}__spinner--separated`]: !fullWidth && variant === \"separated\",\n })}\n >\n <Spinner\n key=\"spinner\"\n disabled={isDisabled}\n size=\"xs\"\n data-testid={getTestId(\"spinner\")}\n />\n </div>\n )}\n {adjustmentButton(\"decrement\")}\n </>\n );\n\n return (\n <TextField\n value={value}\n type=\"number\"\n ref={ref}\n className={classes}\n data-testid={dataTestId}\n onChange={handleOnChange}\n beforeField={beforeField}\n afterField={adjustmentButton(\"increment\")}\n disabled={isDisabled}\n min={min}\n max={max}\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n {...props}\n />\n );\n }\n);\n\nQuantitySelector.displayName = \"QuantitySelector\";\n"],"names":["e","r","o","s","l","cx","c","styles","rootClassName","QuantitySelectorButton","dataTestid","ariaLabel","disabled","hasGap","variant","buttonType","onClick","classes","jsx","Button","IconPlus","IconMinus","quantitySelectorVariants","quantitySelectorButtonVariants","QuantitySelector","forwardRef","dataTestId","className","buttonVariant","onChange","controlledValue","defaultValue","fullWidth","loading","minValue","maxValue","ariaLabelDecrement","ariaLabelIncrement","props","ref","uncontrolledValue","setUncontrolledValue","useState","debouncedValue","setDebouncedValue","isControlled","value","getTestId","name","isDisabled","min","max","incrementDisabled","decrementDisabled","useEffect","timer","handleOnChange","val","handleOnClick","adjustmentType","adjustedValue","adjustmentButton","buttonDisabled","beforeField","jsxs","Fragment","Spinner","TextField"],"mappings":"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"}
1
+ {"version":3,"file":"quantity-selector-CwxuBsVC.js","sources":["../../../components/icon/dist/components/plus.es.js","../../../components/quantity-selector/src/quantity-selector-button.tsx","../../../components/quantity-selector/src/quantity-selector.tsx"],"sourcesContent":["import { jsx as s } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"plus\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 4.1a.9.9 0 0 1 .9.9v6.1H19a.9.9 0 1 1 0 1.8h-6.1V19a.9.9 0 0 1-1.8 0v-6.1H5a.9.9 0 0 1 0-1.8h6.1V5a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"plus\"],\n category: \"utility\"\n}, r = (o) => /* @__PURE__ */ s(l, { ...o, svg: e });\nr.displayName = \"IconPlus\";\nexport {\n r as IconPlus\n};\n//# sourceMappingURL=plus.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport { IconPlus } from \"@purpur/icon/plus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector-button.module.scss\";\n\ntype variant = \"primary\" | \"secondary\";\ntype buttonType = \"increment\" | \"decrement\";\n\ntype QuantitySelectorButtonProps = {\n [\"data-testid\"]?: string;\n [\"aria-label\"]?: string;\n disabled?: boolean;\n hasGap: boolean;\n variant: variant;\n buttonType: buttonType;\n onClick: (buttonType: buttonType) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-quantity-selector-button\";\n\nexport const QuantitySelectorButton = ({\n [\"data-testid\"]: dataTestid,\n [\"aria-label\"]: ariaLabel,\n disabled,\n hasGap,\n variant,\n buttonType,\n onClick,\n}: QuantitySelectorButtonProps) => {\n const classes = cx(rootClassName, {\n [`${rootClassName}--gap-left`]: hasGap && buttonType === \"decrement\",\n [`${rootClassName}--gap-right`]: hasGap && buttonType === \"increment\",\n [`${rootClassName}--no-gap-left`]: !hasGap && buttonType === \"decrement\",\n [`${rootClassName}--no-gap-right`]: !hasGap && buttonType === \"increment\",\n });\n\n return (\n <Button\n data-testid={dataTestid}\n className={classes}\n size=\"sm\"\n type=\"submit\"\n variant={variant}\n onClick={() => onClick(buttonType)}\n iconOnly={true}\n aria-label={ariaLabel ?? \"\"}\n disabled={disabled}\n tabIndex={-1}\n >\n {buttonType === \"increment\" ? <IconPlus size=\"xs\" /> : <IconMinus size=\"xs\" />}\n </Button>\n );\n};\n","import React, { type ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { TextField } from \"@purpur/text-field\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./quantity-selector.module.scss\";\nimport { QuantitySelectorButton } from \"./quantity-selector-button\";\n\nconst cx = c.bind(styles);\n\nexport const quantitySelectorVariants = [\"attached\", \"separated\"] as const;\nexport const quantitySelectorButtonVariants = [\"primary\", \"secondary\"] as const;\n\ntype Variant = (typeof quantitySelectorVariants)[number];\ntype ButtonVariant = (typeof quantitySelectorButtonVariants)[number];\n\nexport type QuantitySelectorProps = Omit<BaseProps<\"input\">, \"onChange\" | \"type\"> & {\n variant: Variant;\n buttonVariant: ButtonVariant;\n onChange: (value: number) => void;\n defaultValue?: number;\n ariaLabelIncrement?: string;\n ariaLabelDecrement?: string;\n /**\n * Used when the component is controlled\n */\n value?: number;\n minValue?: number;\n maxValue?: number;\n label?: string;\n errorText?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n loading?: boolean;\n};\n\nconst rootClassName = \"purpur-quantity-selector\";\n\nexport const QuantitySelector = forwardRef<HTMLInputElement, QuantitySelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n variant,\n buttonVariant,\n onChange,\n value: controlledValue,\n defaultValue,\n fullWidth,\n disabled,\n loading,\n minValue,\n maxValue,\n ariaLabelDecrement,\n ariaLabelIncrement,\n ...props\n },\n ref\n ) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? 0);\n const [debouncedValue, setDebouncedValue] = useState(uncontrolledValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : debouncedValue;\n\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const isDisabled = disabled || loading;\n const min = Math.max(minValue ?? 0, 0);\n const max = maxValue ?? Number.MAX_SAFE_INTEGER;\n const incrementDisabled = value === max;\n const decrementDisabled = value === min;\n\n useEffect(() => {\n if (isControlled) {\n setUncontrolledValue(controlledValue);\n }\n }, [controlledValue, isControlled]);\n\n useEffect(() => {\n if (!isControlled) {\n const timer = setTimeout(() => {\n setUncontrolledValue(debouncedValue);\n }, 300);\n\n return () => clearTimeout(timer);\n }\n return;\n }, [debouncedValue, isControlled, onChange]);\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--no-gap`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && !incrementDisabled,\n [`${rootClassName}--no-gap-disabled-left`]:\n variant === \"attached\" && !isDisabled && !incrementDisabled && decrementDisabled,\n [`${rootClassName}--no-gap-disabled-right`]:\n variant === \"attached\" && !isDisabled && !decrementDisabled && incrementDisabled,\n [`${rootClassName}--no-gap-disabled`]:\n variant === \"attached\" && (isDisabled || (incrementDisabled && decrementDisabled)),\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--loading`]: loading,\n });\n\n const handleOnChange = (e: ChangeEvent<HTMLInputElement>) => {\n const numericRegex = /^[0-9]*$/;\n if (!numericRegex.test(e.target.value)) {\n return;\n }\n const val = +e.target.value;\n if (val < min || val > max) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(val);\n }\n onChange(val);\n };\n\n const handleOnClick = (adjustmentType: \"increment\" | \"decrement\") => {\n const adjustedValue = adjustmentType === \"increment\" ? value + 1 : value - 1;\n if (adjustedValue < 0) {\n return;\n }\n\n if (!isControlled) {\n setDebouncedValue(adjustedValue);\n }\n onChange(adjustedValue);\n };\n\n const adjustmentButton = (adjustmentType: \"increment\" | \"decrement\") => {\n const buttonDisabled =\n (adjustmentType === \"increment\" && incrementDisabled) ||\n (adjustmentType === \"decrement\" && decrementDisabled);\n\n return (\n <QuantitySelectorButton\n data-testid={getTestId(\"button-\" + adjustmentType)}\n variant={buttonVariant}\n buttonType={adjustmentType}\n hasGap={variant === \"separated\"}\n onClick={handleOnClick}\n disabled={isDisabled || buttonDisabled}\n aria-label={adjustmentType === \"increment\" ? ariaLabelIncrement : ariaLabelDecrement}\n />\n );\n };\n\n const beforeField = (\n <>\n {loading && (\n <div\n className={cx(`${rootClassName}__spinner`, {\n [`${rootClassName}__spinner--full-width`]: fullWidth,\n [`${rootClassName}__spinner--separated`]: !fullWidth && variant === \"separated\",\n })}\n >\n <Spinner\n key=\"spinner\"\n disabled={isDisabled}\n size=\"xs\"\n data-testid={getTestId(\"spinner\")}\n />\n </div>\n )}\n {adjustmentButton(\"decrement\")}\n </>\n );\n\n return (\n <TextField\n value={value}\n type=\"number\"\n ref={ref}\n className={classes}\n data-testid={dataTestId}\n onChange={handleOnChange}\n beforeField={beforeField}\n afterField={adjustmentButton(\"increment\")}\n disabled={isDisabled}\n min={min}\n max={max}\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemax={max}\n aria-valuemin={min}\n {...props}\n />\n );\n }\n);\n\nQuantitySelector.displayName = \"QuantitySelector\";\n"],"names":["e","r","o","s","l","cx","c","styles","rootClassName","QuantitySelectorButton","dataTestid","ariaLabel","disabled","hasGap","variant","buttonType","onClick","classes","jsx","Button","IconPlus","IconMinus","quantitySelectorVariants","quantitySelectorButtonVariants","QuantitySelector","forwardRef","dataTestId","className","buttonVariant","onChange","controlledValue","defaultValue","fullWidth","loading","minValue","maxValue","ariaLabelDecrement","ariaLabelIncrement","props","ref","uncontrolledValue","setUncontrolledValue","useState","debouncedValue","setDebouncedValue","isControlled","value","getTestId","name","isDisabled","min","max","incrementDisabled","decrementDisabled","useEffect","timer","handleOnChange","val","handleOnClick","adjustmentType","adjustedValue","adjustmentButton","buttonDisabled","beforeField","jsxs","Fragment","Spinner","TextField"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./quantity-selector-CTBoxiPO.js");exports.QuantitySelector=t.QuantitySelector;exports.quantitySelectorButtonVariants=t.quantitySelectorButtonVariants;exports.quantitySelectorVariants=t.quantitySelectorVariants;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./quantity-selector-CwxuBsVC.js");exports.QuantitySelector=t.QuantitySelector;exports.quantitySelectorButtonVariants=t.quantitySelectorButtonVariants;exports.quantitySelectorVariants=t.quantitySelectorVariants;
2
2
  //# sourceMappingURL=quantity-selector.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { Q as e, q as r, a as n } from "./quantity-selector-B4YnfmNb.mjs";
1
+ import { Q as e, q as r, a as n } from "./quantity-selector-COtqc-Iy.mjs";
2
2
  export {
3
3
  e as QuantitySelector,
4
4
  r as quantitySelectorButtonVariants,
@@ -1,2 +1,2 @@
1
- "use strict";const a=require("react/jsx-runtime"),s=require("react"),f=require("./heading-drD5ugCC.js"),N=require("./index-BbtRr5Q6.js"),v=require("./bind-DeUYJ6m9.js"),C=require("./paragraph-By4jMjnH.js"),q=require("./skeleton-BU0KtWIM.js"),I={"purpur-radio-card-group":"_purpur-radio-card-group_19np7_1","purpur-radio-card-group--vertical":"_purpur-radio-card-group--vertical_19np7_5","purpur-radio-card-group--horizontal":"_purpur-radio-card-group--horizontal_19np7_9","purpur-radio-card-group--radio-left":"_purpur-radio-card-group--radio-left_19np7_18","purpur-radio-card-group__item":"_purpur-radio-card-group__item_19np7_18","purpur-radio-card-group__item-bottom-container":"_purpur-radio-card-group__item-bottom-container_19np7_21","purpur-radio-card-group__item-top-container":"_purpur-radio-card-group__item-top-container_19np7_24","purpur-radio-card-group__container":"_purpur-radio-card-group__container_19np7_35","purpur-radio-card-group__item-container":"_purpur-radio-card-group__item-container_19np7_42","purpur-radio-card-group__item-radio":"_purpur-radio-card-group__item-radio_19np7_78","purpur-radio-card-group__item-content":"_purpur-radio-card-group__item-content_19np7_107","purpur-radio-card-group__item-title":"_purpur-radio-card-group__item-title_19np7_120","purpur-radio-card-group__item-indicator":"_purpur-radio-card-group__item-indicator_19np7_140","purpur-radio-card-group__item-image-container":"_purpur-radio-card-group__item-image-container_19np7_150","purpur-radio-card-group__item-image":"_purpur-radio-card-group__item-image_19np7_150","purpur-radio-card-group__item-image--loaded":"_purpur-radio-card-group__item-image--loaded_19np7_163","purpur-radio-card-group__item-image-placeholder":"_purpur-radio-card-group__item-image-placeholder_19np7_166","purpur-radio-card-group__item-image-placeholder--loaded":"_purpur-radio-card-group__item-image-placeholder--loaded_19np7_171","purpur-radio-card-group__item-children":"_purpur-radio-card-group__item-children_19np7_174"},d=v.c.bind(I),h="purpur-radio-card-group__item-image",z=r=>!!r?.src&&!!r.altText,E=({src:r,altText:p,noPlaceholder:l,loading:e="lazy",["data-testid"]:o})=>{const[u,c]=s.useState(!1),m=()=>c(!0),n=d(h,{[`${h}--loaded`]:u}),g=d(`${h}-placeholder`,{[`${h}-placeholder--loaded`]:u});return a.jsxs(a.Fragment,{children:[a.jsx("img",{"data-testid":o,className:n,src:r,alt:p,loading:e,onLoad:m}),!l&&a.jsx(q.Skeleton,{className:g})]})},t="purpur-radio-card-group__item",j=(r,{disabled:p})=>typeof r=="function"?r({disabled:p}):r,x=s.forwardRef(({title:r,...p},l)=>{const{["data-testid"]:e,body:o,children:u,disabled:c,id:m,image:n,value:g}=p,i={...p};return a.jsxs("div",{className:d(`${t}-container`),ref:l,children:[a.jsxs(N.Item2,{className:d(t),"data-testid":e,disabled:c,id:m,value:g,children:[n&&a.jsx("span",{className:d(`${t}-image-container`),children:z(n)?a.jsx(E,{...n,"data-testid":e&&`${e}-image`}):j(n,i)}),a.jsxs("span",{className:d(`${t}-content`),children:[a.jsxs("span",{className:d(`${t}-top-container`),children:[typeof r=="string"?a.jsx(C.Paragraph,{className:d(`${t}-title`),"data-testid":e&&`${e}-title`,variant:"paragraph-100",disabled:c,children:r}):j(r,i),a.jsx("span",{className:d(`${t}-radio`),children:a.jsx(N.Indicator,{className:d(`${t}-indicator`)})})]}),o&&a.jsx("span",{className:d(`${t}-bottom-container`),children:typeof o=="string"?a.jsx(C.Paragraph,{"data-testid":e&&`${e}-body`,variant:"paragraph-100",disabled:c,children:o}):j(o,i)})]})]}),u]})});x.displayName="RadioCardItem";const G=r=>s.isValidElement(r)&&r.type===x,$="purpur-radio-card-group",R=s.forwardRef(({"data-testid":r,"aria-labelledby":p,children:l,className:e,items:o,heading:u,headingTag:c="h2",loop:m=!0,orientation:n="vertical",radioPosition:g="right",...i},y)=>{const b=s.Children.toArray(l).filter(G);return a.jsxs("div",{className:d(e,`${$}__container`),ref:y,children:[u&&a.jsxs(f.Heading,{"data-testid":r?`${r}-heading`:void 0,id:`${i.id}-heading`,tag:c,variant:"subsection-100",children:[i.required&&a.jsx("span",{"aria-hidden":!0,children:"* "}),u]}),(!!o?.length||b.length)&&a.jsxs(N.Root2,{...i,"aria-labelledby":p||(u?`${i.id}-heading`:void 0),className:d($,`${$}--${n}`,`${$}--radio-${g}`),"data-testid":r,loop:m,children:[o?.map(_=>a.jsx(x,{..._,disabled:_.disabled||i.disabled,"data-testid":r?`${r}-item`:void 0},_.id)),s.Children.map(b,_=>s.cloneElement(_,{disabled:_.props.disabled||i.disabled}))]})]})});R.displayName="RadioCardGroup";exports.RadioCardGroup=R;exports.RadioCardItem=x;
2
- //# sourceMappingURL=radio-card-group-nrDi5EPK.js.map
1
+ "use strict";const a=require("react/jsx-runtime"),s=require("react"),f=require("./heading-drD5ugCC.js"),N=require("./index-BbtRr5Q6.js"),v=require("./bind-DeUYJ6m9.js"),C=require("./paragraph-B8HFdNne.js"),q=require("./skeleton-BU0KtWIM.js"),I={"purpur-radio-card-group":"_purpur-radio-card-group_19np7_1","purpur-radio-card-group--vertical":"_purpur-radio-card-group--vertical_19np7_5","purpur-radio-card-group--horizontal":"_purpur-radio-card-group--horizontal_19np7_9","purpur-radio-card-group--radio-left":"_purpur-radio-card-group--radio-left_19np7_18","purpur-radio-card-group__item":"_purpur-radio-card-group__item_19np7_18","purpur-radio-card-group__item-bottom-container":"_purpur-radio-card-group__item-bottom-container_19np7_21","purpur-radio-card-group__item-top-container":"_purpur-radio-card-group__item-top-container_19np7_24","purpur-radio-card-group__container":"_purpur-radio-card-group__container_19np7_35","purpur-radio-card-group__item-container":"_purpur-radio-card-group__item-container_19np7_42","purpur-radio-card-group__item-radio":"_purpur-radio-card-group__item-radio_19np7_78","purpur-radio-card-group__item-content":"_purpur-radio-card-group__item-content_19np7_107","purpur-radio-card-group__item-title":"_purpur-radio-card-group__item-title_19np7_120","purpur-radio-card-group__item-indicator":"_purpur-radio-card-group__item-indicator_19np7_140","purpur-radio-card-group__item-image-container":"_purpur-radio-card-group__item-image-container_19np7_150","purpur-radio-card-group__item-image":"_purpur-radio-card-group__item-image_19np7_150","purpur-radio-card-group__item-image--loaded":"_purpur-radio-card-group__item-image--loaded_19np7_163","purpur-radio-card-group__item-image-placeholder":"_purpur-radio-card-group__item-image-placeholder_19np7_166","purpur-radio-card-group__item-image-placeholder--loaded":"_purpur-radio-card-group__item-image-placeholder--loaded_19np7_171","purpur-radio-card-group__item-children":"_purpur-radio-card-group__item-children_19np7_174"},d=v.c.bind(I),h="purpur-radio-card-group__item-image",z=r=>!!r?.src&&!!r.altText,E=({src:r,altText:p,noPlaceholder:l,loading:e="lazy",["data-testid"]:o})=>{const[u,c]=s.useState(!1),m=()=>c(!0),n=d(h,{[`${h}--loaded`]:u}),g=d(`${h}-placeholder`,{[`${h}-placeholder--loaded`]:u});return a.jsxs(a.Fragment,{children:[a.jsx("img",{"data-testid":o,className:n,src:r,alt:p,loading:e,onLoad:m}),!l&&a.jsx(q.Skeleton,{className:g})]})},t="purpur-radio-card-group__item",j=(r,{disabled:p})=>typeof r=="function"?r({disabled:p}):r,x=s.forwardRef(({title:r,...p},l)=>{const{["data-testid"]:e,body:o,children:u,disabled:c,id:m,image:n,value:g}=p,i={...p};return a.jsxs("div",{className:d(`${t}-container`),ref:l,children:[a.jsxs(N.Item2,{className:d(t),"data-testid":e,disabled:c,id:m,value:g,children:[n&&a.jsx("span",{className:d(`${t}-image-container`),children:z(n)?a.jsx(E,{...n,"data-testid":e&&`${e}-image`}):j(n,i)}),a.jsxs("span",{className:d(`${t}-content`),children:[a.jsxs("span",{className:d(`${t}-top-container`),children:[typeof r=="string"?a.jsx(C.Paragraph,{className:d(`${t}-title`),"data-testid":e&&`${e}-title`,variant:"paragraph-100",disabled:c,children:r}):j(r,i),a.jsx("span",{className:d(`${t}-radio`),children:a.jsx(N.Indicator,{className:d(`${t}-indicator`)})})]}),o&&a.jsx("span",{className:d(`${t}-bottom-container`),children:typeof o=="string"?a.jsx(C.Paragraph,{"data-testid":e&&`${e}-body`,variant:"paragraph-100",disabled:c,children:o}):j(o,i)})]})]}),u]})});x.displayName="RadioCardItem";const G=r=>s.isValidElement(r)&&r.type===x,$="purpur-radio-card-group",R=s.forwardRef(({"data-testid":r,"aria-labelledby":p,children:l,className:e,items:o,heading:u,headingTag:c="h2",loop:m=!0,orientation:n="vertical",radioPosition:g="right",...i},y)=>{const b=s.Children.toArray(l).filter(G);return a.jsxs("div",{className:d(e,`${$}__container`),ref:y,children:[u&&a.jsxs(f.Heading,{"data-testid":r?`${r}-heading`:void 0,id:`${i.id}-heading`,tag:c,variant:"subsection-100",children:[i.required&&a.jsx("span",{"aria-hidden":!0,children:"* "}),u]}),(!!o?.length||b.length)&&a.jsxs(N.Root2,{...i,"aria-labelledby":p||(u?`${i.id}-heading`:void 0),className:d($,`${$}--${n}`,`${$}--radio-${g}`),"data-testid":r,loop:m,children:[o?.map(_=>a.jsx(x,{..._,disabled:_.disabled||i.disabled,"data-testid":r?`${r}-item`:void 0},_.id)),s.Children.map(b,_=>s.cloneElement(_,{disabled:_.props.disabled||i.disabled}))]})]})});R.displayName="RadioCardGroup";exports.RadioCardGroup=R;exports.RadioCardItem=x;
2
+ //# sourceMappingURL=radio-card-group-BXwkIIEw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-card-group-nrDi5EPK.js","sources":["../../../components/radio-card-group/src/classnames.ts","../../../components/radio-card-group/src/radio-card-item-image.tsx","../../../components/radio-card-group/src/radio-card-item.tsx","../../../components/radio-card-group/src/is-radio-card-item.ts","../../../components/radio-card-group/src/radio-card-group.tsx"],"sourcesContent":["import c from \"classnames/bind\";\n\nimport styles from \"./radio-card-group.module.scss\";\nexport const cx = c.bind(styles);\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { Skeleton } from \"@purpur/skeleton\";\n\nimport { cx } from \"./classnames\";\n\nexport type RadioCardImageProps = {\n [\"data-testid\"]?: string;\n altText: string;\n loading?: \"lazy\" | \"eager\";\n noPlaceholder?: boolean;\n src: string;\n};\n\nconst rootClassName = \"purpur-radio-card-group__item-image\";\n\nexport const isRadioCardItemImageProps = (\n imageProps?: RadioCardImageProps | unknown\n): imageProps is RadioCardImageProps =>\n !!(imageProps as RadioCardImageProps)?.src && !!(imageProps as RadioCardImageProps).altText;\n\nexport const RadioCardImage = ({\n src,\n altText,\n noPlaceholder,\n loading = \"lazy\",\n [\"data-testid\"]: dataTestid,\n}: RadioCardImageProps) => {\n const [isLoaded, setIsLoaded] = useState(false);\n const onLoad = () => setIsLoaded(true);\n\n const imageClassName = cx(rootClassName, {\n [`${rootClassName}--loaded`]: isLoaded,\n });\n\n const placeholderClassName = cx(`${rootClassName}-placeholder`, {\n [`${rootClassName}-placeholder--loaded`]: isLoaded,\n });\n\n return (\n <>\n <img\n data-testid={dataTestid}\n className={imageClassName}\n src={src}\n alt={altText}\n loading={loading}\n onLoad={onLoad}\n />\n {!noPlaceholder && <Skeleton className={placeholderClassName} />}\n </>\n );\n};\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport {\n isRadioCardItemImageProps,\n RadioCardImage,\n type RadioCardImageProps,\n} from \"./radio-card-item-image\";\n\nconst rootClassName = \"purpur-radio-card-group__item\";\n\ntype CustomElement = ((props: { disabled?: boolean }) => ReactNode) | ReactNode;\ntype NonNullCustomElement =\n | ((props: { disabled?: boolean }) => NonNullable<ReactNode>)\n | NonNullable<ReactNode>;\n\nexport type RadioCardItemProps = Omit<BaseProps, \"id\" | \"title\"> & {\n /**\n * `string | ReactNode | (props: { disabled?: boolean }) => ReactNode`\n */\n body?: string | CustomElement;\n disabled?: boolean;\n id: string;\n /**\n * The radio image.\n *\n union = {\n \"data-testid\"?: string | undefined;\n altText: string;\n loading?: \"lazy\" | \"eager\" | undefined;\n noPlaceholder?: boolean | undefined;\n src: string;\n } |\n ((props: {\n disabled?: boolean;\n }) => ReactNode) | React.ReactNode\n * */\n image?: RadioCardImageProps | CustomElement;\n value: string;\n /**\n * `union = string | Omit<ReactNode, \"undefined\" | \"null\">`\n */\n title: string | NonNullCustomElement;\n};\n\nconst renderCustomElement = (\n element: CustomElement | NonNullCustomElement,\n { disabled }: Pick<RadioCardItemProps, \"disabled\">\n) => (typeof element === \"function\" ? element({ disabled }) : element);\n\nexport const RadioCardItem = forwardRef<HTMLDivElement, RadioCardItemProps>(\n ({ title, ...propsx }, ref) => {\n const { [\"data-testid\"]: dataTestid, body, children, disabled, id, image, value } = propsx;\n\n const props = { title, ...propsx };\n\n return (\n <div className={cx(`${rootClassName}-container`)} ref={ref}>\n <RadixRadioGroup.Item\n className={cx(rootClassName)}\n data-testid={dataTestid}\n disabled={disabled}\n id={id}\n value={value}\n >\n {image && (\n <span className={cx(`${rootClassName}-image-container`)}>\n {isRadioCardItemImageProps(image) ? (\n <RadioCardImage {...image} data-testid={dataTestid && `${dataTestid}-image`} />\n ) : (\n renderCustomElement(image, props)\n )}\n </span>\n )}\n <span className={cx(`${rootClassName}-content`)}>\n <span className={cx(`${rootClassName}-top-container`)}>\n {typeof title === \"string\" ? (\n <Paragraph\n className={cx(`${rootClassName}-title`)}\n data-testid={dataTestid && `${dataTestid}-title`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {title}\n </Paragraph>\n ) : (\n renderCustomElement(title, props)\n )}\n <span className={cx(`${rootClassName}-radio`)}>\n <RadixRadioGroup.Indicator className={cx(`${rootClassName}-indicator`)} />\n </span>\n </span>\n {body && (\n <span className={cx(`${rootClassName}-bottom-container`)}>\n {typeof body === \"string\" ? (\n <Paragraph\n data-testid={dataTestid && `${dataTestid}-body`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {body}\n </Paragraph>\n ) : (\n renderCustomElement(body, props)\n )}\n </span>\n )}\n </span>\n </RadixRadioGroup.Item>\n {children}\n </div>\n );\n }\n);\n\nRadioCardItem.displayName = \"RadioCardItem\";\n","import { isValidElement, type ReactElement, type ReactNode } from \"react\";\n\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport const isRadioCardItem = (child?: ReactNode): child is ReactElement<RadioCardItemProps> =>\n isValidElement<RadioCardItemProps>(child) && child.type === RadioCardItem;\n","import React, { Children, cloneElement, forwardRef, type ReactNode, type Ref } from \"react\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport { isRadioCardItem } from \"./is-radio-card-item\";\nimport type { RadioCardGroupOrientation, RadioPosition } from \"./radio-card-group.constants\";\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport type RadioCardGroupItem = RadioCardItemProps & { ref?: Ref<HTMLDivElement> };\n\ntype StylingProps = Pick<React.HTMLAttributes<HTMLElement>, \"className\" | \"style\">;\n\nexport type RadioCardGroupProps = StylingProps & {\n /**\n * To use when no heading is given.\n * */\n [\"aria-label\"]?: string;\n /**\n * To use with custom label.\n * */\n [\"aria-labelledby\"]?: string;\n [\"data-testid\"]?: string;\n /**\n * The value of the radio card item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.\n * */\n defaultValue?: string;\n /**\n * When true, prevents the user from interacting with radio card items.\n * */\n disabled?: boolean;\n /**\n * ID of the radio card group container.\n * */\n id: string;\n /**\n * The radio card items.\n * */\n items?: RadioCardGroupItem[];\n /**\n * Renders above the radio card group as a heading\n * */\n heading?: string;\n /**\n * Changes heading level for heading.\n */\n headingTag?: HeadingTagType;\n /**\n * When true, keyboard navigation will loop from last item to first, and vice versa.\n * */\n loop?: boolean;\n /**\n * The name of the group. Submitted with its owning form as part of a name/value pair.\n * */\n name?: string;\n /**\n * Event handler called when the value changes.\n * */\n onValueChange?: (value: string) => void;\n /**\n * Set to stack cards horizontally or vertically. When `horizontal`, the min card width with is 100% when container is sm, and `--purpur-breakpoint-lg` / 4 when the container is md or larger.\n * */\n orientation?: RadioCardGroupOrientation;\n /**\n * The position if the radio in the card items.\n * */\n radioPosition?: RadioPosition;\n /**\n * When true, indicates that the user must check a radio card item before the owning form can be submitted.\n * */\n required?: boolean;\n /**\n * The controlled value of the radio card item to check. Should be used in conjunction with onValueChange.\n * */\n value?: string;\n /**\n * Will only render given RadioCardItems.\n * */\n children?: ReactNode;\n};\n\nconst rootClassName = \"purpur-radio-card-group\";\n\nexport const RadioCardGroup = forwardRef<HTMLDivElement, RadioCardGroupProps>(\n (\n {\n \"data-testid\": dataTestId,\n \"aria-labelledby\": ariaLabelledby,\n children,\n className,\n items,\n heading,\n headingTag = \"h2\",\n loop = true,\n orientation = \"vertical\",\n radioPosition = \"right\",\n ...props\n },\n ref\n ) => {\n const radioCardItemChildren = Children.toArray(children).filter(isRadioCardItem);\n\n return (\n <div className={cx(className, `${rootClassName}__container`)} ref={ref}>\n {heading && (\n <Heading\n data-testid={dataTestId ? `${dataTestId}-heading` : undefined}\n id={`${props.id}-heading`}\n tag={headingTag}\n variant=\"subsection-100\"\n >\n {props.required && <span aria-hidden>{\"* \"}</span>}\n {heading}\n </Heading>\n )}\n {(!!items?.length || radioCardItemChildren.length) && (\n <RadixRadioGroup.Root\n {...props}\n aria-labelledby={ariaLabelledby || (heading ? `${props.id}-heading` : undefined)}\n className={cx(\n rootClassName,\n `${rootClassName}--${orientation}`,\n `${rootClassName}--radio-${radioPosition}`\n )}\n data-testid={dataTestId}\n loop={loop}\n >\n {items?.map((item) => (\n <RadioCardItem\n key={item.id}\n {...item}\n disabled={item.disabled || props.disabled}\n data-testid={dataTestId ? `${dataTestId}-item` : undefined}\n />\n ))}\n {Children.map(radioCardItemChildren, (child) =>\n cloneElement(child, { disabled: child.props.disabled || props.disabled })\n )}\n </RadixRadioGroup.Root>\n )}\n </div>\n );\n }\n);\n\nRadioCardGroup.displayName = \"RadioCardGroup\";\n\n// RadioCardItem must be exported after `RadioCardGroup` for the Storybook controls to be generated from RadioCardGroup props\nexport type { RadioCardItemProps } from \"./radio-card-item\";\nexport { RadioCardItem } from \"./radio-card-item\";\n"],"names":["cx","c","styles","rootClassName","isRadioCardItemImageProps","imageProps","RadioCardImage","src","altText","noPlaceholder","loading","dataTestid","isLoaded","setIsLoaded","useState","onLoad","imageClassName","placeholderClassName","jsxs","Fragment","jsx","Skeleton","renderCustomElement","element","disabled","RadioCardItem","forwardRef","title","propsx","ref","body","children","id","image","value","props","RadixRadioGroup.Item","Paragraph","RadixRadioGroup.Indicator","isRadioCardItem","child","isValidElement","RadioCardGroup","dataTestId","ariaLabelledby","className","items","heading","headingTag","loop","orientation","radioPosition","radioCardItemChildren","Children","Heading","RadixRadioGroup.Root","item","cloneElement"],"mappings":"w9DAGaA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,ECWzBC,EAAgB,sCAETC,EACXC,GAEA,CAAC,CAAEA,GAAoC,KAAO,CAAC,CAAEA,EAAmC,QAEzEC,EAAiB,CAAC,CAC7B,IAAAC,EACA,QAAAC,EACA,cAAAC,EACA,QAAAC,EAAU,OACV,CAAC,eAAgBC,CACnB,IAA2B,CACzB,KAAM,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAAS,EAAK,EACxCC,EAAS,IAAMF,EAAY,EAAI,EAE/BG,EAAiBhB,EAAGG,EAAe,CACvC,CAAC,GAAGA,CAAa,UAAU,EAAGS,CAAA,CAC/B,EAEKK,EAAuBjB,EAAG,GAAGG,CAAa,eAAgB,CAC9D,CAAC,GAAGA,CAAa,sBAAsB,EAAGS,CAAA,CAC3C,EAED,OACEM,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,EAAAA,IAAC,MAAA,CACC,cAAaT,EACb,UAAWK,EACX,IAAAT,EACA,IAAKC,EACL,QAAAE,EACA,OAAAK,CAAA,CAAA,EAED,CAACN,GAAiBW,EAAAA,IAACC,EAAAA,SAAA,CAAS,UAAWJ,CAAA,CAAsB,CAAA,EAChE,CAEJ,ECxCMd,EAAgB,gCAoChBmB,EAAsB,CAC1BC,EACA,CAAE,SAAAC,KACE,OAAOD,GAAY,WAAaA,EAAQ,CAAE,SAAAC,CAAA,CAAU,EAAID,EAEjDE,EAAgBC,EAAAA,WAC3B,CAAC,CAAE,MAAAC,EAAO,GAAGC,CAAA,EAAUC,IAAQ,CAC7B,KAAM,CAAE,CAAC,aAAa,EAAGlB,EAAY,KAAAmB,EAAM,SAAAC,EAAU,SAAAP,EAAU,GAAAQ,EAAI,MAAAC,EAAO,MAAAC,CAAA,EAAUN,EAE9EO,EAAQ,CAAS,GAAGP,CAAA,EAE1B,OACEV,OAAC,OAAI,UAAWlB,EAAG,GAAGG,CAAa,YAAY,EAAG,IAAA0B,EAChD,SAAA,CAAAX,EAAAA,KAACkB,EAAAA,MAAA,CACC,UAAWpC,EAAGG,CAAa,EAC3B,cAAaQ,EACb,SAAAa,EACA,GAAAQ,EACA,MAAAE,EAEC,SAAA,CAAAD,GACCb,EAAAA,IAAC,OAAA,CAAK,UAAWpB,EAAG,GAAGG,CAAa,kBAAkB,EACnD,SAAAC,EAA0B6B,CAAK,EAC9Bb,EAAAA,IAACd,GAAgB,GAAG2B,EAAO,cAAatB,GAAc,GAAGA,CAAU,SAAU,EAE7EW,EAAoBW,EAAOE,CAAK,CAAA,CAEpC,SAED,OAAA,CAAK,UAAWnC,EAAG,GAAGG,CAAa,UAAU,EAC5C,SAAA,CAAAe,OAAC,QAAK,UAAWlB,EAAG,GAAGG,CAAa,gBAAgB,EACjD,SAAA,CAAA,OAAOwB,GAAU,SAChBP,EAAAA,IAACiB,EAAAA,UAAA,CACC,UAAWrC,EAAG,GAAGG,CAAa,QAAQ,EACtC,cAAaQ,GAAc,GAAGA,CAAU,SACxC,QAAQ,gBACR,SAAAa,EAEC,SAAAG,CAAA,CAAA,EAGHL,EAAoBK,EAAOQ,CAAK,QAEjC,OAAA,CAAK,UAAWnC,EAAG,GAAGG,CAAa,QAAQ,EAC1C,SAAAiB,EAAAA,IAACkB,EAAAA,UAAA,CAA0B,UAAWtC,EAAG,GAAGG,CAAa,YAAY,EAAG,CAAA,CAC1E,CAAA,EACF,EACC2B,GACCV,EAAAA,IAAC,OAAA,CAAK,UAAWpB,EAAG,GAAGG,CAAa,mBAAmB,EACpD,SAAA,OAAO2B,GAAS,SACfV,EAAAA,IAACiB,EAAAA,UAAA,CACC,cAAa1B,GAAc,GAAGA,CAAU,QACxC,QAAQ,gBACR,SAAAa,EAEC,SAAAM,CAAA,CAAA,EAGHR,EAAoBQ,EAAMK,CAAK,CAAA,CAEnC,CAAA,CAAA,CAEJ,CAAA,CAAA,CAAA,EAEDJ,CAAA,EACH,CAEJ,CACF,EAEAN,EAAc,YAAc,gBClHrB,MAAMc,EAAmBC,GAC9BC,EAAAA,eAAmCD,CAAK,GAAKA,EAAM,OAASf,EC4ExDtB,EAAgB,0BAETuC,EAAiBhB,EAAAA,WAC5B,CACE,CACE,cAAeiB,EACf,kBAAmBC,EACnB,SAAAb,EACA,UAAAc,EACA,MAAAC,EAAA,QACAC,EACA,WAAAC,EAAa,KACb,KAAAC,EAAO,GACP,YAAAC,EAAc,WACd,cAAAC,EAAgB,QAChB,GAAGhB,CAAA,EAELN,IACG,CACH,MAAMuB,EAAwBC,EAAAA,SAAS,QAAQtB,CAAQ,EAAE,OAAOQ,CAAe,EAE/E,OACErB,OAAC,OAAI,UAAWlB,EAAG6C,EAAW,GAAG1C,CAAa,aAAa,EAAG,IAAA0B,EAC3D,SAAA,CAAAkB,GACC7B,EAAAA,KAACoC,EAAAA,QAAA,CACC,cAAaX,EAAa,GAAGA,CAAU,WAAa,OACpD,GAAI,GAAGR,EAAM,EAAE,WACf,IAAKa,EACL,QAAQ,iBAEP,SAAA,CAAAb,EAAM,UAAYf,EAAAA,IAAC,OAAA,CAAK,cAAW,GAAE,SAAA,KAAK,EAC1C2B,CAAA,CAAA,CAAA,GAGH,CAAC,CAACD,GAAO,QAAUM,EAAsB,SACzClC,EAAAA,KAACqC,EAAAA,MAAA,CACE,GAAGpB,EACJ,kBAAiBS,IAAmBG,EAAU,GAAGZ,EAAM,EAAE,WAAa,QACtE,UAAWnC,EACTG,EACA,GAAGA,CAAa,KAAK+C,CAAW,GAChC,GAAG/C,CAAa,WAAWgD,CAAa,EAAA,EAE1C,cAAaR,EACb,KAAAM,EAEC,SAAA,CAAAH,GAAO,IAAKU,GACXpC,EAAAA,IAACK,EAAA,CAEE,GAAG+B,EACJ,SAAUA,EAAK,UAAYrB,EAAM,SACjC,cAAaQ,EAAa,GAAGA,CAAU,QAAU,MAAA,EAH5Ca,EAAK,EAAA,CAKb,EACAH,EAAAA,SAAS,IAAID,EAAwBZ,GACpCiB,eAAajB,EAAO,CAAE,SAAUA,EAAM,MAAM,UAAYL,EAAM,QAAA,CAAU,CAAA,CAC1E,CAAA,CAAA,CACF,EAEJ,CAEJ,CACF,EAEAO,EAAe,YAAc"}
1
+ {"version":3,"file":"radio-card-group-BXwkIIEw.js","sources":["../../../components/radio-card-group/src/classnames.ts","../../../components/radio-card-group/src/radio-card-item-image.tsx","../../../components/radio-card-group/src/radio-card-item.tsx","../../../components/radio-card-group/src/is-radio-card-item.ts","../../../components/radio-card-group/src/radio-card-group.tsx"],"sourcesContent":["import c from \"classnames/bind\";\n\nimport styles from \"./radio-card-group.module.scss\";\nexport const cx = c.bind(styles);\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { Skeleton } from \"@purpur/skeleton\";\n\nimport { cx } from \"./classnames\";\n\nexport type RadioCardImageProps = {\n [\"data-testid\"]?: string;\n altText: string;\n loading?: \"lazy\" | \"eager\";\n noPlaceholder?: boolean;\n src: string;\n};\n\nconst rootClassName = \"purpur-radio-card-group__item-image\";\n\nexport const isRadioCardItemImageProps = (\n imageProps?: RadioCardImageProps | unknown\n): imageProps is RadioCardImageProps =>\n !!(imageProps as RadioCardImageProps)?.src && !!(imageProps as RadioCardImageProps).altText;\n\nexport const RadioCardImage = ({\n src,\n altText,\n noPlaceholder,\n loading = \"lazy\",\n [\"data-testid\"]: dataTestid,\n}: RadioCardImageProps) => {\n const [isLoaded, setIsLoaded] = useState(false);\n const onLoad = () => setIsLoaded(true);\n\n const imageClassName = cx(rootClassName, {\n [`${rootClassName}--loaded`]: isLoaded,\n });\n\n const placeholderClassName = cx(`${rootClassName}-placeholder`, {\n [`${rootClassName}-placeholder--loaded`]: isLoaded,\n });\n\n return (\n <>\n <img\n data-testid={dataTestid}\n className={imageClassName}\n src={src}\n alt={altText}\n loading={loading}\n onLoad={onLoad}\n />\n {!noPlaceholder && <Skeleton className={placeholderClassName} />}\n </>\n );\n};\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport {\n isRadioCardItemImageProps,\n RadioCardImage,\n type RadioCardImageProps,\n} from \"./radio-card-item-image\";\n\nconst rootClassName = \"purpur-radio-card-group__item\";\n\ntype CustomElement = ((props: { disabled?: boolean }) => ReactNode) | ReactNode;\ntype NonNullCustomElement =\n | ((props: { disabled?: boolean }) => NonNullable<ReactNode>)\n | NonNullable<ReactNode>;\n\nexport type RadioCardItemProps = Omit<BaseProps, \"id\" | \"title\"> & {\n /**\n * `string | ReactNode | (props: { disabled?: boolean }) => ReactNode`\n */\n body?: string | CustomElement;\n disabled?: boolean;\n id: string;\n /**\n * The radio image.\n *\n union = {\n \"data-testid\"?: string | undefined;\n altText: string;\n loading?: \"lazy\" | \"eager\" | undefined;\n noPlaceholder?: boolean | undefined;\n src: string;\n } |\n ((props: {\n disabled?: boolean;\n }) => ReactNode) | React.ReactNode\n * */\n image?: RadioCardImageProps | CustomElement;\n value: string;\n /**\n * `union = string | Omit<ReactNode, \"undefined\" | \"null\">`\n */\n title: string | NonNullCustomElement;\n};\n\nconst renderCustomElement = (\n element: CustomElement | NonNullCustomElement,\n { disabled }: Pick<RadioCardItemProps, \"disabled\">\n) => (typeof element === \"function\" ? element({ disabled }) : element);\n\nexport const RadioCardItem = forwardRef<HTMLDivElement, RadioCardItemProps>(\n ({ title, ...propsx }, ref) => {\n const { [\"data-testid\"]: dataTestid, body, children, disabled, id, image, value } = propsx;\n\n const props = { title, ...propsx };\n\n return (\n <div className={cx(`${rootClassName}-container`)} ref={ref}>\n <RadixRadioGroup.Item\n className={cx(rootClassName)}\n data-testid={dataTestid}\n disabled={disabled}\n id={id}\n value={value}\n >\n {image && (\n <span className={cx(`${rootClassName}-image-container`)}>\n {isRadioCardItemImageProps(image) ? (\n <RadioCardImage {...image} data-testid={dataTestid && `${dataTestid}-image`} />\n ) : (\n renderCustomElement(image, props)\n )}\n </span>\n )}\n <span className={cx(`${rootClassName}-content`)}>\n <span className={cx(`${rootClassName}-top-container`)}>\n {typeof title === \"string\" ? (\n <Paragraph\n className={cx(`${rootClassName}-title`)}\n data-testid={dataTestid && `${dataTestid}-title`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {title}\n </Paragraph>\n ) : (\n renderCustomElement(title, props)\n )}\n <span className={cx(`${rootClassName}-radio`)}>\n <RadixRadioGroup.Indicator className={cx(`${rootClassName}-indicator`)} />\n </span>\n </span>\n {body && (\n <span className={cx(`${rootClassName}-bottom-container`)}>\n {typeof body === \"string\" ? (\n <Paragraph\n data-testid={dataTestid && `${dataTestid}-body`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {body}\n </Paragraph>\n ) : (\n renderCustomElement(body, props)\n )}\n </span>\n )}\n </span>\n </RadixRadioGroup.Item>\n {children}\n </div>\n );\n }\n);\n\nRadioCardItem.displayName = \"RadioCardItem\";\n","import { isValidElement, type ReactElement, type ReactNode } from \"react\";\n\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport const isRadioCardItem = (child?: ReactNode): child is ReactElement<RadioCardItemProps> =>\n isValidElement<RadioCardItemProps>(child) && child.type === RadioCardItem;\n","import React, { Children, cloneElement, forwardRef, type ReactNode, type Ref } from \"react\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport { isRadioCardItem } from \"./is-radio-card-item\";\nimport type { RadioCardGroupOrientation, RadioPosition } from \"./radio-card-group.constants\";\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport type RadioCardGroupItem = RadioCardItemProps & { ref?: Ref<HTMLDivElement> };\n\ntype StylingProps = Pick<React.HTMLAttributes<HTMLElement>, \"className\" | \"style\">;\n\nexport type RadioCardGroupProps = StylingProps & {\n /**\n * To use when no heading is given.\n * */\n [\"aria-label\"]?: string;\n /**\n * To use with custom label.\n * */\n [\"aria-labelledby\"]?: string;\n [\"data-testid\"]?: string;\n /**\n * The value of the radio card item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.\n * */\n defaultValue?: string;\n /**\n * When true, prevents the user from interacting with radio card items.\n * */\n disabled?: boolean;\n /**\n * ID of the radio card group container.\n * */\n id: string;\n /**\n * The radio card items.\n * */\n items?: RadioCardGroupItem[];\n /**\n * Renders above the radio card group as a heading\n * */\n heading?: string;\n /**\n * Changes heading level for heading.\n */\n headingTag?: HeadingTagType;\n /**\n * When true, keyboard navigation will loop from last item to first, and vice versa.\n * */\n loop?: boolean;\n /**\n * The name of the group. Submitted with its owning form as part of a name/value pair.\n * */\n name?: string;\n /**\n * Event handler called when the value changes.\n * */\n onValueChange?: (value: string) => void;\n /**\n * Set to stack cards horizontally or vertically. When `horizontal`, the min card width with is 100% when container is sm, and `--purpur-breakpoint-lg` / 4 when the container is md or larger.\n * */\n orientation?: RadioCardGroupOrientation;\n /**\n * The position if the radio in the card items.\n * */\n radioPosition?: RadioPosition;\n /**\n * When true, indicates that the user must check a radio card item before the owning form can be submitted.\n * */\n required?: boolean;\n /**\n * The controlled value of the radio card item to check. Should be used in conjunction with onValueChange.\n * */\n value?: string;\n /**\n * Will only render given RadioCardItems.\n * */\n children?: ReactNode;\n};\n\nconst rootClassName = \"purpur-radio-card-group\";\n\nexport const RadioCardGroup = forwardRef<HTMLDivElement, RadioCardGroupProps>(\n (\n {\n \"data-testid\": dataTestId,\n \"aria-labelledby\": ariaLabelledby,\n children,\n className,\n items,\n heading,\n headingTag = \"h2\",\n loop = true,\n orientation = \"vertical\",\n radioPosition = \"right\",\n ...props\n },\n ref\n ) => {\n const radioCardItemChildren = Children.toArray(children).filter(isRadioCardItem);\n\n return (\n <div className={cx(className, `${rootClassName}__container`)} ref={ref}>\n {heading && (\n <Heading\n data-testid={dataTestId ? `${dataTestId}-heading` : undefined}\n id={`${props.id}-heading`}\n tag={headingTag}\n variant=\"subsection-100\"\n >\n {props.required && <span aria-hidden>{\"* \"}</span>}\n {heading}\n </Heading>\n )}\n {(!!items?.length || radioCardItemChildren.length) && (\n <RadixRadioGroup.Root\n {...props}\n aria-labelledby={ariaLabelledby || (heading ? `${props.id}-heading` : undefined)}\n className={cx(\n rootClassName,\n `${rootClassName}--${orientation}`,\n `${rootClassName}--radio-${radioPosition}`\n )}\n data-testid={dataTestId}\n loop={loop}\n >\n {items?.map((item) => (\n <RadioCardItem\n key={item.id}\n {...item}\n disabled={item.disabled || props.disabled}\n data-testid={dataTestId ? `${dataTestId}-item` : undefined}\n />\n ))}\n {Children.map(radioCardItemChildren, (child) =>\n cloneElement(child, { disabled: child.props.disabled || props.disabled })\n )}\n </RadixRadioGroup.Root>\n )}\n </div>\n );\n }\n);\n\nRadioCardGroup.displayName = \"RadioCardGroup\";\n\n// RadioCardItem must be exported after `RadioCardGroup` for the Storybook controls to be generated from RadioCardGroup props\nexport type { RadioCardItemProps } from \"./radio-card-item\";\nexport { RadioCardItem } from \"./radio-card-item\";\n"],"names":["cx","c","styles","rootClassName","isRadioCardItemImageProps","imageProps","RadioCardImage","src","altText","noPlaceholder","loading","dataTestid","isLoaded","setIsLoaded","useState","onLoad","imageClassName","placeholderClassName","jsxs","Fragment","jsx","Skeleton","renderCustomElement","element","disabled","RadioCardItem","forwardRef","title","propsx","ref","body","children","id","image","value","props","RadixRadioGroup.Item","Paragraph","RadixRadioGroup.Indicator","isRadioCardItem","child","isValidElement","RadioCardGroup","dataTestId","ariaLabelledby","className","items","heading","headingTag","loop","orientation","radioPosition","radioCardItemChildren","Children","Heading","RadixRadioGroup.Root","item","cloneElement"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useState as x, forwardRef as v, isValidElement as z, Children as C, clo
3
3
  import { H as L } from "./heading-xwBuT_-9.mjs";
4
4
  import { I as S, a as j, R as G } from "./index-DSf4qCR-.mjs";
5
5
  import { c as H } from "./bind-CU-R61T-.mjs";
6
- import { P as y } from "./paragraph-DSxXmX_0.mjs";
6
+ import { P as y } from "./paragraph-CwAdFoIm.mjs";
7
7
  import { S as P } from "./skeleton-CDGzLI-T.mjs";
8
8
  const k = {
9
9
  "purpur-radio-card-group": "_purpur-radio-card-group_19np7_1",
@@ -163,4 +163,4 @@ export {
163
163
  F as R,
164
164
  b as a
165
165
  };
166
- //# sourceMappingURL=radio-card-group-ZBXjYcQs.mjs.map
166
+ //# sourceMappingURL=radio-card-group-Bn6SK0Wc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-card-group-ZBXjYcQs.mjs","sources":["../../../components/radio-card-group/src/classnames.ts","../../../components/radio-card-group/src/radio-card-item-image.tsx","../../../components/radio-card-group/src/radio-card-item.tsx","../../../components/radio-card-group/src/is-radio-card-item.ts","../../../components/radio-card-group/src/radio-card-group.tsx"],"sourcesContent":["import c from \"classnames/bind\";\n\nimport styles from \"./radio-card-group.module.scss\";\nexport const cx = c.bind(styles);\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { Skeleton } from \"@purpur/skeleton\";\n\nimport { cx } from \"./classnames\";\n\nexport type RadioCardImageProps = {\n [\"data-testid\"]?: string;\n altText: string;\n loading?: \"lazy\" | \"eager\";\n noPlaceholder?: boolean;\n src: string;\n};\n\nconst rootClassName = \"purpur-radio-card-group__item-image\";\n\nexport const isRadioCardItemImageProps = (\n imageProps?: RadioCardImageProps | unknown\n): imageProps is RadioCardImageProps =>\n !!(imageProps as RadioCardImageProps)?.src && !!(imageProps as RadioCardImageProps).altText;\n\nexport const RadioCardImage = ({\n src,\n altText,\n noPlaceholder,\n loading = \"lazy\",\n [\"data-testid\"]: dataTestid,\n}: RadioCardImageProps) => {\n const [isLoaded, setIsLoaded] = useState(false);\n const onLoad = () => setIsLoaded(true);\n\n const imageClassName = cx(rootClassName, {\n [`${rootClassName}--loaded`]: isLoaded,\n });\n\n const placeholderClassName = cx(`${rootClassName}-placeholder`, {\n [`${rootClassName}-placeholder--loaded`]: isLoaded,\n });\n\n return (\n <>\n <img\n data-testid={dataTestid}\n className={imageClassName}\n src={src}\n alt={altText}\n loading={loading}\n onLoad={onLoad}\n />\n {!noPlaceholder && <Skeleton className={placeholderClassName} />}\n </>\n );\n};\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport {\n isRadioCardItemImageProps,\n RadioCardImage,\n type RadioCardImageProps,\n} from \"./radio-card-item-image\";\n\nconst rootClassName = \"purpur-radio-card-group__item\";\n\ntype CustomElement = ((props: { disabled?: boolean }) => ReactNode) | ReactNode;\ntype NonNullCustomElement =\n | ((props: { disabled?: boolean }) => NonNullable<ReactNode>)\n | NonNullable<ReactNode>;\n\nexport type RadioCardItemProps = Omit<BaseProps, \"id\" | \"title\"> & {\n /**\n * `string | ReactNode | (props: { disabled?: boolean }) => ReactNode`\n */\n body?: string | CustomElement;\n disabled?: boolean;\n id: string;\n /**\n * The radio image.\n *\n union = {\n \"data-testid\"?: string | undefined;\n altText: string;\n loading?: \"lazy\" | \"eager\" | undefined;\n noPlaceholder?: boolean | undefined;\n src: string;\n } |\n ((props: {\n disabled?: boolean;\n }) => ReactNode) | React.ReactNode\n * */\n image?: RadioCardImageProps | CustomElement;\n value: string;\n /**\n * `union = string | Omit<ReactNode, \"undefined\" | \"null\">`\n */\n title: string | NonNullCustomElement;\n};\n\nconst renderCustomElement = (\n element: CustomElement | NonNullCustomElement,\n { disabled }: Pick<RadioCardItemProps, \"disabled\">\n) => (typeof element === \"function\" ? element({ disabled }) : element);\n\nexport const RadioCardItem = forwardRef<HTMLDivElement, RadioCardItemProps>(\n ({ title, ...propsx }, ref) => {\n const { [\"data-testid\"]: dataTestid, body, children, disabled, id, image, value } = propsx;\n\n const props = { title, ...propsx };\n\n return (\n <div className={cx(`${rootClassName}-container`)} ref={ref}>\n <RadixRadioGroup.Item\n className={cx(rootClassName)}\n data-testid={dataTestid}\n disabled={disabled}\n id={id}\n value={value}\n >\n {image && (\n <span className={cx(`${rootClassName}-image-container`)}>\n {isRadioCardItemImageProps(image) ? (\n <RadioCardImage {...image} data-testid={dataTestid && `${dataTestid}-image`} />\n ) : (\n renderCustomElement(image, props)\n )}\n </span>\n )}\n <span className={cx(`${rootClassName}-content`)}>\n <span className={cx(`${rootClassName}-top-container`)}>\n {typeof title === \"string\" ? (\n <Paragraph\n className={cx(`${rootClassName}-title`)}\n data-testid={dataTestid && `${dataTestid}-title`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {title}\n </Paragraph>\n ) : (\n renderCustomElement(title, props)\n )}\n <span className={cx(`${rootClassName}-radio`)}>\n <RadixRadioGroup.Indicator className={cx(`${rootClassName}-indicator`)} />\n </span>\n </span>\n {body && (\n <span className={cx(`${rootClassName}-bottom-container`)}>\n {typeof body === \"string\" ? (\n <Paragraph\n data-testid={dataTestid && `${dataTestid}-body`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {body}\n </Paragraph>\n ) : (\n renderCustomElement(body, props)\n )}\n </span>\n )}\n </span>\n </RadixRadioGroup.Item>\n {children}\n </div>\n );\n }\n);\n\nRadioCardItem.displayName = \"RadioCardItem\";\n","import { isValidElement, type ReactElement, type ReactNode } from \"react\";\n\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport const isRadioCardItem = (child?: ReactNode): child is ReactElement<RadioCardItemProps> =>\n isValidElement<RadioCardItemProps>(child) && child.type === RadioCardItem;\n","import React, { Children, cloneElement, forwardRef, type ReactNode, type Ref } from \"react\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport { isRadioCardItem } from \"./is-radio-card-item\";\nimport type { RadioCardGroupOrientation, RadioPosition } from \"./radio-card-group.constants\";\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport type RadioCardGroupItem = RadioCardItemProps & { ref?: Ref<HTMLDivElement> };\n\ntype StylingProps = Pick<React.HTMLAttributes<HTMLElement>, \"className\" | \"style\">;\n\nexport type RadioCardGroupProps = StylingProps & {\n /**\n * To use when no heading is given.\n * */\n [\"aria-label\"]?: string;\n /**\n * To use with custom label.\n * */\n [\"aria-labelledby\"]?: string;\n [\"data-testid\"]?: string;\n /**\n * The value of the radio card item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.\n * */\n defaultValue?: string;\n /**\n * When true, prevents the user from interacting with radio card items.\n * */\n disabled?: boolean;\n /**\n * ID of the radio card group container.\n * */\n id: string;\n /**\n * The radio card items.\n * */\n items?: RadioCardGroupItem[];\n /**\n * Renders above the radio card group as a heading\n * */\n heading?: string;\n /**\n * Changes heading level for heading.\n */\n headingTag?: HeadingTagType;\n /**\n * When true, keyboard navigation will loop from last item to first, and vice versa.\n * */\n loop?: boolean;\n /**\n * The name of the group. Submitted with its owning form as part of a name/value pair.\n * */\n name?: string;\n /**\n * Event handler called when the value changes.\n * */\n onValueChange?: (value: string) => void;\n /**\n * Set to stack cards horizontally or vertically. When `horizontal`, the min card width with is 100% when container is sm, and `--purpur-breakpoint-lg` / 4 when the container is md or larger.\n * */\n orientation?: RadioCardGroupOrientation;\n /**\n * The position if the radio in the card items.\n * */\n radioPosition?: RadioPosition;\n /**\n * When true, indicates that the user must check a radio card item before the owning form can be submitted.\n * */\n required?: boolean;\n /**\n * The controlled value of the radio card item to check. Should be used in conjunction with onValueChange.\n * */\n value?: string;\n /**\n * Will only render given RadioCardItems.\n * */\n children?: ReactNode;\n};\n\nconst rootClassName = \"purpur-radio-card-group\";\n\nexport const RadioCardGroup = forwardRef<HTMLDivElement, RadioCardGroupProps>(\n (\n {\n \"data-testid\": dataTestId,\n \"aria-labelledby\": ariaLabelledby,\n children,\n className,\n items,\n heading,\n headingTag = \"h2\",\n loop = true,\n orientation = \"vertical\",\n radioPosition = \"right\",\n ...props\n },\n ref\n ) => {\n const radioCardItemChildren = Children.toArray(children).filter(isRadioCardItem);\n\n return (\n <div className={cx(className, `${rootClassName}__container`)} ref={ref}>\n {heading && (\n <Heading\n data-testid={dataTestId ? `${dataTestId}-heading` : undefined}\n id={`${props.id}-heading`}\n tag={headingTag}\n variant=\"subsection-100\"\n >\n {props.required && <span aria-hidden>{\"* \"}</span>}\n {heading}\n </Heading>\n )}\n {(!!items?.length || radioCardItemChildren.length) && (\n <RadixRadioGroup.Root\n {...props}\n aria-labelledby={ariaLabelledby || (heading ? `${props.id}-heading` : undefined)}\n className={cx(\n rootClassName,\n `${rootClassName}--${orientation}`,\n `${rootClassName}--radio-${radioPosition}`\n )}\n data-testid={dataTestId}\n loop={loop}\n >\n {items?.map((item) => (\n <RadioCardItem\n key={item.id}\n {...item}\n disabled={item.disabled || props.disabled}\n data-testid={dataTestId ? `${dataTestId}-item` : undefined}\n />\n ))}\n {Children.map(radioCardItemChildren, (child) =>\n cloneElement(child, { disabled: child.props.disabled || props.disabled })\n )}\n </RadixRadioGroup.Root>\n )}\n </div>\n );\n }\n);\n\nRadioCardGroup.displayName = \"RadioCardGroup\";\n\n// RadioCardItem must be exported after `RadioCardGroup` for the Storybook controls to be generated from RadioCardGroup props\nexport type { RadioCardItemProps } from \"./radio-card-item\";\nexport { RadioCardItem } from \"./radio-card-item\";\n"],"names":["cx","c","styles","rootClassName","isRadioCardItemImageProps","imageProps","RadioCardImage","src","altText","noPlaceholder","loading","dataTestid","isLoaded","setIsLoaded","useState","onLoad","imageClassName","placeholderClassName","jsxs","Fragment","jsx","Skeleton","renderCustomElement","element","disabled","RadioCardItem","forwardRef","title","propsx","ref","body","children","id","image","value","props","RadixRadioGroup.Item","Paragraph","RadixRadioGroup.Indicator","isRadioCardItem","child","isValidElement","RadioCardGroup","dataTestId","ariaLabelledby","className","items","heading","headingTag","loop","orientation","radioPosition","radioCardItemChildren","Children","Heading","RadixRadioGroup.Root","item","cloneElement"],"mappings":"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"}
1
+ {"version":3,"file":"radio-card-group-Bn6SK0Wc.mjs","sources":["../../../components/radio-card-group/src/classnames.ts","../../../components/radio-card-group/src/radio-card-item-image.tsx","../../../components/radio-card-group/src/radio-card-item.tsx","../../../components/radio-card-group/src/is-radio-card-item.ts","../../../components/radio-card-group/src/radio-card-group.tsx"],"sourcesContent":["import c from \"classnames/bind\";\n\nimport styles from \"./radio-card-group.module.scss\";\nexport const cx = c.bind(styles);\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { Skeleton } from \"@purpur/skeleton\";\n\nimport { cx } from \"./classnames\";\n\nexport type RadioCardImageProps = {\n [\"data-testid\"]?: string;\n altText: string;\n loading?: \"lazy\" | \"eager\";\n noPlaceholder?: boolean;\n src: string;\n};\n\nconst rootClassName = \"purpur-radio-card-group__item-image\";\n\nexport const isRadioCardItemImageProps = (\n imageProps?: RadioCardImageProps | unknown\n): imageProps is RadioCardImageProps =>\n !!(imageProps as RadioCardImageProps)?.src && !!(imageProps as RadioCardImageProps).altText;\n\nexport const RadioCardImage = ({\n src,\n altText,\n noPlaceholder,\n loading = \"lazy\",\n [\"data-testid\"]: dataTestid,\n}: RadioCardImageProps) => {\n const [isLoaded, setIsLoaded] = useState(false);\n const onLoad = () => setIsLoaded(true);\n\n const imageClassName = cx(rootClassName, {\n [`${rootClassName}--loaded`]: isLoaded,\n });\n\n const placeholderClassName = cx(`${rootClassName}-placeholder`, {\n [`${rootClassName}-placeholder--loaded`]: isLoaded,\n });\n\n return (\n <>\n <img\n data-testid={dataTestid}\n className={imageClassName}\n src={src}\n alt={altText}\n loading={loading}\n onLoad={onLoad}\n />\n {!noPlaceholder && <Skeleton className={placeholderClassName} />}\n </>\n );\n};\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport {\n isRadioCardItemImageProps,\n RadioCardImage,\n type RadioCardImageProps,\n} from \"./radio-card-item-image\";\n\nconst rootClassName = \"purpur-radio-card-group__item\";\n\ntype CustomElement = ((props: { disabled?: boolean }) => ReactNode) | ReactNode;\ntype NonNullCustomElement =\n | ((props: { disabled?: boolean }) => NonNullable<ReactNode>)\n | NonNullable<ReactNode>;\n\nexport type RadioCardItemProps = Omit<BaseProps, \"id\" | \"title\"> & {\n /**\n * `string | ReactNode | (props: { disabled?: boolean }) => ReactNode`\n */\n body?: string | CustomElement;\n disabled?: boolean;\n id: string;\n /**\n * The radio image.\n *\n union = {\n \"data-testid\"?: string | undefined;\n altText: string;\n loading?: \"lazy\" | \"eager\" | undefined;\n noPlaceholder?: boolean | undefined;\n src: string;\n } |\n ((props: {\n disabled?: boolean;\n }) => ReactNode) | React.ReactNode\n * */\n image?: RadioCardImageProps | CustomElement;\n value: string;\n /**\n * `union = string | Omit<ReactNode, \"undefined\" | \"null\">`\n */\n title: string | NonNullCustomElement;\n};\n\nconst renderCustomElement = (\n element: CustomElement | NonNullCustomElement,\n { disabled }: Pick<RadioCardItemProps, \"disabled\">\n) => (typeof element === \"function\" ? element({ disabled }) : element);\n\nexport const RadioCardItem = forwardRef<HTMLDivElement, RadioCardItemProps>(\n ({ title, ...propsx }, ref) => {\n const { [\"data-testid\"]: dataTestid, body, children, disabled, id, image, value } = propsx;\n\n const props = { title, ...propsx };\n\n return (\n <div className={cx(`${rootClassName}-container`)} ref={ref}>\n <RadixRadioGroup.Item\n className={cx(rootClassName)}\n data-testid={dataTestid}\n disabled={disabled}\n id={id}\n value={value}\n >\n {image && (\n <span className={cx(`${rootClassName}-image-container`)}>\n {isRadioCardItemImageProps(image) ? (\n <RadioCardImage {...image} data-testid={dataTestid && `${dataTestid}-image`} />\n ) : (\n renderCustomElement(image, props)\n )}\n </span>\n )}\n <span className={cx(`${rootClassName}-content`)}>\n <span className={cx(`${rootClassName}-top-container`)}>\n {typeof title === \"string\" ? (\n <Paragraph\n className={cx(`${rootClassName}-title`)}\n data-testid={dataTestid && `${dataTestid}-title`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {title}\n </Paragraph>\n ) : (\n renderCustomElement(title, props)\n )}\n <span className={cx(`${rootClassName}-radio`)}>\n <RadixRadioGroup.Indicator className={cx(`${rootClassName}-indicator`)} />\n </span>\n </span>\n {body && (\n <span className={cx(`${rootClassName}-bottom-container`)}>\n {typeof body === \"string\" ? (\n <Paragraph\n data-testid={dataTestid && `${dataTestid}-body`}\n variant=\"paragraph-100\"\n disabled={disabled}\n >\n {body}\n </Paragraph>\n ) : (\n renderCustomElement(body, props)\n )}\n </span>\n )}\n </span>\n </RadixRadioGroup.Item>\n {children}\n </div>\n );\n }\n);\n\nRadioCardItem.displayName = \"RadioCardItem\";\n","import { isValidElement, type ReactElement, type ReactNode } from \"react\";\n\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport const isRadioCardItem = (child?: ReactNode): child is ReactElement<RadioCardItemProps> =>\n isValidElement<RadioCardItemProps>(child) && child.type === RadioCardItem;\n","import React, { Children, cloneElement, forwardRef, type ReactNode, type Ref } from \"react\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport * as RadixRadioGroup from \"@radix-ui/react-radio-group\";\n\nimport { cx } from \"./classnames\";\nimport { isRadioCardItem } from \"./is-radio-card-item\";\nimport type { RadioCardGroupOrientation, RadioPosition } from \"./radio-card-group.constants\";\nimport { RadioCardItem, type RadioCardItemProps } from \"./radio-card-item\";\n\nexport type RadioCardGroupItem = RadioCardItemProps & { ref?: Ref<HTMLDivElement> };\n\ntype StylingProps = Pick<React.HTMLAttributes<HTMLElement>, \"className\" | \"style\">;\n\nexport type RadioCardGroupProps = StylingProps & {\n /**\n * To use when no heading is given.\n * */\n [\"aria-label\"]?: string;\n /**\n * To use with custom label.\n * */\n [\"aria-labelledby\"]?: string;\n [\"data-testid\"]?: string;\n /**\n * The value of the radio card item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.\n * */\n defaultValue?: string;\n /**\n * When true, prevents the user from interacting with radio card items.\n * */\n disabled?: boolean;\n /**\n * ID of the radio card group container.\n * */\n id: string;\n /**\n * The radio card items.\n * */\n items?: RadioCardGroupItem[];\n /**\n * Renders above the radio card group as a heading\n * */\n heading?: string;\n /**\n * Changes heading level for heading.\n */\n headingTag?: HeadingTagType;\n /**\n * When true, keyboard navigation will loop from last item to first, and vice versa.\n * */\n loop?: boolean;\n /**\n * The name of the group. Submitted with its owning form as part of a name/value pair.\n * */\n name?: string;\n /**\n * Event handler called when the value changes.\n * */\n onValueChange?: (value: string) => void;\n /**\n * Set to stack cards horizontally or vertically. When `horizontal`, the min card width with is 100% when container is sm, and `--purpur-breakpoint-lg` / 4 when the container is md or larger.\n * */\n orientation?: RadioCardGroupOrientation;\n /**\n * The position if the radio in the card items.\n * */\n radioPosition?: RadioPosition;\n /**\n * When true, indicates that the user must check a radio card item before the owning form can be submitted.\n * */\n required?: boolean;\n /**\n * The controlled value of the radio card item to check. Should be used in conjunction with onValueChange.\n * */\n value?: string;\n /**\n * Will only render given RadioCardItems.\n * */\n children?: ReactNode;\n};\n\nconst rootClassName = \"purpur-radio-card-group\";\n\nexport const RadioCardGroup = forwardRef<HTMLDivElement, RadioCardGroupProps>(\n (\n {\n \"data-testid\": dataTestId,\n \"aria-labelledby\": ariaLabelledby,\n children,\n className,\n items,\n heading,\n headingTag = \"h2\",\n loop = true,\n orientation = \"vertical\",\n radioPosition = \"right\",\n ...props\n },\n ref\n ) => {\n const radioCardItemChildren = Children.toArray(children).filter(isRadioCardItem);\n\n return (\n <div className={cx(className, `${rootClassName}__container`)} ref={ref}>\n {heading && (\n <Heading\n data-testid={dataTestId ? `${dataTestId}-heading` : undefined}\n id={`${props.id}-heading`}\n tag={headingTag}\n variant=\"subsection-100\"\n >\n {props.required && <span aria-hidden>{\"* \"}</span>}\n {heading}\n </Heading>\n )}\n {(!!items?.length || radioCardItemChildren.length) && (\n <RadixRadioGroup.Root\n {...props}\n aria-labelledby={ariaLabelledby || (heading ? `${props.id}-heading` : undefined)}\n className={cx(\n rootClassName,\n `${rootClassName}--${orientation}`,\n `${rootClassName}--radio-${radioPosition}`\n )}\n data-testid={dataTestId}\n loop={loop}\n >\n {items?.map((item) => (\n <RadioCardItem\n key={item.id}\n {...item}\n disabled={item.disabled || props.disabled}\n data-testid={dataTestId ? `${dataTestId}-item` : undefined}\n />\n ))}\n {Children.map(radioCardItemChildren, (child) =>\n cloneElement(child, { disabled: child.props.disabled || props.disabled })\n )}\n </RadixRadioGroup.Root>\n )}\n </div>\n );\n }\n);\n\nRadioCardGroup.displayName = \"RadioCardGroup\";\n\n// RadioCardItem must be exported after `RadioCardGroup` for the Storybook controls to be generated from RadioCardGroup props\nexport type { RadioCardItemProps } from \"./radio-card-item\";\nexport { RadioCardItem } from \"./radio-card-item\";\n"],"names":["cx","c","styles","rootClassName","isRadioCardItemImageProps","imageProps","RadioCardImage","src","altText","noPlaceholder","loading","dataTestid","isLoaded","setIsLoaded","useState","onLoad","imageClassName","placeholderClassName","jsxs","Fragment","jsx","Skeleton","renderCustomElement","element","disabled","RadioCardItem","forwardRef","title","propsx","ref","body","children","id","image","value","props","RadixRadioGroup.Item","Paragraph","RadixRadioGroup.Indicator","isRadioCardItem","child","isValidElement","RadioCardGroup","dataTestId","ariaLabelledby","className","items","heading","headingTag","loop","orientation","radioPosition","radioCardItemChildren","Children","Heading","RadixRadioGroup.Root","item","cloneElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./radio-card-group-nrDi5EPK.js");exports.RadioCardGroup=r.RadioCardGroup;exports.RadioCardItem=r.RadioCardItem;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./radio-card-group-BXwkIIEw.js");exports.RadioCardGroup=r.RadioCardGroup;exports.RadioCardItem=r.RadioCardItem;
2
2
  //# sourceMappingURL=radio-card-group.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { R as r, a as d } from "./radio-card-group-ZBXjYcQs.mjs";
1
+ import { R as r, a as d } from "./radio-card-group-Bn6SK0Wc.mjs";
2
2
  export {
3
3
  r as RadioCardGroup,
4
4
  d as RadioCardItem
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./RichText-yobCUjTD.js");exports.RichText=e.RichText;exports.richToPlainText=e.richToPlainText;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./RichText-BAVZadzi.js");exports.RichText=e.RichText;exports.richToPlainText=e.richToPlainText;
2
2
  //# sourceMappingURL=rich-text.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { R as e, r as i } from "./RichText-jZ-sHV-u.mjs";
1
+ import { R as e, r as i } from "./RichText-D4vznH1B.mjs";
2
2
  export {
3
3
  e as RichText,
4
4
  i as richToPlainText
@@ -1,10 +1,10 @@
1
1
  import { jsx as t, jsxs as V } from "react/jsx-runtime";
2
2
  import { forwardRef as $, useId as j } from "react";
3
- import { L as F } from "./listbox-i6BQQ-NZ.mjs";
3
+ import { L as F } from "./listbox-CtV-Vcmy.mjs";
4
4
  import { t as M } from "./use-autocomplete.es-CKb0RHKG.mjs";
5
5
  import { c as g } from "./bind-CU-R61T-.mjs";
6
6
  import { s as z } from "./search.es-DoFKg2Hr.mjs";
7
- import { T as I } from "./text-field-D8MMa6ij.mjs";
7
+ import { T as I } from "./text-field-AsvqJh6P.mjs";
8
8
  import { b as O } from "./button-4-yWOgtD.mjs";
9
9
  const R = {
10
10
  "purpur-search-field": "_purpur-search-field_1wc77_1",
@@ -164,4 +164,4 @@ export {
164
164
  k as a,
165
165
  Z as s
166
166
  };
167
- //# sourceMappingURL=search-field-_h8xn-sj.mjs.map
167
+ //# sourceMappingURL=search-field-BMC3WG2H.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-field-_h8xn-sj.mjs","sources":["../../../components/search-field/src/search-field-button.tsx","../../../components/search-field/src/search-field-base.tsx","../../../components/search-field/src/search-field-autocomplete.tsx","../../../components/search-field/src/search-field.tsx"],"sourcesContent":["import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconSearch } from \"@purpur/icon/search\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./search-field-button.module.scss\";\n\ntype Props = {\n [\"data-testid\"]?: string;\n disabled?: boolean;\n iconOnly?: boolean;\n label: string;\n type?: \"submit\" | \"button\";\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-search-field-button\";\n\nexport const SearchFieldButton = ({\n [\"data-testid\"]: dataTestid,\n disabled,\n iconOnly,\n label,\n type = \"submit\",\n onClick,\n}: Props) => {\n const buttonProps = {\n className: cx(rootClassName, {\n [`${rootClassName}--icon-only`]: iconOnly,\n }),\n disabled,\n [\"data-testid\"]: dataTestid,\n onClick,\n };\n\n if (iconOnly) {\n return (\n <Button {...buttonProps} aria-label={label} iconOnly size=\"sm\" type={type} variant=\"primary\">\n <IconSearch size=\"xs\" />\n </Button>\n );\n }\n\n return (\n <Button {...buttonProps} size=\"sm\" type={type} variant=\"primary\">\n {label}\n </Button>\n );\n};\n","import React, {\n type ChangeEvent,\n type CSSProperties,\n type FormEvent,\n forwardRef,\n type RefObject,\n} from \"react\";\nimport { IconSearch } from \"@purpur/icon/search\";\nimport { TextField, type TextFieldProps } from \"@purpur/text-field\";\nimport { type AutocompleteOption } from \"@purpur/use-autocomplete\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./search-field.module.scss\";\nimport { SearchFieldButton } from \"./search-field-button\";\n\nexport const searchFieldVariants = [\"button-attached\", \"no-button\"] as const;\n\ntype Variant = (typeof searchFieldVariants)[number];\n\ntype DefaultProps = {\n [\"data-testid\"]?: string;\n /**\n * An accessible label for the clear button.\n * */\n clearButtonAriaLabel: string;\n /**\n * Disables both the input field and submit button if `true`.\n * */\n disabled?: boolean;\n /**\n * Will display only a search icon in the search button if `true`.\n * */\n iconOnlySearchButton?: boolean;\n /**\n * Event handler called when the value of the search field changes.\n * */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Event handler called when the clear button is clicked.\n * */\n onClear: () => void;\n /**\n * Event handler called when the search is triggered.\n * */\n onSearch?: (event?: React.SyntheticEvent) => void;\n /**\n * Controls how the search field handles submission.\n * - `\"form\"` (default): Renders a `<form>` element and submits via form submission.\n * - `\"manual\"`: Renders a `<div>` instead of a `<form>` element.\n * Use this when the component is nested inside another form.\n * */\n submitBehavior?: \"form\" | \"manual\";\n /**\n * The label text (or `aria-label` if `iconOnlySearchButton` is `true`) of the search button.\n * */\n searchButtonLabel?: string;\n variant: Variant;\n formRef?: RefObject<HTMLFormElement>;\n};\n\ntype TextSearchButton = {\n iconOnlySearchButton?: false;\n searchButtonLabel: string;\n variant: \"button-attached\";\n};\n\ntype IconOnlySearchButton = {\n iconOnlySearchButton: true;\n searchButtonLabel: string;\n variant: \"button-attached\";\n};\n\ntype NoButton = {\n searchButtonLabel?: never;\n variant: \"no-button\";\n};\n\nexport type SearchFieldBaseProps = DefaultProps &\n (TextSearchButton | IconOnlySearchButton | NoButton) &\n Omit<TextFieldProps, \"startAdornment\" | \"endAdornment\" | \"afterField\" | \"onChange\" | \"variant\">;\n\ntype SearchFieldBaseInternalProps = SearchFieldBaseProps & {\n wrapperStyle?: CSSProperties;\n};\n\ntype SearchFieldAutocompleteSharedProps = {\n /**\n * Called when the user selects a suggestion.\n */\n onSelectSuggestion?: (option: AutocompleteOption) => void;\n /**\n * Open the suggestions listbox when the input receives focus.\n */\n openSuggestionsOnFocus?: boolean;\n /**\n * Maximum height of the suggestions listbox. A number is interpreted as px.\n */\n suggestionsMaxHeight?: string | number;\n};\n\ntype SearchFieldWithoutAutocomplete = SearchFieldAutocompleteSharedProps & {\n suggestions?: never;\n suggestionsLabel?: never;\n};\n\ntype SearchFieldWithAutocomplete = SearchFieldAutocompleteSharedProps & {\n /**\n * The list of suggestions to display in a listbox below the field.\n * No filtering is applied — pass the already-correct (pre-filtered) list.\n * If autocomplete should stay enabled while there are temporarily no matches,\n * pass an empty array instead of `undefined` or `null`. Changing this prop\n * from an absent value to an array switches between the regular and\n * autocomplete variants, which causes a re-render, drops input focus, and\n * hides the listbox.\n */\n suggestions: AutocompleteOption[];\n /**\n * Accessible label for the suggestions listbox.\n */\n suggestionsLabel: string;\n};\n\nexport type SearchFieldAutocompleteEnhancements =\n | SearchFieldWithoutAutocomplete\n | SearchFieldWithAutocomplete;\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-search-field\";\n\nexport const SearchFieldBase = forwardRef<HTMLInputElement, SearchFieldBaseInternalProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n clearButtonAriaLabel,\n disabled,\n submitBehavior = \"form\",\n iconOnlySearchButton,\n onClear,\n onSearch,\n searchButtonLabel,\n variant,\n formRef,\n wrapperStyle,\n ...props\n },\n ref\n ) => {\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const hasValue =\n typeof props.value === \"number\" ? props.value !== undefined : props.value?.length;\n const hasClearButton = hasValue && !disabled && !props.readOnly && !props.loading;\n const isManualSubmit = submitBehavior === \"manual\";\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--no-gap`]: variant === \"button-attached\",\n [`${rootClassName}--has-clear-button`]: hasClearButton,\n });\n\n const textFieldProps: TextFieldProps = {\n ref,\n className: classes,\n clearButtonAriaLabel,\n disabled,\n onClear,\n startAdornment: !iconOnlySearchButton ? (\n <IconSearch size=\"xs\" className={cx(`${rootClassName}__search-icon`)} key=\"1\" />\n ) : null,\n \"data-testid\": getTestId(\"text-field\"),\n type: \"search\" as const,\n ...props,\n };\n\n const searchButton =\n variant !== \"no-button\" ? (\n <SearchFieldButton\n type={isManualSubmit ? \"button\" : \"submit\"}\n onClick={isManualSubmit ? (event) => onSearch?.(event) : undefined}\n disabled={disabled}\n iconOnly={iconOnlySearchButton}\n label={searchButtonLabel}\n data-testid={getTestId(\"button\")}\n />\n ) : null;\n\n if (isManualSubmit) {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n props.onKeyDown?.(event);\n\n if (event.key === \"Enter\" && !event.defaultPrevented) {\n event.preventDefault();\n onSearch?.(event);\n }\n };\n\n return (\n <div\n className={cx(`${rootClassName}__wrapper`)}\n data-testid={dataTestId}\n style={wrapperStyle}\n >\n <TextField {...textFieldProps} onKeyDown={handleKeyDown} afterField={searchButton} />\n </div>\n );\n }\n\n return (\n <form\n ref={formRef}\n className={cx(`${rootClassName}__wrapper`)}\n data-testid={dataTestId}\n style={wrapperStyle}\n onSubmit={(e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n onSearch?.(e);\n }}\n >\n <TextField {...textFieldProps} afterField={searchButton} />\n </form>\n );\n }\n);\n\nSearchFieldBase.displayName = \"SearchFieldBase\";\n","import React, { forwardRef, useId } from \"react\";\nimport { Listbox } from \"@purpur/listbox\";\nimport { type AutocompleteOption, useAutocomplete } from \"@purpur/use-autocomplete\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./search-field.module.scss\";\nimport {\n type SearchFieldAutocompleteEnhancements,\n SearchFieldBase,\n type SearchFieldBaseProps,\n} from \"./search-field-base\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-search-field\";\n\nexport type SearchFieldAutocompleteProps = SearchFieldBaseProps &\n Extract<SearchFieldAutocompleteEnhancements, { suggestions: AutocompleteOption[] }>;\n\nexport const SearchFieldAutocomplete = forwardRef<HTMLInputElement, SearchFieldAutocompleteProps>(\n (\n {\n suggestions,\n suggestionsLabel,\n onSelectSuggestion,\n openSuggestionsOnFocus,\n suggestionsMaxHeight,\n ...searchFieldProps\n },\n ref\n ) => {\n const randomId = useId();\n const inputId = (searchFieldProps.id as string | undefined) ?? randomId;\n\n const autocomplete = useAutocomplete({\n id: inputId,\n options: suggestions,\n listboxLabel: suggestionsLabel,\n disabled: searchFieldProps.disabled,\n readOnly: searchFieldProps.readOnly,\n openOnFocus: openSuggestionsOnFocus,\n listboxMaxHeight: suggestionsMaxHeight,\n onSelect: onSelectSuggestion,\n [\"data-testid\"]: searchFieldProps[\"data-testid\"],\n });\n\n const setInputRef = (node: HTMLInputElement | null) => {\n (autocomplete.inputRef as React.MutableRefObject<HTMLInputElement | null>).current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLInputElement | null>).current = node;\n };\n\n const handleInputChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n searchFieldProps.onChange?.(event);\n if (!autocomplete.isOpen) {\n autocomplete.openListbox();\n }\n };\n\n return (\n <div\n ref={autocomplete.rootRef as React.RefObject<HTMLDivElement>}\n className={cx(`${rootClassName}__autocomplete-root`)}\n >\n <SearchFieldBase\n ref={setInputRef}\n {...searchFieldProps}\n onChange={handleInputChange}\n id={inputId}\n wrapperStyle={autocomplete.anchorStyle}\n {...autocomplete.inputProps}\n />\n {autocomplete.isOpen && (\n <Listbox {...autocomplete.listboxProps} className={cx(`${rootClassName}__listbox`)}>\n {suggestions.map((option, index) => {\n const { key, ...listboxItemProps } = autocomplete.getListboxItemProps(option, index);\n\n return (\n <Listbox.Item key={key} {...listboxItemProps}>\n {option.label}\n </Listbox.Item>\n );\n })}\n </Listbox>\n )}\n </div>\n );\n }\n);\n\nSearchFieldAutocomplete.displayName = \"SearchFieldAutocomplete\";\n","import React, { forwardRef } from \"react\";\n\nimport { SearchFieldAutocomplete } from \"./search-field-autocomplete\";\nimport {\n type SearchFieldAutocompleteEnhancements,\n SearchFieldBase,\n type SearchFieldBaseProps,\n searchFieldVariants,\n} from \"./search-field-base\";\n\nexport { searchFieldVariants };\n\nexport type SearchFieldProps = SearchFieldBaseProps & SearchFieldAutocompleteEnhancements;\n\nexport const SearchField = forwardRef<HTMLInputElement, SearchFieldProps>((props, ref) => {\n if (props.suggestions) {\n return <SearchFieldAutocomplete ref={ref} {...props} />;\n }\n\n return <SearchFieldBase ref={ref} {...props} />;\n});\n\nSearchField.displayName = \"SearchField\";\n\nexport {\n SearchFieldAutocomplete,\n type SearchFieldAutocompleteProps,\n} from \"./search-field-autocomplete\";\n"],"names":["cx","c","styles","rootClassName","SearchFieldButton","dataTestid","disabled","iconOnly","label","type","onClick","buttonProps","Button","IconSearch","jsx","searchFieldVariants","SearchFieldBase","forwardRef","dataTestId","className","clearButtonAriaLabel","submitBehavior","iconOnlySearchButton","onClear","onSearch","searchButtonLabel","variant","formRef","wrapperStyle","props","ref","getTestId","name","hasClearButton","isManualSubmit","classes","textFieldProps","searchButton","event","handleKeyDown","TextField","e","SearchFieldAutocomplete","suggestions","suggestionsLabel","onSelectSuggestion","openSuggestionsOnFocus","suggestionsMaxHeight","searchFieldProps","randomId","useId","inputId","autocomplete","useAutocomplete","setInputRef","node","handleInputChange","jsxs","Listbox","option","index","key","listboxItemProps","SearchField"],"mappings":"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"}
1
+ {"version":3,"file":"search-field-BMC3WG2H.mjs","sources":["../../../components/search-field/src/search-field-button.tsx","../../../components/search-field/src/search-field-base.tsx","../../../components/search-field/src/search-field-autocomplete.tsx","../../../components/search-field/src/search-field.tsx"],"sourcesContent":["import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconSearch } from \"@purpur/icon/search\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./search-field-button.module.scss\";\n\ntype Props = {\n [\"data-testid\"]?: string;\n disabled?: boolean;\n iconOnly?: boolean;\n label: string;\n type?: \"submit\" | \"button\";\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-search-field-button\";\n\nexport const SearchFieldButton = ({\n [\"data-testid\"]: dataTestid,\n disabled,\n iconOnly,\n label,\n type = \"submit\",\n onClick,\n}: Props) => {\n const buttonProps = {\n className: cx(rootClassName, {\n [`${rootClassName}--icon-only`]: iconOnly,\n }),\n disabled,\n [\"data-testid\"]: dataTestid,\n onClick,\n };\n\n if (iconOnly) {\n return (\n <Button {...buttonProps} aria-label={label} iconOnly size=\"sm\" type={type} variant=\"primary\">\n <IconSearch size=\"xs\" />\n </Button>\n );\n }\n\n return (\n <Button {...buttonProps} size=\"sm\" type={type} variant=\"primary\">\n {label}\n </Button>\n );\n};\n","import React, {\n type ChangeEvent,\n type CSSProperties,\n type FormEvent,\n forwardRef,\n type RefObject,\n} from \"react\";\nimport { IconSearch } from \"@purpur/icon/search\";\nimport { TextField, type TextFieldProps } from \"@purpur/text-field\";\nimport { type AutocompleteOption } from \"@purpur/use-autocomplete\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./search-field.module.scss\";\nimport { SearchFieldButton } from \"./search-field-button\";\n\nexport const searchFieldVariants = [\"button-attached\", \"no-button\"] as const;\n\ntype Variant = (typeof searchFieldVariants)[number];\n\ntype DefaultProps = {\n [\"data-testid\"]?: string;\n /**\n * An accessible label for the clear button.\n * */\n clearButtonAriaLabel: string;\n /**\n * Disables both the input field and submit button if `true`.\n * */\n disabled?: boolean;\n /**\n * Will display only a search icon in the search button if `true`.\n * */\n iconOnlySearchButton?: boolean;\n /**\n * Event handler called when the value of the search field changes.\n * */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Event handler called when the clear button is clicked.\n * */\n onClear: () => void;\n /**\n * Event handler called when the search is triggered.\n * */\n onSearch?: (event?: React.SyntheticEvent) => void;\n /**\n * Controls how the search field handles submission.\n * - `\"form\"` (default): Renders a `<form>` element and submits via form submission.\n * - `\"manual\"`: Renders a `<div>` instead of a `<form>` element.\n * Use this when the component is nested inside another form.\n * */\n submitBehavior?: \"form\" | \"manual\";\n /**\n * The label text (or `aria-label` if `iconOnlySearchButton` is `true`) of the search button.\n * */\n searchButtonLabel?: string;\n variant: Variant;\n formRef?: RefObject<HTMLFormElement>;\n};\n\ntype TextSearchButton = {\n iconOnlySearchButton?: false;\n searchButtonLabel: string;\n variant: \"button-attached\";\n};\n\ntype IconOnlySearchButton = {\n iconOnlySearchButton: true;\n searchButtonLabel: string;\n variant: \"button-attached\";\n};\n\ntype NoButton = {\n searchButtonLabel?: never;\n variant: \"no-button\";\n};\n\nexport type SearchFieldBaseProps = DefaultProps &\n (TextSearchButton | IconOnlySearchButton | NoButton) &\n Omit<TextFieldProps, \"startAdornment\" | \"endAdornment\" | \"afterField\" | \"onChange\" | \"variant\">;\n\ntype SearchFieldBaseInternalProps = SearchFieldBaseProps & {\n wrapperStyle?: CSSProperties;\n};\n\ntype SearchFieldAutocompleteSharedProps = {\n /**\n * Called when the user selects a suggestion.\n */\n onSelectSuggestion?: (option: AutocompleteOption) => void;\n /**\n * Open the suggestions listbox when the input receives focus.\n */\n openSuggestionsOnFocus?: boolean;\n /**\n * Maximum height of the suggestions listbox. A number is interpreted as px.\n */\n suggestionsMaxHeight?: string | number;\n};\n\ntype SearchFieldWithoutAutocomplete = SearchFieldAutocompleteSharedProps & {\n suggestions?: never;\n suggestionsLabel?: never;\n};\n\ntype SearchFieldWithAutocomplete = SearchFieldAutocompleteSharedProps & {\n /**\n * The list of suggestions to display in a listbox below the field.\n * No filtering is applied — pass the already-correct (pre-filtered) list.\n * If autocomplete should stay enabled while there are temporarily no matches,\n * pass an empty array instead of `undefined` or `null`. Changing this prop\n * from an absent value to an array switches between the regular and\n * autocomplete variants, which causes a re-render, drops input focus, and\n * hides the listbox.\n */\n suggestions: AutocompleteOption[];\n /**\n * Accessible label for the suggestions listbox.\n */\n suggestionsLabel: string;\n};\n\nexport type SearchFieldAutocompleteEnhancements =\n | SearchFieldWithoutAutocomplete\n | SearchFieldWithAutocomplete;\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-search-field\";\n\nexport const SearchFieldBase = forwardRef<HTMLInputElement, SearchFieldBaseInternalProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n clearButtonAriaLabel,\n disabled,\n submitBehavior = \"form\",\n iconOnlySearchButton,\n onClear,\n onSearch,\n searchButtonLabel,\n variant,\n formRef,\n wrapperStyle,\n ...props\n },\n ref\n ) => {\n const getTestId = (name: string) => (dataTestId ? `${dataTestId}-${name}` : undefined);\n const hasValue =\n typeof props.value === \"number\" ? props.value !== undefined : props.value?.length;\n const hasClearButton = hasValue && !disabled && !props.readOnly && !props.loading;\n const isManualSubmit = submitBehavior === \"manual\";\n\n const classes = cx(className, rootClassName, {\n [`${rootClassName}--no-gap`]: variant === \"button-attached\",\n [`${rootClassName}--has-clear-button`]: hasClearButton,\n });\n\n const textFieldProps: TextFieldProps = {\n ref,\n className: classes,\n clearButtonAriaLabel,\n disabled,\n onClear,\n startAdornment: !iconOnlySearchButton ? (\n <IconSearch size=\"xs\" className={cx(`${rootClassName}__search-icon`)} key=\"1\" />\n ) : null,\n \"data-testid\": getTestId(\"text-field\"),\n type: \"search\" as const,\n ...props,\n };\n\n const searchButton =\n variant !== \"no-button\" ? (\n <SearchFieldButton\n type={isManualSubmit ? \"button\" : \"submit\"}\n onClick={isManualSubmit ? (event) => onSearch?.(event) : undefined}\n disabled={disabled}\n iconOnly={iconOnlySearchButton}\n label={searchButtonLabel}\n data-testid={getTestId(\"button\")}\n />\n ) : null;\n\n if (isManualSubmit) {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n props.onKeyDown?.(event);\n\n if (event.key === \"Enter\" && !event.defaultPrevented) {\n event.preventDefault();\n onSearch?.(event);\n }\n };\n\n return (\n <div\n className={cx(`${rootClassName}__wrapper`)}\n data-testid={dataTestId}\n style={wrapperStyle}\n >\n <TextField {...textFieldProps} onKeyDown={handleKeyDown} afterField={searchButton} />\n </div>\n );\n }\n\n return (\n <form\n ref={formRef}\n className={cx(`${rootClassName}__wrapper`)}\n data-testid={dataTestId}\n style={wrapperStyle}\n onSubmit={(e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n onSearch?.(e);\n }}\n >\n <TextField {...textFieldProps} afterField={searchButton} />\n </form>\n );\n }\n);\n\nSearchFieldBase.displayName = \"SearchFieldBase\";\n","import React, { forwardRef, useId } from \"react\";\nimport { Listbox } from \"@purpur/listbox\";\nimport { type AutocompleteOption, useAutocomplete } from \"@purpur/use-autocomplete\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./search-field.module.scss\";\nimport {\n type SearchFieldAutocompleteEnhancements,\n SearchFieldBase,\n type SearchFieldBaseProps,\n} from \"./search-field-base\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-search-field\";\n\nexport type SearchFieldAutocompleteProps = SearchFieldBaseProps &\n Extract<SearchFieldAutocompleteEnhancements, { suggestions: AutocompleteOption[] }>;\n\nexport const SearchFieldAutocomplete = forwardRef<HTMLInputElement, SearchFieldAutocompleteProps>(\n (\n {\n suggestions,\n suggestionsLabel,\n onSelectSuggestion,\n openSuggestionsOnFocus,\n suggestionsMaxHeight,\n ...searchFieldProps\n },\n ref\n ) => {\n const randomId = useId();\n const inputId = (searchFieldProps.id as string | undefined) ?? randomId;\n\n const autocomplete = useAutocomplete({\n id: inputId,\n options: suggestions,\n listboxLabel: suggestionsLabel,\n disabled: searchFieldProps.disabled,\n readOnly: searchFieldProps.readOnly,\n openOnFocus: openSuggestionsOnFocus,\n listboxMaxHeight: suggestionsMaxHeight,\n onSelect: onSelectSuggestion,\n [\"data-testid\"]: searchFieldProps[\"data-testid\"],\n });\n\n const setInputRef = (node: HTMLInputElement | null) => {\n (autocomplete.inputRef as React.MutableRefObject<HTMLInputElement | null>).current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLInputElement | null>).current = node;\n };\n\n const handleInputChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n searchFieldProps.onChange?.(event);\n if (!autocomplete.isOpen) {\n autocomplete.openListbox();\n }\n };\n\n return (\n <div\n ref={autocomplete.rootRef as React.RefObject<HTMLDivElement>}\n className={cx(`${rootClassName}__autocomplete-root`)}\n >\n <SearchFieldBase\n ref={setInputRef}\n {...searchFieldProps}\n onChange={handleInputChange}\n id={inputId}\n wrapperStyle={autocomplete.anchorStyle}\n {...autocomplete.inputProps}\n />\n {autocomplete.isOpen && (\n <Listbox {...autocomplete.listboxProps} className={cx(`${rootClassName}__listbox`)}>\n {suggestions.map((option, index) => {\n const { key, ...listboxItemProps } = autocomplete.getListboxItemProps(option, index);\n\n return (\n <Listbox.Item key={key} {...listboxItemProps}>\n {option.label}\n </Listbox.Item>\n );\n })}\n </Listbox>\n )}\n </div>\n );\n }\n);\n\nSearchFieldAutocomplete.displayName = \"SearchFieldAutocomplete\";\n","import React, { forwardRef } from \"react\";\n\nimport { SearchFieldAutocomplete } from \"./search-field-autocomplete\";\nimport {\n type SearchFieldAutocompleteEnhancements,\n SearchFieldBase,\n type SearchFieldBaseProps,\n searchFieldVariants,\n} from \"./search-field-base\";\n\nexport { searchFieldVariants };\n\nexport type SearchFieldProps = SearchFieldBaseProps & SearchFieldAutocompleteEnhancements;\n\nexport const SearchField = forwardRef<HTMLInputElement, SearchFieldProps>((props, ref) => {\n if (props.suggestions) {\n return <SearchFieldAutocomplete ref={ref} {...props} />;\n }\n\n return <SearchFieldBase ref={ref} {...props} />;\n});\n\nSearchField.displayName = \"SearchField\";\n\nexport {\n SearchFieldAutocomplete,\n type SearchFieldAutocompleteProps,\n} from \"./search-field-autocomplete\";\n"],"names":["cx","c","styles","rootClassName","SearchFieldButton","dataTestid","disabled","iconOnly","label","type","onClick","buttonProps","Button","IconSearch","jsx","searchFieldVariants","SearchFieldBase","forwardRef","dataTestId","className","clearButtonAriaLabel","submitBehavior","iconOnlySearchButton","onClear","onSearch","searchButtonLabel","variant","formRef","wrapperStyle","props","ref","getTestId","name","hasClearButton","isManualSubmit","classes","textFieldProps","searchButton","event","handleKeyDown","TextField","e","SearchFieldAutocomplete","suggestions","suggestionsLabel","onSelectSuggestion","openSuggestionsOnFocus","suggestionsMaxHeight","searchFieldProps","randomId","useId","inputId","autocomplete","useAutocomplete","setInputRef","node","handleInputChange","jsxs","Listbox","option","index","key","listboxItemProps","SearchField"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react/jsx-runtime"),x=require("react"),v=require("./listbox-ATP4hOWF.js"),k=require("./use-autocomplete.es-BwAzMcau.js"),$=require("./bind-DeUYJ6m9.js"),A=require("./search.es-Cg2amJSR.js"),C=require("./text-field-C2W13n15.js"),R=require("./button-DmybVApa.js"),D={"purpur-search-field":"_purpur-search-field_1wc77_1","purpur-search-field--has-clear-button":"_purpur-search-field--has-clear-button_1wc77_4","purpur-search-field--no-gap":"_purpur-search-field--no-gap_1wc77_13","purpur-search-field__wrapper":"_purpur-search-field__wrapper_1wc77_17","purpur-search-field__wrapper--gap":"_purpur-search-field__wrapper--gap_1wc77_20","purpur-search-field__search-icon":"_purpur-search-field__search-icon_1wc77_24","purpur-search-field__close-icon":"_purpur-search-field__close-icon_1wc77_24","purpur-search-field__autocomplete-root":"_purpur-search-field__autocomplete-root_1wc77_27","purpur-search-field__listbox":"_purpur-search-field__listbox_1wc77_31"},K={"purpur-search-field-button":"_purpur-search-field-button_c16yo_1","purpur-search-field-button--icon-only":"_purpur-search-field-button--icon-only_c16yo_1"},M=$.c.bind(K),B="purpur-search-field-button",P=({["data-testid"]:r,disabled:c,iconOnly:u,label:n,type:l="submit",onClick:a})=>{const o={className:M(B,{[`${B}--icon-only`]:u}),disabled:c,"data-testid":r,onClick:a};return u?t.jsx(R.Button,{...o,"aria-label":n,iconOnly:!0,size:"sm",type:l,variant:"primary",children:t.jsx(A.s,{size:"xs"})}):t.jsx(R.Button,{...o,size:"sm",type:l,variant:"primary",children:n})},E=["button-attached","no-button"],m=$.c.bind(D),d="purpur-search-field",g=x.forwardRef(({["data-testid"]:r,className:c,clearButtonAriaLabel:u,disabled:n,submitBehavior:l="form",iconOnlySearchButton:a,onClear:o,onSearch:p,searchButtonLabel:h,variant:s,formRef:y,wrapperStyle:f,...e},w)=>{const b=i=>r?`${r}-${i}`:void 0,z=(typeof e.value=="number"?e.value!==void 0:e.value?.length)&&!n&&!e.readOnly&&!e.loading,j=l==="manual",V=m(c,d,{[`${d}--no-gap`]:s==="button-attached",[`${d}--has-clear-button`]:z}),S={ref:w,className:V,clearButtonAriaLabel:u,disabled:n,onClear:o,startAdornment:a?null:t.jsx(A.s,{size:"xs",className:m(`${d}__search-icon`)},"1"),"data-testid":b("text-field"),type:"search",...e},q=s!=="no-button"?t.jsx(P,{type:j?"button":"submit",onClick:j?i=>p?.(i):void 0,disabled:n,iconOnly:a,label:h,"data-testid":b("button")}):null;if(j){const i=_=>{e.onKeyDown?.(_),_.key==="Enter"&&!_.defaultPrevented&&(_.preventDefault(),p?.(_))};return t.jsx("div",{className:m(`${d}__wrapper`),"data-testid":r,style:f,children:t.jsx(C.TextField,{...S,onKeyDown:i,afterField:q})})}return t.jsx("form",{ref:y,className:m(`${d}__wrapper`),"data-testid":r,style:f,onSubmit:i=>{i.preventDefault(),p?.(i)},children:t.jsx(C.TextField,{...S,afterField:q})})});g.displayName="SearchFieldBase";const I=$.c.bind(D),O="purpur-search-field",F=x.forwardRef(({suggestions:r,suggestionsLabel:c,onSelectSuggestion:u,openSuggestionsOnFocus:n,suggestionsMaxHeight:l,...a},o)=>{const p=x.useId(),h=a.id??p,s=k.te({id:h,options:r,listboxLabel:c,disabled:a.disabled,readOnly:a.readOnly,openOnFocus:n,listboxMaxHeight:l,onSelect:u,"data-testid":a["data-testid"]}),y=e=>{s.inputRef.current=e,typeof o=="function"?o(e):o&&(o.current=e)},f=e=>{a.onChange?.(e),s.isOpen||s.openListbox()};return t.jsxs("div",{ref:s.rootRef,className:I(`${O}__autocomplete-root`),children:[t.jsx(g,{ref:y,...a,onChange:f,id:h,wrapperStyle:s.anchorStyle,...s.inputProps}),s.isOpen&&t.jsx(v.Listbox,{...s.listboxProps,className:I(`${O}__listbox`),children:r.map((e,w)=>{const{key:b,...N}=s.getListboxItemProps(e,w);return t.jsx(v.Listbox.Item,{...N,children:e.label},b)})})]})});F.displayName="SearchFieldAutocomplete";const L=x.forwardRef((r,c)=>r.suggestions?t.jsx(F,{ref:c,...r}):t.jsx(g,{ref:c,...r}));L.displayName="SearchField";exports.SearchField=L;exports.SearchFieldAutocomplete=F;exports.searchFieldVariants=E;
2
- //# sourceMappingURL=search-field-vh6uz5KV.js.map
1
+ "use strict";const t=require("react/jsx-runtime"),x=require("react"),v=require("./listbox-lXO21cJV.js"),k=require("./use-autocomplete.es-BwAzMcau.js"),$=require("./bind-DeUYJ6m9.js"),A=require("./search.es-Cg2amJSR.js"),C=require("./text-field-CthxpKsp.js"),R=require("./button-DmybVApa.js"),D={"purpur-search-field":"_purpur-search-field_1wc77_1","purpur-search-field--has-clear-button":"_purpur-search-field--has-clear-button_1wc77_4","purpur-search-field--no-gap":"_purpur-search-field--no-gap_1wc77_13","purpur-search-field__wrapper":"_purpur-search-field__wrapper_1wc77_17","purpur-search-field__wrapper--gap":"_purpur-search-field__wrapper--gap_1wc77_20","purpur-search-field__search-icon":"_purpur-search-field__search-icon_1wc77_24","purpur-search-field__close-icon":"_purpur-search-field__close-icon_1wc77_24","purpur-search-field__autocomplete-root":"_purpur-search-field__autocomplete-root_1wc77_27","purpur-search-field__listbox":"_purpur-search-field__listbox_1wc77_31"},K={"purpur-search-field-button":"_purpur-search-field-button_c16yo_1","purpur-search-field-button--icon-only":"_purpur-search-field-button--icon-only_c16yo_1"},M=$.c.bind(K),B="purpur-search-field-button",P=({["data-testid"]:r,disabled:c,iconOnly:u,label:n,type:l="submit",onClick:a})=>{const o={className:M(B,{[`${B}--icon-only`]:u}),disabled:c,"data-testid":r,onClick:a};return u?t.jsx(R.Button,{...o,"aria-label":n,iconOnly:!0,size:"sm",type:l,variant:"primary",children:t.jsx(A.s,{size:"xs"})}):t.jsx(R.Button,{...o,size:"sm",type:l,variant:"primary",children:n})},E=["button-attached","no-button"],m=$.c.bind(D),d="purpur-search-field",g=x.forwardRef(({["data-testid"]:r,className:c,clearButtonAriaLabel:u,disabled:n,submitBehavior:l="form",iconOnlySearchButton:a,onClear:o,onSearch:p,searchButtonLabel:h,variant:s,formRef:y,wrapperStyle:f,...e},w)=>{const b=i=>r?`${r}-${i}`:void 0,z=(typeof e.value=="number"?e.value!==void 0:e.value?.length)&&!n&&!e.readOnly&&!e.loading,j=l==="manual",V=m(c,d,{[`${d}--no-gap`]:s==="button-attached",[`${d}--has-clear-button`]:z}),S={ref:w,className:V,clearButtonAriaLabel:u,disabled:n,onClear:o,startAdornment:a?null:t.jsx(A.s,{size:"xs",className:m(`${d}__search-icon`)},"1"),"data-testid":b("text-field"),type:"search",...e},q=s!=="no-button"?t.jsx(P,{type:j?"button":"submit",onClick:j?i=>p?.(i):void 0,disabled:n,iconOnly:a,label:h,"data-testid":b("button")}):null;if(j){const i=_=>{e.onKeyDown?.(_),_.key==="Enter"&&!_.defaultPrevented&&(_.preventDefault(),p?.(_))};return t.jsx("div",{className:m(`${d}__wrapper`),"data-testid":r,style:f,children:t.jsx(C.TextField,{...S,onKeyDown:i,afterField:q})})}return t.jsx("form",{ref:y,className:m(`${d}__wrapper`),"data-testid":r,style:f,onSubmit:i=>{i.preventDefault(),p?.(i)},children:t.jsx(C.TextField,{...S,afterField:q})})});g.displayName="SearchFieldBase";const I=$.c.bind(D),O="purpur-search-field",F=x.forwardRef(({suggestions:r,suggestionsLabel:c,onSelectSuggestion:u,openSuggestionsOnFocus:n,suggestionsMaxHeight:l,...a},o)=>{const p=x.useId(),h=a.id??p,s=k.te({id:h,options:r,listboxLabel:c,disabled:a.disabled,readOnly:a.readOnly,openOnFocus:n,listboxMaxHeight:l,onSelect:u,"data-testid":a["data-testid"]}),y=e=>{s.inputRef.current=e,typeof o=="function"?o(e):o&&(o.current=e)},f=e=>{a.onChange?.(e),s.isOpen||s.openListbox()};return t.jsxs("div",{ref:s.rootRef,className:I(`${O}__autocomplete-root`),children:[t.jsx(g,{ref:y,...a,onChange:f,id:h,wrapperStyle:s.anchorStyle,...s.inputProps}),s.isOpen&&t.jsx(v.Listbox,{...s.listboxProps,className:I(`${O}__listbox`),children:r.map((e,w)=>{const{key:b,...N}=s.getListboxItemProps(e,w);return t.jsx(v.Listbox.Item,{...N,children:e.label},b)})})]})});F.displayName="SearchFieldAutocomplete";const L=x.forwardRef((r,c)=>r.suggestions?t.jsx(F,{ref:c,...r}):t.jsx(g,{ref:c,...r}));L.displayName="SearchField";exports.SearchField=L;exports.SearchFieldAutocomplete=F;exports.searchFieldVariants=E;
2
+ //# sourceMappingURL=search-field-b1_QCs3U.js.map