@purpur/library 10.1.0 → 10.2.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 (294) hide show
  1. package/CHANGELOG.json +57 -0
  2. package/CHANGELOG.md +26 -1
  3. package/dist/LICENSE.txt +14 -7
  4. package/dist/{RichText-B865Qkzj.js → RichText-CeYecUFV.js} +2 -2
  5. package/dist/{RichText-B865Qkzj.js.map → RichText-CeYecUFV.js.map} +1 -1
  6. package/dist/{RichText-CPkBwXNI.mjs → RichText-CwQfDo_S.mjs} +2 -2
  7. package/dist/{RichText-CPkBwXNI.mjs.map → RichText-CwQfDo_S.mjs.map} +1 -1
  8. package/dist/{ThemeProvider-BJGm3zai.js → ThemeProvider-BGep6X_i.js} +2 -2
  9. package/dist/{ThemeProvider-BJGm3zai.js.map → ThemeProvider-BGep6X_i.js.map} +1 -1
  10. package/dist/{ThemeProvider-BJ25_asg.mjs → ThemeProvider-BrAZhasG.mjs} +13 -13
  11. package/dist/{ThemeProvider-BJ25_asg.mjs.map → ThemeProvider-BrAZhasG.mjs.map} +1 -1
  12. package/dist/components/accordion/src/accordion-item.d.ts +3 -3
  13. package/dist/components/accordion/src/accordion.d.ts +1 -1
  14. package/dist/components/alert-badge/src/alert-badge.d.ts +1 -1
  15. package/dist/components/avatar/src/avatar.d.ts +1 -1
  16. package/dist/components/breadcrumbs/src/breadcrumbs.d.ts +1 -1
  17. package/dist/components/card/src/card-badge.d.ts +1 -1
  18. package/dist/components/card/src/card-content.d.ts +2 -2
  19. package/dist/components/card/src/card-cta.d.ts +2 -2
  20. package/dist/components/card/src/card-media-layout.d.ts +1 -1
  21. package/dist/components/card/src/card-root.d.ts +2 -2
  22. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
  23. package/dist/components/container/src/container.d.ts +2 -2
  24. package/dist/components/container/src/container.visual.fixtures.d.ts +14 -0
  25. package/dist/components/container/src/container.visual.fixtures.d.ts.map +1 -0
  26. package/dist/components/content-block/src/content-block-group.d.ts +2 -2
  27. package/dist/components/content-block/src/content-block.d.ts +2 -2
  28. package/dist/components/countdown/src/countdown.d.ts +1 -1
  29. package/dist/components/countdown/src/countdown.d.ts.map +1 -1
  30. package/dist/components/countdown/src/countdown.types.d.ts +19 -3
  31. package/dist/components/countdown/src/countdown.types.d.ts.map +1 -1
  32. package/dist/components/counter-badge/src/counter-badge.d.ts +1 -1
  33. package/dist/components/cta-link/src/cta-link.d.ts +10 -10
  34. package/dist/components/date-field/src/date-field.d.ts +14 -6
  35. package/dist/components/date-field/src/date-field.d.ts.map +1 -1
  36. package/dist/components/date-field/src/utils.d.ts +40 -2
  37. package/dist/components/date-field/src/utils.d.ts.map +1 -1
  38. package/dist/components/date-picker/src/date-picker.d.ts +4 -4
  39. package/dist/components/date-range-field/src/date-range-field.d.ts +4 -2
  40. package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
  41. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +2 -2
  42. package/dist/components/drawer/src/drawer-container.d.ts +2 -2
  43. package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
  44. package/dist/components/drawer/src/drawer-trigger.d.ts +2 -2
  45. package/dist/components/drawer/src/drawer.d.ts +1 -1
  46. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  47. package/dist/components/dropdown/src/dropdown-shared.d.ts +3 -1
  48. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  49. package/dist/components/dropdown/src/dropdown.types.d.ts +3 -0
  50. package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
  51. package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
  52. package/dist/components/file-upload/src/file-upload-types.d.ts +1 -1
  53. package/dist/components/footer/src/footer-navigation.d.ts +2 -2
  54. package/dist/components/footer/src/footer-social-link.d.ts +3 -3
  55. package/dist/components/footer/src/footer.d.ts +1 -1
  56. package/dist/components/grid/src/grid.d.ts +1 -1
  57. package/dist/components/grid/src/grid.item.d.ts +1 -1
  58. package/dist/components/heading/src/heading.d.ts +1 -1
  59. package/dist/components/label/src/label.d.ts +1 -1
  60. package/dist/components/link/src/link.d.ts +1 -1
  61. package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
  62. package/dist/components/logo/src/logo.types.d.ts +1 -1
  63. package/dist/components/modal/src/modal-content.d.ts +2 -2
  64. package/dist/components/modal/src/modal-trigger.d.ts +2 -2
  65. package/dist/components/notification/src/notification.d.ts +2 -2
  66. package/dist/components/pagination/src/pagination-page-selector.d.ts +1 -1
  67. package/dist/components/pagination/src/pagination-page-size-selector.d.ts +2 -2
  68. package/dist/components/pagination/src/pagination-pages.d.ts +1 -1
  69. package/dist/components/pagination/src/pagination-step-trigger.d.ts +1 -1
  70. package/dist/components/pagination/src/use-page-size-options.hook.d.ts +2 -2
  71. package/dist/components/password-field/src/password-field.d.ts +1 -1
  72. package/dist/components/password-field/src/password-strength-indicator.d.ts +2 -2
  73. package/dist/components/popover/src/popover-button.d.ts +2 -2
  74. package/dist/components/radio-card-group/src/radio-card-group.d.ts +2 -2
  75. package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
  76. package/dist/components/search-field/src/search-field-autocomplete.d.ts +7 -4
  77. package/dist/components/search-field/src/search-field-autocomplete.d.ts.map +1 -1
  78. package/dist/components/search-field/src/search-field-base.d.ts +4 -2
  79. package/dist/components/search-field/src/search-field-base.d.ts.map +1 -1
  80. package/dist/components/search-field/src/search-field.d.ts +6 -0
  81. package/dist/components/search-field/src/search-field.d.ts.map +1 -1
  82. package/dist/components/select/src/select.d.ts +2 -2
  83. package/dist/components/spacer/src/spacer.d.ts +1 -1
  84. package/dist/components/spinner/src/spinner.d.ts +1 -1
  85. package/dist/components/stepper/src/stepper-container.d.ts +1 -1
  86. package/dist/components/stepper/src/stepper-link.d.ts +1 -1
  87. package/dist/components/table/src/story-utils/table-data.d.ts +4 -4
  88. package/dist/components/table/src/test-utils/table-data.d.ts +3 -3
  89. package/dist/components/table/src/types.d.ts +3 -3
  90. package/dist/components/tabs/src/tab-content.d.ts +1 -1
  91. package/dist/components/text-area/src/text-area.d.ts +1 -1
  92. package/dist/components/text-spacing/src/text-spacing.d.ts +1 -1
  93. package/dist/components/toggle/src/toggle.d.ts +1 -1
  94. package/dist/components/tooltip/src/tooltip.d.ts +3 -3
  95. package/dist/components-metadata.js +1 -0
  96. package/dist/countdown-CdGFNLZq.js +2 -0
  97. package/dist/countdown-CdGFNLZq.js.map +1 -0
  98. package/dist/countdown-G7eg3CZj.mjs +188 -0
  99. package/dist/countdown-G7eg3CZj.mjs.map +1 -0
  100. package/dist/countdown.cjs.js +1 -1
  101. package/dist/countdown.es.js +1 -1
  102. package/dist/country-flag-icon/LICENSE.txt +0 -11
  103. package/dist/date-field-D8yGH1mw.js +2 -0
  104. package/dist/{date-field-CtpWDaSh.js.map → date-field-D8yGH1mw.js.map} +1 -1
  105. package/dist/{date-field-_rCuf15v.mjs → date-field-DVMPYoLT.mjs} +361 -311
  106. package/dist/{date-field-_rCuf15v.mjs.map → date-field-DVMPYoLT.mjs.map} +1 -1
  107. package/dist/date-field.cjs.js +1 -1
  108. package/dist/date-field.es.js +1 -1
  109. package/dist/{date-picker-sqcNAplg.mjs → date-picker-Ban9DLsx.mjs} +6 -6
  110. package/dist/{date-picker-sqcNAplg.mjs.map → date-picker-Ban9DLsx.mjs.map} +1 -1
  111. package/dist/{date-picker-BYlszX1W.js → date-picker-re3cPV_Z.js} +2 -2
  112. package/dist/{date-picker-BYlszX1W.js.map → date-picker-re3cPV_Z.js.map} +1 -1
  113. package/dist/date-picker.cjs.js +1 -1
  114. package/dist/date-picker.es.js +1 -1
  115. package/dist/date-range-field-8JmPw-Ei.js +2 -0
  116. package/dist/date-range-field-8JmPw-Ei.js.map +1 -0
  117. package/dist/{date-range-field-BmjQeiOv.mjs → date-range-field-dmJO66U_.mjs} +64 -61
  118. package/dist/date-range-field-dmJO66U_.mjs.map +1 -0
  119. package/dist/date-range-field.cjs.js +1 -1
  120. package/dist/date-range-field.es.js +1 -1
  121. package/dist/dismissable-chip-group-CVo3CS8K.js +2 -0
  122. package/dist/dismissable-chip-group-CVo3CS8K.js.map +1 -0
  123. package/dist/dismissable-chip-group-Dov2-9Fe.mjs +95 -0
  124. package/dist/dismissable-chip-group-Dov2-9Fe.mjs.map +1 -0
  125. package/dist/dismissable-chip-group.cjs.js +1 -1
  126. package/dist/dismissable-chip-group.es.js +1 -1
  127. package/dist/{drawer-oFJcxW58.js → drawer-CSagTJjN.js} +2 -2
  128. package/dist/{drawer-oFJcxW58.js.map → drawer-CSagTJjN.js.map} +1 -1
  129. package/dist/{drawer-Chx3H8EU.mjs → drawer-Cw-Y9XH9.mjs} +3 -3
  130. package/dist/{drawer-Chx3H8EU.mjs.map → drawer-Cw-Y9XH9.mjs.map} +1 -1
  131. package/dist/drawer.cjs.js +1 -1
  132. package/dist/drawer.es.js +1 -1
  133. package/dist/dropdown-BAM4nQhd.mjs +955 -0
  134. package/dist/dropdown-BAM4nQhd.mjs.map +1 -0
  135. package/dist/dropdown-Cr8DVw2T.js +2 -0
  136. package/dist/dropdown-Cr8DVw2T.js.map +1 -0
  137. package/dist/dropdown.cjs.js +1 -1
  138. package/dist/dropdown.es.js +1 -1
  139. package/dist/{file-upload-MvNuX4ks.js → file-upload-CdlYkCg8.js} +2 -2
  140. package/dist/{file-upload-MvNuX4ks.js.map → file-upload-CdlYkCg8.js.map} +1 -1
  141. package/dist/{file-upload-Ctw6LCTU.mjs → file-upload-ih5NqF67.mjs} +2 -2
  142. package/dist/{file-upload-Ctw6LCTU.mjs.map → file-upload-ih5NqF67.mjs.map} +1 -1
  143. package/dist/file-upload.cjs.js +1 -1
  144. package/dist/file-upload.es.js +1 -1
  145. package/dist/{footer-DkVmTd-f.mjs → footer-CVVt8hUE.mjs} +3 -3
  146. package/dist/{footer-DkVmTd-f.mjs.map → footer-CVVt8hUE.mjs.map} +1 -1
  147. package/dist/{footer-Bbemct3Z.js → footer-Cat9-v7l.js} +2 -2
  148. package/dist/{footer-Bbemct3Z.js.map → footer-Cat9-v7l.js.map} +1 -1
  149. package/dist/footer.cjs.js +1 -1
  150. package/dist/footer.es.js +1 -1
  151. package/dist/{hero-banner-Mag1OwL4.js → hero-banner-BNw3eNTs.js} +2 -2
  152. package/dist/{hero-banner-Mag1OwL4.js.map → hero-banner-BNw3eNTs.js.map} +1 -1
  153. package/dist/{hero-banner-ChDoFRhq.mjs → hero-banner-MnKuFSku.mjs} +2 -2
  154. package/dist/{hero-banner-ChDoFRhq.mjs.map → hero-banner-MnKuFSku.mjs.map} +1 -1
  155. package/dist/hero-banner.cjs.js +1 -1
  156. package/dist/hero-banner.es.js +1 -1
  157. package/dist/libraries/library/src/container.d.ts +1 -1
  158. package/dist/libraries/library/src/content-block.d.ts +1 -1
  159. package/dist/libraries/library/src/quantity-selector.d.ts +2 -2
  160. package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
  161. package/dist/libraries/theme/src/theme-props.d.ts +1 -0
  162. package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
  163. package/dist/libraries/tokens/dist/color/variables.d.ts +1 -0
  164. package/dist/libraries/tokens/dist/color/variables.dark.d.ts +1 -0
  165. package/dist/library.cjs.js +1 -1
  166. package/dist/library.es.js +293 -292
  167. package/dist/{modal-CXOYUsJm.js → modal-BSN-wIcN.js} +2 -2
  168. package/dist/{modal-CXOYUsJm.js.map → modal-BSN-wIcN.js.map} +1 -1
  169. package/dist/{modal-Pwvhrzn-.mjs → modal-CnzUgU97.mjs} +3 -3
  170. package/dist/{modal-Pwvhrzn-.mjs.map → modal-CnzUgU97.mjs.map} +1 -1
  171. package/dist/modal.cjs.js +1 -1
  172. package/dist/modal.es.js +1 -1
  173. package/dist/{popover-B6ntmuEK.mjs → popover-B-oWzP-0.mjs} +3 -3
  174. package/dist/{popover-B6ntmuEK.mjs.map → popover-B-oWzP-0.mjs.map} +1 -1
  175. package/dist/{popover-DJHMEFXP.js → popover-BzoAQW0i.js} +2 -2
  176. package/dist/{popover-DJHMEFXP.js.map → popover-BzoAQW0i.js.map} +1 -1
  177. package/dist/popover.cjs.js +1 -1
  178. package/dist/popover.es.js +1 -1
  179. package/dist/{promotion-card-B3mz__m7.js → promotion-card-B8bnNVZ-.js} +2 -2
  180. package/dist/{promotion-card-B3mz__m7.js.map → promotion-card-B8bnNVZ-.js.map} +1 -1
  181. package/dist/{promotion-card-Co6qAkTZ.mjs → promotion-card-DwNbzSK3.mjs} +2 -2
  182. package/dist/{promotion-card-Co6qAkTZ.mjs.map → promotion-card-DwNbzSK3.mjs.map} +1 -1
  183. package/dist/promotion-card.cjs.js +1 -1
  184. package/dist/promotion-card.es.js +1 -1
  185. package/dist/purpur.css +1 -1
  186. package/dist/rich-text.cjs.js +1 -1
  187. package/dist/rich-text.es.js +1 -1
  188. package/dist/search-field-BR4gETPP.js +2 -0
  189. package/dist/search-field-BR4gETPP.js.map +1 -0
  190. package/dist/search-field-DyBcoB9g.mjs +186 -0
  191. package/dist/search-field-DyBcoB9g.mjs.map +1 -0
  192. package/dist/search-field.cjs.js +1 -1
  193. package/dist/search-field.es.js +1 -1
  194. package/dist/{stepper-D59T-Y2_.mjs → stepper-CGBjyjVw.mjs} +2 -2
  195. package/dist/{stepper-D59T-Y2_.mjs.map → stepper-CGBjyjVw.mjs.map} +1 -1
  196. package/dist/{stepper-Dao4XaDV.js → stepper-CbcFVE3v.js} +2 -2
  197. package/dist/{stepper-Dao4XaDV.js.map → stepper-CbcFVE3v.js.map} +1 -1
  198. package/dist/stepper.cjs.js +1 -1
  199. package/dist/stepper.es.js +1 -1
  200. package/dist/{table-BkXNxvjW.js → table-CFBK5Gv4.js} +3 -3
  201. package/dist/{table-BkXNxvjW.js.map → table-CFBK5Gv4.js.map} +1 -1
  202. package/dist/{table-CY8rjMoR.mjs → table-PdfWMFks.mjs} +8 -8
  203. package/dist/{table-CY8rjMoR.mjs.map → table-PdfWMFks.mjs.map} +1 -1
  204. package/dist/table.cjs.js +1 -1
  205. package/dist/table.es.js +1 -1
  206. package/dist/{text-area-9RUldq6W.js → text-area-AHqUSmEE.js} +2 -2
  207. package/dist/{text-area-9RUldq6W.js.map → text-area-AHqUSmEE.js.map} +1 -1
  208. package/dist/{text-area-C58aZEPa.mjs → text-area-DabB5eo_.mjs} +3 -3
  209. package/dist/{text-area-C58aZEPa.mjs.map → text-area-DabB5eo_.mjs.map} +1 -1
  210. package/dist/text-area.cjs.js +1 -1
  211. package/dist/text-area.es.js +1 -1
  212. package/dist/{text-spacing-BU0mkEf9.mjs → text-spacing-Bmkv_rmc.mjs} +3 -3
  213. package/dist/{text-spacing-BU0mkEf9.mjs.map → text-spacing-Bmkv_rmc.mjs.map} +1 -1
  214. package/dist/{text-spacing-CiGPZHuB.js → text-spacing-CdnbUO6z.js} +2 -2
  215. package/dist/{text-spacing-CiGPZHuB.js.map → text-spacing-CdnbUO6z.js.map} +1 -1
  216. package/dist/text-spacing.cjs.js +1 -1
  217. package/dist/text-spacing.es.js +1 -1
  218. package/dist/theme.cjs.js +1 -1
  219. package/dist/theme.es.js +3 -3
  220. package/dist/tokens/color/variables.css +1 -0
  221. package/dist/tokens/color/variables.d.ts +1 -0
  222. package/dist/tokens/color/variables.dark.css +1 -0
  223. package/dist/tokens/color/variables.dark.d.ts +1 -0
  224. package/dist/tokens/color/variables.dark.js +1 -0
  225. package/dist/tokens/color/variables.dark.json +1 -0
  226. package/dist/tokens/color/variables.dark.scss +1 -0
  227. package/dist/tokens/color/variables.js +1 -0
  228. package/dist/tokens/color/variables.json +1 -0
  229. package/dist/tokens/color/variables.scss +1 -0
  230. package/dist/tokens.cjs.js +1 -1
  231. package/dist/tokens.es.js +167 -166
  232. package/dist/{tooltip-DeP1UsPW.js → tooltip-DRW4N9Z-.js} +2 -2
  233. package/dist/{tooltip-DeP1UsPW.js.map → tooltip-DRW4N9Z-.js.map} +1 -1
  234. package/dist/{tooltip-bqdd2lJL.mjs → tooltip-DzY9olpb.mjs} +3 -3
  235. package/dist/{tooltip-bqdd2lJL.mjs.map → tooltip-DzY9olpb.mjs.map} +1 -1
  236. package/dist/tooltip.cjs.js +1 -1
  237. package/dist/tooltip.es.js +1 -1
  238. package/dist/use-autocomplete.es-CoAeiJiu.mjs +155 -0
  239. package/dist/use-autocomplete.es-CoAeiJiu.mjs.map +1 -0
  240. package/dist/use-autocomplete.es-Djt1u2i8.js +2 -0
  241. package/dist/use-autocomplete.es-Djt1u2i8.js.map +1 -0
  242. package/dist/useColorScheme-BtOgJUTy.js +2 -0
  243. package/dist/{useColorScheme-BHhPgv9q.js.map → useColorScheme-BtOgJUTy.js.map} +1 -1
  244. package/dist/{useColorScheme-B7lGBSe4.mjs → useColorScheme-DXAxJPXW.mjs} +2 -2
  245. package/dist/{useColorScheme-B7lGBSe4.mjs.map → useColorScheme-DXAxJPXW.mjs.map} +1 -1
  246. package/dist/useThemePortalContainer-Cs1c-2AI.js +2 -0
  247. package/dist/{useThemePortalContainer-CUcqV327.js.map → useThemePortalContainer-Cs1c-2AI.js.map} +1 -1
  248. package/dist/useThemePortalContainer-DeKoE-E_.mjs +9 -0
  249. package/dist/{useThemePortalContainer-D13Xx24N.mjs.map → useThemePortalContainer-DeKoE-E_.mjs.map} +1 -1
  250. package/dist/variables-CTBx79yI.js +2 -0
  251. package/dist/{variables-D1vNo1lO.js.map → variables-CTBx79yI.js.map} +1 -1
  252. package/dist/variables-Do6SfyT0.mjs +258 -0
  253. package/dist/{variables-BrsAsWIF.mjs.map → variables-Do6SfyT0.mjs.map} +1 -1
  254. package/package.json +18 -18
  255. package/src/library.ts +72 -2
  256. package/tokens/color/variables.css +1 -0
  257. package/tokens/color/variables.d.ts +1 -0
  258. package/tokens/color/variables.dark.css +1 -0
  259. package/tokens/color/variables.dark.d.ts +1 -0
  260. package/tokens/color/variables.dark.js +1 -0
  261. package/tokens/color/variables.dark.json +1 -0
  262. package/tokens/color/variables.dark.scss +1 -0
  263. package/tokens/color/variables.js +1 -0
  264. package/tokens/color/variables.json +1 -0
  265. package/tokens/color/variables.scss +1 -0
  266. package/dist/countdown-5Ni6OlVY.mjs +0 -189
  267. package/dist/countdown-5Ni6OlVY.mjs.map +0 -1
  268. package/dist/countdown-CGXJyzB2.js +0 -2
  269. package/dist/countdown-CGXJyzB2.js.map +0 -1
  270. package/dist/date-field-CtpWDaSh.js +0 -2
  271. package/dist/date-range-field-B33XeBW8.js +0 -2
  272. package/dist/date-range-field-B33XeBW8.js.map +0 -1
  273. package/dist/date-range-field-BmjQeiOv.mjs.map +0 -1
  274. package/dist/dismissable-chip-group-5ALErhD2.js +0 -2
  275. package/dist/dismissable-chip-group-5ALErhD2.js.map +0 -1
  276. package/dist/dismissable-chip-group-DMNU7g5e.mjs +0 -94
  277. package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +0 -1
  278. package/dist/dropdown-DJr5COdU.mjs +0 -945
  279. package/dist/dropdown-DJr5COdU.mjs.map +0 -1
  280. package/dist/dropdown-s8FhNU5N.js +0 -2
  281. package/dist/dropdown-s8FhNU5N.js.map +0 -1
  282. package/dist/search-field-BTJtRyw5.mjs +0 -184
  283. package/dist/search-field-BTJtRyw5.mjs.map +0 -1
  284. package/dist/search-field-nzVXak1a.js +0 -2
  285. package/dist/search-field-nzVXak1a.js.map +0 -1
  286. package/dist/use-autocomplete.es-BwAzMcau.js +0 -2
  287. package/dist/use-autocomplete.es-BwAzMcau.js.map +0 -1
  288. package/dist/use-autocomplete.es-CKb0RHKG.mjs +0 -144
  289. package/dist/use-autocomplete.es-CKb0RHKG.mjs.map +0 -1
  290. package/dist/useColorScheme-BHhPgv9q.js +0 -2
  291. package/dist/useThemePortalContainer-CUcqV327.js +0 -2
  292. package/dist/useThemePortalContainer-D13Xx24N.mjs +0 -9
  293. package/dist/variables-BrsAsWIF.mjs +0 -257
  294. package/dist/variables-D1vNo1lO.js +0 -2
@@ -122,6 +122,7 @@
122
122
  --purpur-color-functional-transparent: rgba(255, 255, 255, 0);
123
123
  --purpur-color-brand-deep-purple: var(--purpur-color-purple-900);
124
124
  --purpur-color-brand-core-purple: var(--purpur-color-purple-550);
125
+ --purpur-color-brand-core-purple-negative: var(--purpur-color-purple-400);
125
126
  --purpur-color-brand-light-purple: var(--purpur-color-purple-100);
126
127
  --purpur-color-brand-deep-beige: var(--purpur-color-beige-700);
127
128
  --purpur-color-brand-beige: var(--purpur-color-beige-100);
@@ -120,6 +120,7 @@ export const purpurColorFunctionalWhite: string;
120
120
  export const purpurColorFunctionalTransparent: string;
121
121
  export const purpurColorBrandDeepPurple: string;
122
122
  export const purpurColorBrandCorePurple: string;
123
+ export const purpurColorBrandCorePurpleNegative: string;
123
124
  export const purpurColorBrandLightPurple: string;
124
125
  export const purpurColorBrandDeepBeige: string;
125
126
  export const purpurColorBrandBeige: string;
@@ -121,6 +121,7 @@
121
121
  --purpur-color-functional-transparent: rgba(255, 255, 255, 0);
122
122
  --purpur-color-brand-deep-purple: var(--purpur-color-purple-100);
123
123
  --purpur-color-brand-core-purple: var(--purpur-color-purple-400);
124
+ --purpur-color-brand-core-purple-negative: var(--purpur-color-purple-550);
124
125
  --purpur-color-brand-light-purple: var(--purpur-color-purple-900);
125
126
  --purpur-color-brand-deep-beige: var(--purpur-color-beige-100);
126
127
  --purpur-color-brand-beige: var(--purpur-color-beige-700);
@@ -120,6 +120,7 @@ export const purpurColorFunctionalWhite: string;
120
120
  export const purpurColorFunctionalTransparent: string;
121
121
  export const purpurColorBrandDeepPurple: string;
122
122
  export const purpurColorBrandCorePurple: string;
123
+ export const purpurColorBrandCorePurpleNegative: string;
123
124
  export const purpurColorBrandLightPurple: string;
124
125
  export const purpurColorBrandDeepBeige: string;
125
126
  export const purpurColorBrandBeige: string;
@@ -120,6 +120,7 @@ export const purpurColorFunctionalWhite = "#ffffff";
120
120
  export const purpurColorFunctionalTransparent = "rgba(255, 255, 255, 0)";
121
121
  export const purpurColorBrandDeepPurple = "#f4e0ff";
122
122
  export const purpurColorBrandCorePurple = "#c461f7";
123
+ export const purpurColorBrandCorePurpleNegative = "#990ae3";
123
124
  export const purpurColorBrandLightPurple = "#29003e";
124
125
  export const purpurColorBrandDeepBeige = "#ede1d8";
125
126
  export const purpurColorBrandBeige = "#4f4741";
@@ -145,6 +145,7 @@
145
145
  "brand": {
146
146
  "deep-purple": "#f4e0ff",
147
147
  "core-purple": "#c461f7",
148
+ "core-purple-negative": "#990ae3",
148
149
  "light-purple": "#29003e",
149
150
  "deep-beige": "#ede1d8",
150
151
  "beige": "#4f4741",
@@ -120,6 +120,7 @@ $purpur-color-functional-white: #ffffff;
120
120
  $purpur-color-functional-transparent: rgba(255, 255, 255, 0);
121
121
  $purpur-color-brand-deep-purple: $purpur-color-purple-100;
122
122
  $purpur-color-brand-core-purple: $purpur-color-purple-400;
123
+ $purpur-color-brand-core-purple-negative: $purpur-color-purple-550;
123
124
  $purpur-color-brand-light-purple: $purpur-color-purple-900;
124
125
  $purpur-color-brand-deep-beige: $purpur-color-beige-100;
125
126
  $purpur-color-brand-beige: $purpur-color-beige-700;
@@ -120,6 +120,7 @@ export const purpurColorFunctionalWhite = "#ffffff";
120
120
  export const purpurColorFunctionalTransparent = "rgba(255, 255, 255, 0)";
121
121
  export const purpurColorBrandDeepPurple = "#29003e";
122
122
  export const purpurColorBrandCorePurple = "#990ae3";
123
+ export const purpurColorBrandCorePurpleNegative = "#c461f7";
123
124
  export const purpurColorBrandLightPurple = "#f4e0ff";
124
125
  export const purpurColorBrandDeepBeige = "#4f4741";
125
126
  export const purpurColorBrandBeige = "#ede1d8";
@@ -145,6 +145,7 @@
145
145
  "brand": {
146
146
  "deep-purple": "#29003e",
147
147
  "core-purple": "#990ae3",
148
+ "core-purple-negative": "#c461f7",
148
149
  "light-purple": "#f4e0ff",
149
150
  "deep-beige": "#4f4741",
150
151
  "beige": "#ede1d8",
@@ -120,6 +120,7 @@ $purpur-color-functional-white: #ffffff;
120
120
  $purpur-color-functional-transparent: rgba(255, 255, 255, 0);
121
121
  $purpur-color-brand-deep-purple: $purpur-color-purple-900;
122
122
  $purpur-color-brand-core-purple: $purpur-color-purple-550;
123
+ $purpur-color-brand-core-purple-negative: $purpur-color-purple-400;
123
124
  $purpur-color-brand-light-purple: $purpur-color-purple-100;
124
125
  $purpur-color-brand-deep-beige: $purpur-color-beige-700;
125
126
  $purpur-color-brand-beige: $purpur-color-beige-100;
@@ -1,189 +0,0 @@
1
- import { jsxs as z, jsx as t, Fragment as F } from "react/jsx-runtime";
2
- import { forwardRef as K, useId as O, useMemo as g, useState as U, useEffect as E } from "react";
3
- import { P as C } from "./paragraph-CwAdFoIm.mjs";
4
- import { V as X } from "./visually-hidden-BYFkJEp1.mjs";
5
- import { c as H } from "./bind-CU-R61T-.mjs";
6
- const Y = {
7
- "purpur-countdown--size-md": "_purpur-countdown--size-md_ytnsp_1",
8
- "purpur-countdown--size-lg": "_purpur-countdown--size-lg_ytnsp_5",
9
- "purpur-countdown--use-container-queries": "_purpur-countdown--use-container-queries_ytnsp_10",
10
- "purpur-countdown__counter-container": "_purpur-countdown__counter-container_ytnsp_10",
11
- "purpur-countdown--full-width": "_purpur-countdown--full-width_ytnsp_15",
12
- "purpur-countdown--use-media-queries": "_purpur-countdown--use-media-queries_ytnsp_25",
13
- "purpur-countdown": "_purpur-countdown_ytnsp_1",
14
- "purpur-countdown--variant-primary": "_purpur-countdown--variant-primary_ytnsp_40",
15
- "purpur-countdown--variant-secondary": "_purpur-countdown--variant-secondary_ytnsp_43",
16
- "purpur-countdown--negative": "_purpur-countdown--negative_ytnsp_46",
17
- "purpur-countdown--show-days": "_purpur-countdown--show-days_ytnsp_56",
18
- "purpur-countdown__label": "_purpur-countdown__label_ytnsp_72"
19
- }, Z = {
20
- "purpur-countdown-counter": "_purpur-countdown-counter_23fbu_1",
21
- "purpur-countdown-counter--size-lg": "_purpur-countdown-counter--size-lg_23fbu_10",
22
- "purpur-countdown-counter__number": "_purpur-countdown-counter__number_23fbu_15",
23
- "purpur-countdown-counter--size-md": "_purpur-countdown-counter--size-md_23fbu_21",
24
- "purpur-countdown-counter__number-list-container": "_purpur-countdown-counter__number-list-container_23fbu_35",
25
- "purpur-countdown-counter__number-list": "_purpur-countdown-counter__number-list_23fbu_35",
26
- "purpur-countdown-counter__number--selected": "_purpur-countdown-counter__number--selected_23fbu_61",
27
- "purpur-countdown-counter__label": "_purpur-countdown-counter__label_23fbu_64",
28
- "purpur-countdown-counter__label--abbr": "_purpur-countdown-counter__label--abbr_23fbu_71",
29
- "purpur-countdown-counter__label--full": "_purpur-countdown-counter__label--full_23fbu_74"
30
- }, w = H.bind(Z), r = "purpur-countdown-counter", v = ({ tag: e, size: a, numbers: n, counterLabels: _ }) => {
31
- const b = () => {
32
- const u = _[e], s = _[`${e}Abbr`];
33
- return /* @__PURE__ */ z(F, { children: [
34
- s && /* @__PURE__ */ t(C, { className: w(`${r}__label`, `${r}__label--abbr`), children: /* @__PURE__ */ t("abbr", { title: u, children: s }) }),
35
- /* @__PURE__ */ t(
36
- C,
37
- {
38
- className: w(`${r}__label`, {
39
- [`${r}__label--full`]: !!s
40
- }),
41
- children: u
42
- }
43
- )
44
- ] });
45
- };
46
- return /* @__PURE__ */ z(
47
- "div",
48
- {
49
- className: w(r, `${r}--size-${a}`),
50
- role: "group",
51
- "aria-hidden": "true",
52
- "data-testid": `counter-${e}`,
53
- children: [
54
- /* @__PURE__ */ t("div", { className: w(`${r}__number-list-container`), children: n.map((u, s) => /* @__PURE__ */ t(
55
- "ul",
56
- {
57
- className: w(`${r}__number-list`),
58
- style: {
59
- "--offset": u
60
- },
61
- children: B.map((p, i) => {
62
- const f = p === u;
63
- return /* @__PURE__ */ t(
64
- "li",
65
- {
66
- className: w(`${r}__number`, {
67
- [`${r}__number--selected`]: f
68
- }),
69
- children: p
70
- },
71
- i
72
- );
73
- })
74
- },
75
- s
76
- )) }),
77
- b()
78
- ]
79
- }
80
- );
81
- }, B = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
82
- function nn(e, a = (/* @__PURE__ */ new Date()).getTime()) {
83
- const n = Math.max(0, e - a), _ = Math.floor(n / l.day), b = Math.floor(n % l.day / l.hour), u = Math.floor(n % l.hour / l.minute), s = Math.floor(n % l.minute / l.second), p = N(_), i = N(b), f = N(u);
84
- return {
85
- seconds: N(s),
86
- minutes: f,
87
- hours: i,
88
- days: p
89
- };
90
- }
91
- const l = {
92
- second: 1e3,
93
- minute: 60 * 1e3,
94
- hour: 3600 * 1e3,
95
- day: 1440 * 60 * 1e3
96
- };
97
- function j(e) {
98
- return e instanceof Date ? e : new Date(e);
99
- }
100
- function N(e) {
101
- return String(e).padStart(2, "0").split("");
102
- }
103
- const x = H.bind(Y), o = "purpur-countdown", en = K(
104
- ({ renderAfterEnd: e, renderBeforeStart: a, ...n }, _) => {
105
- const b = O(), {
106
- size: u = "lg",
107
- fullWidth: s = !1,
108
- negative: p = !1,
109
- showDays: i = !0,
110
- variant: f = "primary",
111
- className: q,
112
- counterLabels: h,
113
- useMediaQueries: S = !1,
114
- disabled: T = !1,
115
- now: D
116
- } = n, m = g(
117
- () => D !== void 0 ? j(D) : void 0,
118
- [D]
119
- ), [d, I] = U(() => m ?? /* @__PURE__ */ new Date()), M = g(() => j(n.starttime), [n.starttime]), y = g(() => j(n.endtime), [n.endtime]), { days: P, hours: A, minutes: L, seconds: V } = g(
120
- () => nn(y.getTime(), d.getTime()),
121
- [y, d]
122
- );
123
- E(() => {
124
- m && I(m);
125
- }, [m]), E(() => {
126
- if (T || m || d < M || d > y) return;
127
- const c = setInterval(() => I(/* @__PURE__ */ new Date()), 1e3);
128
- return () => clearInterval(c);
129
- }, [M, y, d, T, m]);
130
- const Q = M > d, R = y < d;
131
- if (Q) return a ? a(n) : null;
132
- if (R) return e ? e(n) : null;
133
- const W = () => {
134
- const c = { size: u, counterLabels: h };
135
- return /* @__PURE__ */ z(F, { children: [
136
- i && /* @__PURE__ */ t(v, { numbers: P, tag: "days", ...c }),
137
- /* @__PURE__ */ t(v, { numbers: A, tag: "hours", ...c }),
138
- /* @__PURE__ */ t(v, { numbers: L, tag: "minutes", ...c }),
139
- /* @__PURE__ */ t(v, { numbers: V, tag: "seconds", ...c })
140
- ] });
141
- }, k = () => {
142
- const c = () => {
143
- const $ = [];
144
- return i && $.push(`${P.join("")} ${h.days}`), $.push(`${A.join("")} ${h.hours}`), $.push(`${L.join("")} ${h.minutes}`), $.push(`${V.join("")} ${h.seconds}`), $.join(", ");
145
- };
146
- return /* @__PURE__ */ t(
147
- X,
148
- {
149
- "data-testid": "live-region",
150
- "aria-live": "polite",
151
- "aria-label": n["aria-label"],
152
- children: c()
153
- }
154
- );
155
- }, G = W(), J = x(
156
- o,
157
- `${o}--size-${u}`,
158
- `${o}--variant-${f}`,
159
- {
160
- [`${o}--full-width`]: s,
161
- [`${o}--negative`]: p,
162
- [`${o}--show-days`]: i,
163
- [`${o}--use-media-queries`]: S,
164
- [`${o}--use-container-queries`]: !S
165
- },
166
- q
167
- );
168
- return /* @__PURE__ */ z(
169
- "section",
170
- {
171
- id: b,
172
- className: J,
173
- ref: _,
174
- role: "timer",
175
- "data-testid": n["data-testid"],
176
- children: [
177
- k(),
178
- n.label && /* @__PURE__ */ t(C, { className: x(`${o}__label`), variant: "paragraph-100-medium", children: n.label }),
179
- /* @__PURE__ */ t("div", { className: x(`${o}__counter-container`), children: G })
180
- ]
181
- }
182
- );
183
- }
184
- );
185
- en.displayName = "Countdown";
186
- export {
187
- en as C
188
- };
189
- //# sourceMappingURL=countdown-5Ni6OlVY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"countdown-5Ni6OlVY.mjs","sources":["../../../components/countdown/src/counter.tsx","../../../components/countdown/src/utils.ts","../../../components/countdown/src/countdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport { type CounterLabels } from \"./countdown.types\";\nimport styles from \"./counter.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-countdown-counter\";\n\ninterface CounterProps {\n numbers: string[];\n size: \"md\" | \"lg\";\n tag: \"days\" | \"hours\" | \"minutes\" | \"seconds\";\n counterLabels: CounterLabels;\n}\n\nexport const Counter = ({ tag, size, numbers, counterLabels }: CounterProps) => {\n const renderLabel = () => {\n const label = counterLabels[tag];\n const abbreviatedLabel = counterLabels[`${tag}Abbr`];\n\n return (\n <>\n {abbreviatedLabel && (\n <Paragraph className={cx(`${rootClassName}__label`, `${rootClassName}__label--abbr`)}>\n <abbr title={label}>{abbreviatedLabel}</abbr>\n </Paragraph>\n )}\n <Paragraph\n className={cx(`${rootClassName}__label`, {\n [`${rootClassName}__label--full`]: !!abbreviatedLabel,\n })}\n >\n {label}\n </Paragraph>\n </>\n );\n };\n\n return (\n <div\n className={cx(rootClassName, `${rootClassName}--size-${size}`)}\n role=\"group\"\n aria-hidden=\"true\"\n data-testid={`counter-${tag}`}\n >\n <div className={cx(`${rootClassName}__number-list-container`)}>\n {numbers.map((number, index) => {\n return (\n <ul\n key={index}\n className={cx(`${rootClassName}__number-list`)}\n style={\n {\n \"--offset\": number,\n } as React.CSSProperties\n }\n >\n {digits.map((d, i) => {\n const selected = d === number;\n\n return (\n <li\n key={i}\n className={cx(`${rootClassName}__number`, {\n [`${rootClassName}__number--selected`]: selected,\n })}\n >\n {d}\n </li>\n );\n })}\n </ul>\n );\n })}\n </div>\n\n {renderLabel()}\n </div>\n );\n};\n\nconst digits = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\n","export function getDiffs(endtime: number, now = new Date().getTime()) {\n const totalSeconds = Math.max(0, endtime - now);\n\n const _days = Math.floor(totalSeconds / inMs.day);\n const _hours = Math.floor((totalSeconds % inMs.day) / inMs.hour);\n const _minutes = Math.floor((totalSeconds % inMs.hour) / inMs.minute);\n const _seconds = Math.floor((totalSeconds % inMs.minute) / inMs.second);\n\n const days = splitDigits(_days);\n const hours = splitDigits(_hours);\n const minutes = splitDigits(_minutes);\n const seconds = splitDigits(_seconds);\n\n return {\n seconds,\n minutes,\n hours,\n days,\n };\n}\n\nexport const inMs = {\n second: 1000,\n minute: 60 * 1000,\n hour: 60 * 60 * 1000,\n day: 24 * 60 * 60 * 1000,\n};\n\nexport function toDate(t: string | number | Date) {\n return t instanceof Date ? t : new Date(t);\n}\n\nexport function splitDigits(value: number) {\n const s = String(value).padStart(2, \"0\");\n return s.split(\"\");\n}\n","import React, { type ForwardedRef, forwardRef, useEffect, useId, useMemo, useState } from \"react\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./countdown.module.scss\";\nimport { type CountdownProps } from \"./countdown.types\";\nimport { Counter } from \"./counter\";\nimport { getDiffs, toDate } from \"./utils\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-countdown\";\n\n/**\n * Countdown component to display a countdown timer.\n * @param props - CountdownProps\n * @returns A React component that displays a countdown timer.\n */\n\nexport const Countdown = forwardRef(\n (\n { renderAfterEnd, renderBeforeStart, ...props }: CountdownProps,\n ref: ForwardedRef<HTMLButtonElement>\n ) => {\n const id = useId();\n\n const {\n size = \"lg\",\n fullWidth = false,\n negative = false,\n showDays = true,\n variant = \"primary\",\n className,\n counterLabels,\n useMediaQueries = false,\n disabled = false,\n now: fixedNow,\n } = props;\n\n const resolvedNow = useMemo(\n () => (fixedNow !== undefined ? toDate(fixedNow) : undefined),\n [fixedNow]\n );\n\n const [now, setNow] = useState<Date>(() => resolvedNow ?? new Date());\n\n const start = useMemo(() => toDate(props.starttime), [props.starttime]);\n const end = useMemo(() => toDate(props.endtime), [props.endtime]);\n const { days, hours, minutes, seconds } = useMemo(\n () => getDiffs(end.getTime(), now.getTime()),\n [end, now]\n );\n\n useEffect(() => {\n if (resolvedNow) {\n setNow(resolvedNow);\n }\n }, [resolvedNow]);\n\n useEffect(() => {\n if (disabled || resolvedNow) return;\n if (now < start || now > end) return;\n const t = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(t);\n }, [start, end, now, disabled, resolvedNow]);\n\n const hasNotStarted = start > now;\n const hasEnded = end < now;\n\n // don't render if before start or after end\n if (hasNotStarted) return renderBeforeStart ? renderBeforeStart(props) : null;\n if (hasEnded) return renderAfterEnd ? renderAfterEnd(props) : null;\n\n const getCounters = () => {\n const counterProps = { size, counterLabels };\n\n return (\n <>\n {showDays && <Counter numbers={days} tag=\"days\" {...counterProps} />}\n <Counter numbers={hours} tag=\"hours\" {...counterProps} />\n <Counter numbers={minutes} tag=\"minutes\" {...counterProps} />\n <Counter numbers={seconds} tag=\"seconds\" {...counterProps} />\n </>\n );\n };\n\n // Create a single announcement of the current time (only once)\n\n const renderAnnouncer = () => {\n const getTimeAnnouncement = () => {\n const parts = [];\n\n if (showDays) parts.push(`${days.join(\"\")} ${counterLabels.days}`);\n parts.push(`${hours.join(\"\")} ${counterLabels.hours}`);\n parts.push(`${minutes.join(\"\")} ${counterLabels.minutes}`);\n parts.push(`${seconds.join(\"\")} ${counterLabels.seconds}`);\n\n return parts.join(\", \");\n };\n\n return (\n <VisuallyHidden\n data-testid=\"live-region\"\n aria-live=\"polite\"\n aria-label={props[\"aria-label\"]}\n >\n {getTimeAnnouncement()}\n </VisuallyHidden>\n );\n };\n\n const counters = getCounters();\n\n const classes = cx(\n rootClassName,\n `${rootClassName}--size-${size}`,\n `${rootClassName}--variant-${variant}`,\n {\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--show-days`]: showDays,\n [`${rootClassName}--use-media-queries`]: useMediaQueries,\n [`${rootClassName}--use-container-queries`]: !useMediaQueries,\n },\n className\n );\n\n return (\n <section\n id={id}\n className={classes}\n ref={ref}\n role=\"timer\"\n data-testid={props[\"data-testid\"]}\n >\n {/* Visually hidden live region that announces time only once */}\n {renderAnnouncer()}\n {props.label && (\n <Paragraph className={cx(`${rootClassName}__label`)} variant=\"paragraph-100-medium\">\n {props.label}\n </Paragraph>\n )}\n <div className={cx(`${rootClassName}__counter-container`)}>{counters}</div>\n </section>\n );\n }\n);\n\nCountdown.displayName = \"Countdown\";\n"],"names":["cx","c","styles","rootClassName","Counter","tag","size","numbers","counterLabels","renderLabel","label","abbreviatedLabel","jsxs","Fragment","Paragraph","jsx","number","index","digits","d","selected","getDiffs","endtime","now","totalSeconds","_days","inMs","_hours","_minutes","_seconds","days","splitDigits","hours","minutes","toDate","t","value","Countdown","forwardRef","renderAfterEnd","renderBeforeStart","props","ref","id","useId","fullWidth","negative","showDays","variant","className","useMediaQueries","disabled","fixedNow","resolvedNow","useMemo","setNow","useState","start","end","seconds","useEffect","hasNotStarted","hasEnded","getCounters","counterProps","renderAnnouncer","getTimeAnnouncement","parts","VisuallyHidden","counters","classes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOMA,IAAKC,EAAE,KAAKC,CAAM,GAElBC,IAAgB,4BASTC,IAAU,CAAC,EAAE,KAAAC,GAAK,MAAAC,GAAM,SAAAC,GAAS,eAAAC,QAAkC;AAC9E,QAAMC,IAAc,MAAM;AACxB,UAAMC,IAAQF,EAAcH,CAAG,GACzBM,IAAmBH,EAAc,GAAGH,CAAG,MAAM;AAEnD,WACE,gBAAAO,EAAAC,GAAA,EACG,UAAA;AAAA,MAAAF,uBACEG,GAAA,EAAU,WAAWd,EAAG,GAAGG,CAAa,WAAW,GAAGA,CAAa,eAAe,GACjF,UAAA,gBAAAY,EAAC,QAAA,EAAK,OAAOL,GAAQ,aAAiB,GACxC;AAAA,MAEF,gBAAAK;AAAA,QAACD;AAAA,QAAA;AAAA,UACC,WAAWd,EAAG,GAAGG,CAAa,WAAW;AAAA,YACvC,CAAC,GAAGA,CAAa,eAAe,GAAG,CAAC,CAACQ;AAAA,UAAA,CACtC;AAAA,UAEA,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GACF;AAAA,EAEJ;AAEA,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWZ,EAAGG,GAAe,GAAGA,CAAa,UAAUG,CAAI,EAAE;AAAA,MAC7D,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,eAAa,WAAWD,CAAG;AAAA,MAE3B,UAAA;AAAA,QAAA,gBAAAU,EAAC,OAAA,EAAI,WAAWf,EAAG,GAAGG,CAAa,yBAAyB,GACzD,UAAAI,EAAQ,IAAI,CAACS,GAAQC,MAElB,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAWf,EAAG,GAAGG,CAAa,eAAe;AAAA,YAC7C,OACE;AAAA,cACE,YAAYa;AAAA,YAAA;AAAA,YAIf,UAAAE,EAAO,IAAI,CAACC,GAAG,MAAM;AACpB,oBAAMC,IAAWD,MAAMH;AAEvB,qBACE,gBAAAD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,WAAWf,EAAG,GAAGG,CAAa,YAAY;AAAA,oBACxC,CAAC,GAAGA,CAAa,oBAAoB,GAAGiB;AAAA,kBAAA,CACzC;AAAA,kBAEA,UAAAD;AAAA,gBAAA;AAAA,gBALI;AAAA,cAAA;AAAA,YAQX,CAAC;AAAA,UAAA;AAAA,UArBIF;AAAA,QAAA,CAwBV,EAAA,CACH;AAAA,QAECR,EAAA;AAAA,MAAY;AAAA,IAAA;AAAA,EAAA;AAGnB,GAEMS,IAAS,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;ACpFzD,SAASG,GAASC,GAAiBC,yBAAU,KAAA,GAAO,WAAW;AACpE,QAAMC,IAAe,KAAK,IAAI,GAAGF,IAAUC,CAAG,GAExCE,IAAQ,KAAK,MAAMD,IAAeE,EAAK,GAAG,GAC1CC,IAAS,KAAK,MAAOH,IAAeE,EAAK,MAAOA,EAAK,IAAI,GACzDE,IAAW,KAAK,MAAOJ,IAAeE,EAAK,OAAQA,EAAK,MAAM,GAC9DG,IAAW,KAAK,MAAOL,IAAeE,EAAK,SAAUA,EAAK,MAAM,GAEhEI,IAAOC,EAAYN,CAAK,GACxBO,IAAQD,EAAYJ,CAAM,GAC1BM,IAAUF,EAAYH,CAAQ;AAGpC,SAAO;AAAA,IACL,SAHcG,EAAYF,CAAQ;AAAA,IAIlC,SAAAI;AAAA,IACA,OAAAD;AAAA,IACA,MAAAF;AAAA,EAAA;AAEJ;AAEO,MAAMJ,IAAO;AAAA,EAClB,QAAQ;AAAA,EACR,QAAQ,KAAK;AAAA,EACb,MAAM,OAAU;AAAA,EAChB,KAAK,OAAU,KAAK;AACtB;AAEO,SAASQ,EAAOC,GAA2B;AAChD,SAAOA,aAAa,OAAOA,IAAI,IAAI,KAAKA,CAAC;AAC3C;AAEO,SAASJ,EAAYK,GAAe;AAEzC,SADU,OAAOA,CAAK,EAAE,SAAS,GAAG,GAAG,EAC9B,MAAM,EAAE;AACnB;ACzBA,MAAMpC,IAAKC,EAAE,KAAKC,CAAM,GAElBC,IAAgB,oBAQTkC,KAAYC;AAAA,EACvB,CACE,EAAE,gBAAAC,GAAgB,mBAAAC,GAAmB,GAAGC,EAAA,GACxCC,MACG;AACH,UAAMC,IAAKC,EAAA,GAEL;AAAA,MACJ,MAAAtC,IAAO;AAAA,MACP,WAAAuC,IAAY;AAAA,MACZ,UAAAC,IAAW;AAAA,MACX,UAAAC,IAAW;AAAA,MACX,SAAAC,IAAU;AAAA,MACV,WAAAC;AAAA,MACA,eAAAzC;AAAA,MACA,iBAAA0C,IAAkB;AAAA,MAClB,UAAAC,IAAW;AAAA,MACX,KAAKC;AAAA,IAAA,IACHX,GAEEY,IAAcC;AAAA,MAClB,MAAOF,MAAa,SAAYlB,EAAOkB,CAAQ,IAAI;AAAA,MACnD,CAACA,CAAQ;AAAA,IAAA,GAGL,CAAC7B,GAAKgC,CAAM,IAAIC,EAAe,MAAMH,KAAe,oBAAI,MAAM,GAE9DI,IAAQH,EAAQ,MAAMpB,EAAOO,EAAM,SAAS,GAAG,CAACA,EAAM,SAAS,CAAC,GAChEiB,IAAMJ,EAAQ,MAAMpB,EAAOO,EAAM,OAAO,GAAG,CAACA,EAAM,OAAO,CAAC,GAC1D,EAAE,MAAAX,GAAM,OAAAE,GAAO,SAAAC,GAAS,SAAA0B,MAAYL;AAAA,MACxC,MAAMjC,GAASqC,EAAI,WAAWnC,EAAI,SAAS;AAAA,MAC3C,CAACmC,GAAKnC,CAAG;AAAA,IAAA;AAGX,IAAAqC,EAAU,MAAM;AACd,MAAIP,KACFE,EAAOF,CAAW;AAAA,IAEtB,GAAG,CAACA,CAAW,CAAC,GAEhBO,EAAU,MAAM;AAEd,UADIT,KAAYE,KACZ9B,IAAMkC,KAASlC,IAAMmC,EAAK;AAC9B,YAAMvB,IAAI,YAAY,MAAMoB,sBAAW,KAAA,CAAM,GAAG,GAAI;AACpD,aAAO,MAAM,cAAcpB,CAAC;AAAA,IAC9B,GAAG,CAACsB,GAAOC,GAAKnC,GAAK4B,GAAUE,CAAW,CAAC;AAE3C,UAAMQ,IAAgBJ,IAAQlC,GACxBuC,IAAWJ,IAAMnC;AAGvB,QAAIsC,EAAe,QAAOrB,IAAoBA,EAAkBC,CAAK,IAAI;AACzE,QAAIqB,EAAU,QAAOvB,IAAiBA,EAAeE,CAAK,IAAI;AAE9D,UAAMsB,IAAc,MAAM;AACxB,YAAMC,IAAe,EAAE,MAAA1D,GAAM,eAAAE,EAAA;AAE7B,aACE,gBAAAI,EAAAC,GAAA,EACG,UAAA;AAAA,QAAAkC,uBAAa3C,GAAA,EAAQ,SAAS0B,GAAM,KAAI,QAAQ,GAAGkC,GAAc;AAAA,0BACjE5D,GAAA,EAAQ,SAAS4B,GAAO,KAAI,SAAS,GAAGgC,GAAc;AAAA,0BACtD5D,GAAA,EAAQ,SAAS6B,GAAS,KAAI,WAAW,GAAG+B,GAAc;AAAA,0BAC1D5D,GAAA,EAAQ,SAASuD,GAAS,KAAI,WAAW,GAAGK,EAAA,CAAc;AAAA,MAAA,GAC7D;AAAA,IAEJ,GAIMC,IAAkB,MAAM;AAC5B,YAAMC,IAAsB,MAAM;AAChC,cAAMC,IAAQ,CAAA;AAEd,eAAIpB,KAAUoB,EAAM,KAAK,GAAGrC,EAAK,KAAK,EAAE,CAAC,IAAItB,EAAc,IAAI,EAAE,GACjE2D,EAAM,KAAK,GAAGnC,EAAM,KAAK,EAAE,CAAC,IAAIxB,EAAc,KAAK,EAAE,GACrD2D,EAAM,KAAK,GAAGlC,EAAQ,KAAK,EAAE,CAAC,IAAIzB,EAAc,OAAO,EAAE,GACzD2D,EAAM,KAAK,GAAGR,EAAQ,KAAK,EAAE,CAAC,IAAInD,EAAc,OAAO,EAAE,GAElD2D,EAAM,KAAK,IAAI;AAAA,MACxB;AAEA,aACE,gBAAApD;AAAA,QAACqD;AAAA,QAAA;AAAA,UACC,eAAY;AAAA,UACZ,aAAU;AAAA,UACV,cAAY3B,EAAM,YAAY;AAAA,UAE7B,UAAAyB,EAAA;AAAA,QAAoB;AAAA,MAAA;AAAA,IAG3B,GAEMG,IAAWN,EAAA,GAEXO,IAAUtE;AAAA,MACdG;AAAA,MACA,GAAGA,CAAa,UAAUG,CAAI;AAAA,MAC9B,GAAGH,CAAa,aAAa6C,CAAO;AAAA,MACpC;AAAA,QACE,CAAC,GAAG7C,CAAa,cAAc,GAAG0C;AAAA,QAClC,CAAC,GAAG1C,CAAa,YAAY,GAAG2C;AAAA,QAChC,CAAC,GAAG3C,CAAa,aAAa,GAAG4C;AAAA,QACjC,CAAC,GAAG5C,CAAa,qBAAqB,GAAG+C;AAAA,QACzC,CAAC,GAAG/C,CAAa,yBAAyB,GAAG,CAAC+C;AAAA,MAAA;AAAA,MAEhDD;AAAA,IAAA;AAGF,WACE,gBAAArC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAA+B;AAAA,QACA,WAAW2B;AAAA,QACX,KAAA5B;AAAA,QACA,MAAK;AAAA,QACL,eAAaD,EAAM,aAAa;AAAA,QAG/B,UAAA;AAAA,UAAAwB,EAAA;AAAA,UACAxB,EAAM,SACL,gBAAA1B,EAACD,GAAA,EAAU,WAAWd,EAAG,GAAGG,CAAa,SAAS,GAAG,SAAQ,wBAC1D,YAAM,OACT;AAAA,UAEF,gBAAAY,EAAC,SAAI,WAAWf,EAAG,GAAGG,CAAa,qBAAqB,GAAI,UAAAkE,EAAA,CAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG3E;AACF;AAEAhC,GAAU,cAAc;"}
@@ -1,2 +0,0 @@
1
- "use strict";const n=require("react/jsx-runtime"),c=require("react"),M=require("./paragraph-B8HFdNne.js"),G=require("./visually-hidden-C2CKovZx.js"),E=require("./bind-DeUYJ6m9.js"),J={"purpur-countdown--size-md":"_purpur-countdown--size-md_ytnsp_1","purpur-countdown--size-lg":"_purpur-countdown--size-lg_ytnsp_5","purpur-countdown--use-container-queries":"_purpur-countdown--use-container-queries_ytnsp_10","purpur-countdown__counter-container":"_purpur-countdown__counter-container_ytnsp_10","purpur-countdown--full-width":"_purpur-countdown--full-width_ytnsp_15","purpur-countdown--use-media-queries":"_purpur-countdown--use-media-queries_ytnsp_25","purpur-countdown":"_purpur-countdown_ytnsp_1","purpur-countdown--variant-primary":"_purpur-countdown--variant-primary_ytnsp_40","purpur-countdown--variant-secondary":"_purpur-countdown--variant-secondary_ytnsp_43","purpur-countdown--negative":"_purpur-countdown--negative_ytnsp_46","purpur-countdown--show-days":"_purpur-countdown--show-days_ytnsp_56","purpur-countdown__label":"_purpur-countdown__label_ytnsp_72"},K={"purpur-countdown-counter":"_purpur-countdown-counter_23fbu_1","purpur-countdown-counter--size-lg":"_purpur-countdown-counter--size-lg_23fbu_10","purpur-countdown-counter__number":"_purpur-countdown-counter__number_23fbu_15","purpur-countdown-counter--size-md":"_purpur-countdown-counter--size-md_23fbu_21","purpur-countdown-counter__number-list-container":"_purpur-countdown-counter__number-list-container_23fbu_35","purpur-countdown-counter__number-list":"_purpur-countdown-counter__number-list_23fbu_35","purpur-countdown-counter__number--selected":"_purpur-countdown-counter__number--selected_23fbu_61","purpur-countdown-counter__label":"_purpur-countdown-counter__label_23fbu_64","purpur-countdown-counter__label--abbr":"_purpur-countdown-counter__label--abbr_23fbu_71","purpur-countdown-counter__label--full":"_purpur-countdown-counter__label--full_23fbu_74"},b=E.c.bind(K),r="purpur-countdown-counter",j=({tag:u,size:i,numbers:e,counterLabels:p})=>{const h=()=>{const t=p[u],s=p[`${u}Abbr`];return n.jsxs(n.Fragment,{children:[s&&n.jsx(M.Paragraph,{className:b(`${r}__label`,`${r}__label--abbr`),children:n.jsx("abbr",{title:t,children:s})}),n.jsx(M.Paragraph,{className:b(`${r}__label`,{[`${r}__label--full`]:!!s}),children:t})]})};return n.jsxs("div",{className:b(r,`${r}--size-${i}`),role:"group","aria-hidden":"true","data-testid":`counter-${u}`,children:[n.jsx("div",{className:b(`${r}__number-list-container`),children:e.map((t,s)=>n.jsx("ul",{className:b(`${r}__number-list`),style:{"--offset":t},children:O.map((m,d)=>{const f=m===t;return n.jsx("li",{className:b(`${r}__number`,{[`${r}__number--selected`]:f}),children:m},d)})},s))}),h()]})},O=["0","1","2","3","4","5","6","7","8","9"];function U(u,i=new Date().getTime()){const e=Math.max(0,u-i),p=Math.floor(e/_.day),h=Math.floor(e%_.day/_.hour),t=Math.floor(e%_.hour/_.minute),s=Math.floor(e%_.minute/_.second),m=v(p),d=v(h),f=v(t);return{seconds:v(s),minutes:f,hours:d,days:m}}const _={second:1e3,minute:60*1e3,hour:3600*1e3,day:1440*60*1e3};function q(u){return u instanceof Date?u:new Date(u)}function v(u){return String(u).padStart(2,"0").split("")}const z=E.c.bind(J),o="purpur-countdown",F=c.forwardRef(({renderAfterEnd:u,renderBeforeStart:i,...e},p)=>{const h=c.useId(),{size:t="lg",fullWidth:s=!1,negative:m=!1,showDays:d=!0,variant:f="primary",className:D,counterLabels:y,useMediaQueries:C=!1,disabled:P=!1,now:x}=e,w=c.useMemo(()=>x!==void 0?q(x):void 0,[x]),[l,S]=c.useState(()=>w??new Date),N=c.useMemo(()=>q(e.starttime),[e.starttime]),$=c.useMemo(()=>q(e.endtime),[e.endtime]),{days:T,hours:I,minutes:R,seconds:A}=c.useMemo(()=>U($.getTime(),l.getTime()),[$,l]);c.useEffect(()=>{w&&S(w)},[w]),c.useEffect(()=>{if(P||w||l<N||l>$)return;const a=setInterval(()=>S(new Date),1e3);return()=>clearInterval(a)},[N,$,l,P,w]);const H=N>l,L=$<l;if(H)return i?i(e):null;if(L)return u?u(e):null;const Q=()=>{const a={size:t,counterLabels:y};return n.jsxs(n.Fragment,{children:[d&&n.jsx(j,{numbers:T,tag:"days",...a}),n.jsx(j,{numbers:I,tag:"hours",...a}),n.jsx(j,{numbers:R,tag:"minutes",...a}),n.jsx(j,{numbers:A,tag:"seconds",...a})]})},V=()=>{const a=()=>{const g=[];return d&&g.push(`${T.join("")} ${y.days}`),g.push(`${I.join("")} ${y.hours}`),g.push(`${R.join("")} ${y.minutes}`),g.push(`${A.join("")} ${y.seconds}`),g.join(", ")};return n.jsx(G.VisuallyHidden,{"data-testid":"live-region","aria-live":"polite","aria-label":e["aria-label"],children:a()})},W=Q(),k=z(o,`${o}--size-${t}`,`${o}--variant-${f}`,{[`${o}--full-width`]:s,[`${o}--negative`]:m,[`${o}--show-days`]:d,[`${o}--use-media-queries`]:C,[`${o}--use-container-queries`]:!C},D);return n.jsxs("section",{id:h,className:k,ref:p,role:"timer","data-testid":e["data-testid"],children:[V(),e.label&&n.jsx(M.Paragraph,{className:z(`${o}__label`),variant:"paragraph-100-medium",children:e.label}),n.jsx("div",{className:z(`${o}__counter-container`),children:W})]})});F.displayName="Countdown";exports.Countdown=F;
2
- //# sourceMappingURL=countdown-CGXJyzB2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"countdown-CGXJyzB2.js","sources":["../../../components/countdown/src/counter.tsx","../../../components/countdown/src/utils.ts","../../../components/countdown/src/countdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport { type CounterLabels } from \"./countdown.types\";\nimport styles from \"./counter.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-countdown-counter\";\n\ninterface CounterProps {\n numbers: string[];\n size: \"md\" | \"lg\";\n tag: \"days\" | \"hours\" | \"minutes\" | \"seconds\";\n counterLabels: CounterLabels;\n}\n\nexport const Counter = ({ tag, size, numbers, counterLabels }: CounterProps) => {\n const renderLabel = () => {\n const label = counterLabels[tag];\n const abbreviatedLabel = counterLabels[`${tag}Abbr`];\n\n return (\n <>\n {abbreviatedLabel && (\n <Paragraph className={cx(`${rootClassName}__label`, `${rootClassName}__label--abbr`)}>\n <abbr title={label}>{abbreviatedLabel}</abbr>\n </Paragraph>\n )}\n <Paragraph\n className={cx(`${rootClassName}__label`, {\n [`${rootClassName}__label--full`]: !!abbreviatedLabel,\n })}\n >\n {label}\n </Paragraph>\n </>\n );\n };\n\n return (\n <div\n className={cx(rootClassName, `${rootClassName}--size-${size}`)}\n role=\"group\"\n aria-hidden=\"true\"\n data-testid={`counter-${tag}`}\n >\n <div className={cx(`${rootClassName}__number-list-container`)}>\n {numbers.map((number, index) => {\n return (\n <ul\n key={index}\n className={cx(`${rootClassName}__number-list`)}\n style={\n {\n \"--offset\": number,\n } as React.CSSProperties\n }\n >\n {digits.map((d, i) => {\n const selected = d === number;\n\n return (\n <li\n key={i}\n className={cx(`${rootClassName}__number`, {\n [`${rootClassName}__number--selected`]: selected,\n })}\n >\n {d}\n </li>\n );\n })}\n </ul>\n );\n })}\n </div>\n\n {renderLabel()}\n </div>\n );\n};\n\nconst digits = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\n","export function getDiffs(endtime: number, now = new Date().getTime()) {\n const totalSeconds = Math.max(0, endtime - now);\n\n const _days = Math.floor(totalSeconds / inMs.day);\n const _hours = Math.floor((totalSeconds % inMs.day) / inMs.hour);\n const _minutes = Math.floor((totalSeconds % inMs.hour) / inMs.minute);\n const _seconds = Math.floor((totalSeconds % inMs.minute) / inMs.second);\n\n const days = splitDigits(_days);\n const hours = splitDigits(_hours);\n const minutes = splitDigits(_minutes);\n const seconds = splitDigits(_seconds);\n\n return {\n seconds,\n minutes,\n hours,\n days,\n };\n}\n\nexport const inMs = {\n second: 1000,\n minute: 60 * 1000,\n hour: 60 * 60 * 1000,\n day: 24 * 60 * 60 * 1000,\n};\n\nexport function toDate(t: string | number | Date) {\n return t instanceof Date ? t : new Date(t);\n}\n\nexport function splitDigits(value: number) {\n const s = String(value).padStart(2, \"0\");\n return s.split(\"\");\n}\n","import React, { type ForwardedRef, forwardRef, useEffect, useId, useMemo, useState } from \"react\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./countdown.module.scss\";\nimport { type CountdownProps } from \"./countdown.types\";\nimport { Counter } from \"./counter\";\nimport { getDiffs, toDate } from \"./utils\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-countdown\";\n\n/**\n * Countdown component to display a countdown timer.\n * @param props - CountdownProps\n * @returns A React component that displays a countdown timer.\n */\n\nexport const Countdown = forwardRef(\n (\n { renderAfterEnd, renderBeforeStart, ...props }: CountdownProps,\n ref: ForwardedRef<HTMLButtonElement>\n ) => {\n const id = useId();\n\n const {\n size = \"lg\",\n fullWidth = false,\n negative = false,\n showDays = true,\n variant = \"primary\",\n className,\n counterLabels,\n useMediaQueries = false,\n disabled = false,\n now: fixedNow,\n } = props;\n\n const resolvedNow = useMemo(\n () => (fixedNow !== undefined ? toDate(fixedNow) : undefined),\n [fixedNow]\n );\n\n const [now, setNow] = useState<Date>(() => resolvedNow ?? new Date());\n\n const start = useMemo(() => toDate(props.starttime), [props.starttime]);\n const end = useMemo(() => toDate(props.endtime), [props.endtime]);\n const { days, hours, minutes, seconds } = useMemo(\n () => getDiffs(end.getTime(), now.getTime()),\n [end, now]\n );\n\n useEffect(() => {\n if (resolvedNow) {\n setNow(resolvedNow);\n }\n }, [resolvedNow]);\n\n useEffect(() => {\n if (disabled || resolvedNow) return;\n if (now < start || now > end) return;\n const t = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(t);\n }, [start, end, now, disabled, resolvedNow]);\n\n const hasNotStarted = start > now;\n const hasEnded = end < now;\n\n // don't render if before start or after end\n if (hasNotStarted) return renderBeforeStart ? renderBeforeStart(props) : null;\n if (hasEnded) return renderAfterEnd ? renderAfterEnd(props) : null;\n\n const getCounters = () => {\n const counterProps = { size, counterLabels };\n\n return (\n <>\n {showDays && <Counter numbers={days} tag=\"days\" {...counterProps} />}\n <Counter numbers={hours} tag=\"hours\" {...counterProps} />\n <Counter numbers={minutes} tag=\"minutes\" {...counterProps} />\n <Counter numbers={seconds} tag=\"seconds\" {...counterProps} />\n </>\n );\n };\n\n // Create a single announcement of the current time (only once)\n\n const renderAnnouncer = () => {\n const getTimeAnnouncement = () => {\n const parts = [];\n\n if (showDays) parts.push(`${days.join(\"\")} ${counterLabels.days}`);\n parts.push(`${hours.join(\"\")} ${counterLabels.hours}`);\n parts.push(`${minutes.join(\"\")} ${counterLabels.minutes}`);\n parts.push(`${seconds.join(\"\")} ${counterLabels.seconds}`);\n\n return parts.join(\", \");\n };\n\n return (\n <VisuallyHidden\n data-testid=\"live-region\"\n aria-live=\"polite\"\n aria-label={props[\"aria-label\"]}\n >\n {getTimeAnnouncement()}\n </VisuallyHidden>\n );\n };\n\n const counters = getCounters();\n\n const classes = cx(\n rootClassName,\n `${rootClassName}--size-${size}`,\n `${rootClassName}--variant-${variant}`,\n {\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--show-days`]: showDays,\n [`${rootClassName}--use-media-queries`]: useMediaQueries,\n [`${rootClassName}--use-container-queries`]: !useMediaQueries,\n },\n className\n );\n\n return (\n <section\n id={id}\n className={classes}\n ref={ref}\n role=\"timer\"\n data-testid={props[\"data-testid\"]}\n >\n {/* Visually hidden live region that announces time only once */}\n {renderAnnouncer()}\n {props.label && (\n <Paragraph className={cx(`${rootClassName}__label`)} variant=\"paragraph-100-medium\">\n {props.label}\n </Paragraph>\n )}\n <div className={cx(`${rootClassName}__counter-container`)}>{counters}</div>\n </section>\n );\n }\n);\n\nCountdown.displayName = \"Countdown\";\n"],"names":["cx","c","styles","rootClassName","Counter","tag","size","numbers","counterLabels","renderLabel","label","abbreviatedLabel","jsxs","Fragment","Paragraph","jsx","number","index","digits","d","i","selected","getDiffs","endtime","now","totalSeconds","_days","inMs","_hours","_minutes","_seconds","days","splitDigits","hours","minutes","toDate","t","value","Countdown","forwardRef","renderAfterEnd","renderBeforeStart","props","ref","id","useId","fullWidth","negative","showDays","variant","className","useMediaQueries","disabled","fixedNow","resolvedNow","useMemo","setNow","useState","start","end","seconds","useEffect","hasNotStarted","hasEnded","getCounters","counterProps","renderAnnouncer","getTimeAnnouncement","parts","VisuallyHidden","counters","classes"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const Y=require("react/jsx-runtime"),g=require("react"),ne=require("./text-field-BSgqJjpv.js"),se=require("./visually-hidden-C2CKovZx.js"),oe=require("./bind-DeUYJ6m9.js"),a=require("./format-CFKKBdIQ.js");function ae(){return Object.assign({},a.getDefaultOptions())}function ie(n,e){const r=a.toDate(n,e?.in).getDay();return r===0?7:r}function ce(n,e){const r=ue(e)?new e(0):a.constructFrom(e,0);return r.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),r.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),r}function ue(n){return typeof n=="function"&&n.prototype?.constructor===n}const le=10;class K{subPriority=0;validate(e,r){return!0}}class de extends K{constructor(e,r,t,s,o){super(),this.value=e,this.validateValue=r,this.setValue=t,this.priority=s,o&&(this.subPriority=o)}validate(e,r){return this.validateValue(e,this.value,r)}set(e,r,t){return this.setValue(e,r,this.value,t)}}class fe extends K{priority=le;subPriority=-1;constructor(e,r){super(),this.context=e||(t=>a.constructFrom(r,t))}set(e,r){return r.timestampIsSet?e:a.constructFrom(e,ce(e,this.context))}}class c{run(e,r,t,s){const o=this.parse(e,r,t,s);return o?{setter:new de(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(e,r,t){return!0}}class we extends c{priority=140;parse(e,r,t){switch(r){case"G":case"GG":case"GGG":return t.era(e,{width:"abbreviated"})||t.era(e,{width:"narrow"});case"GGGGG":return t.era(e,{width:"narrow"});default:return t.era(e,{width:"wide"})||t.era(e,{width:"abbreviated"})||t.era(e,{width:"narrow"})}}set(e,r,t){return r.era=t,e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["R","u","t","T"]}const w={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},_={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function h(n,e){return n&&{value:e(n.value),rest:n.rest}}function l(n,e){const r=e.match(n);return r?{value:parseInt(r[0],10),rest:e.slice(r[0].length)}:null}function k(n,e){const r=e.match(n);if(!r)return null;if(r[0]==="Z")return{value:0,rest:e.slice(1)};const t=r[1]==="+"?1:-1,s=r[2]?parseInt(r[2],10):0,o=r[3]?parseInt(r[3],10):0,d=r[5]?parseInt(r[5],10):0;return{value:t*(s*a.millisecondsInHour+o*a.millisecondsInMinute+d*a.millisecondsInSecond),rest:e.slice(r[0].length)}}function V(n){return l(w.anyDigitsSigned,n)}function f(n,e){switch(n){case 1:return l(w.singleDigit,e);case 2:return l(w.twoDigits,e);case 3:return l(w.threeDigits,e);case 4:return l(w.fourDigits,e);default:return l(new RegExp("^\\d{1,"+n+"}"),e)}}function F(n,e){switch(n){case 1:return l(w.singleDigitSigned,e);case 2:return l(w.twoDigitsSigned,e);case 3:return l(w.threeDigitsSigned,e);case 4:return l(w.fourDigitsSigned,e);default:return l(new RegExp("^-?\\d{1,"+n+"}"),e)}}function G(n){switch(n){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function Z(n,e){const r=e>0,t=r?e:1-e;let s;if(t<=50)s=n||100;else{const o=t+50,d=Math.trunc(o/100)*100,b=n>=o%100;s=n+d-(b?100:0)}return r?s:1-s}function U(n){return n%400===0||n%4===0&&n%100!==0}class he extends c{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(e,r,t){const s=o=>({year:o,isTwoDigitYear:r==="yy"});switch(r){case"y":return h(f(4,e),s);case"yo":return h(t.ordinalNumber(e,{unit:"year"}),s);default:return h(f(r.length,e),s)}}validate(e,r){return r.isTwoDigitYear||r.year>0}set(e,r,t){const s=e.getFullYear();if(t.isTwoDigitYear){const d=Z(t.year,s);return e.setFullYear(d,0,1),e.setHours(0,0,0,0),e}const o=!("era"in r)||r.era===1?t.year:1-t.year;return e.setFullYear(o,0,1),e.setHours(0,0,0,0),e}}class pe extends c{priority=130;parse(e,r,t){const s=o=>({year:o,isTwoDigitYear:r==="YY"});switch(r){case"Y":return h(f(4,e),s);case"Yo":return h(t.ordinalNumber(e,{unit:"year"}),s);default:return h(f(r.length,e),s)}}validate(e,r){return r.isTwoDigitYear||r.year>0}set(e,r,t,s){const o=a.getWeekYear(e,s);if(t.isTwoDigitYear){const b=Z(t.year,o);return e.setFullYear(b,0,s.firstWeekContainsDate),e.setHours(0,0,0,0),a.startOfWeek(e,s)}const d=!("era"in r)||r.era===1?t.year:1-t.year;return e.setFullYear(d,0,s.firstWeekContainsDate),e.setHours(0,0,0,0),a.startOfWeek(e,s)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ye extends c{priority=130;parse(e,r){return F(r==="R"?4:r.length,e)}set(e,r,t){const s=a.constructFrom(e,0);return s.setFullYear(t,0,4),s.setHours(0,0,0,0),a.startOfISOWeek(s)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class xe extends c{priority=130;parse(e,r){return F(r==="u"?4:r.length,e)}set(e,r,t){return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class be extends c{priority=120;parse(e,r,t){switch(r){case"Q":case"QQ":return f(r.length,e);case"Qo":return t.ordinalNumber(e,{unit:"quarter"});case"QQQ":return t.quarter(e,{width:"abbreviated",context:"formatting"})||t.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return t.quarter(e,{width:"narrow",context:"formatting"});default:return t.quarter(e,{width:"wide",context:"formatting"})||t.quarter(e,{width:"abbreviated",context:"formatting"})||t.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,r){return r>=1&&r<=4}set(e,r,t){return e.setMonth((t-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class me extends c{priority=120;parse(e,r,t){switch(r){case"q":case"qq":return f(r.length,e);case"qo":return t.ordinalNumber(e,{unit:"quarter"});case"qqq":return t.quarter(e,{width:"abbreviated",context:"standalone"})||t.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return t.quarter(e,{width:"narrow",context:"standalone"});default:return t.quarter(e,{width:"wide",context:"standalone"})||t.quarter(e,{width:"abbreviated",context:"standalone"})||t.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,r){return r>=1&&r<=4}set(e,r,t){return e.setMonth((t-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class ge extends c{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(e,r,t){const s=o=>o-1;switch(r){case"M":return h(l(w.month,e),s);case"MM":return h(f(2,e),s);case"Mo":return h(t.ordinalNumber(e,{unit:"month"}),s);case"MMM":return t.month(e,{width:"abbreviated",context:"formatting"})||t.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return t.month(e,{width:"narrow",context:"formatting"});default:return t.month(e,{width:"wide",context:"formatting"})||t.month(e,{width:"abbreviated",context:"formatting"})||t.month(e,{width:"narrow",context:"formatting"})}}validate(e,r){return r>=0&&r<=11}set(e,r,t){return e.setMonth(t,1),e.setHours(0,0,0,0),e}}class Te extends c{priority=110;parse(e,r,t){const s=o=>o-1;switch(r){case"L":return h(l(w.month,e),s);case"LL":return h(f(2,e),s);case"Lo":return h(t.ordinalNumber(e,{unit:"month"}),s);case"LLL":return t.month(e,{width:"abbreviated",context:"standalone"})||t.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return t.month(e,{width:"narrow",context:"standalone"});default:return t.month(e,{width:"wide",context:"standalone"})||t.month(e,{width:"abbreviated",context:"standalone"})||t.month(e,{width:"narrow",context:"standalone"})}}validate(e,r){return r>=0&&r<=11}set(e,r,t){return e.setMonth(t,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function De(n,e,r){const t=a.toDate(n,r?.in),s=a.getWeek(t,r)-e;return t.setDate(t.getDate()-s*7),a.toDate(t,r?.in)}class _e extends c{priority=100;parse(e,r,t){switch(r){case"w":return l(w.week,e);case"wo":return t.ordinalNumber(e,{unit:"week"});default:return f(r.length,e)}}validate(e,r){return r>=1&&r<=53}set(e,r,t,s){return a.startOfWeek(De(e,t,s),s)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function ke(n,e,r){const t=a.toDate(n,r?.in),s=a.getISOWeek(t,r)-e;return t.setDate(t.getDate()-s*7),t}class Pe extends c{priority=100;parse(e,r,t){switch(r){case"I":return l(w.week,e);case"Io":return t.ordinalNumber(e,{unit:"week"});default:return f(r.length,e)}}validate(e,r){return r>=1&&r<=53}set(e,r,t){return a.startOfISOWeek(ke(e,t))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const Me=[31,28,31,30,31,30,31,31,30,31,30,31],Oe=[31,29,31,30,31,30,31,31,30,31,30,31];class Ee extends c{priority=90;subPriority=1;parse(e,r,t){switch(r){case"d":return l(w.date,e);case"do":return t.ordinalNumber(e,{unit:"date"});default:return f(r.length,e)}}validate(e,r){const t=e.getFullYear(),s=U(t),o=e.getMonth();return s?r>=1&&r<=Oe[o]:r>=1&&r<=Me[o]}set(e,r,t){return e.setDate(t),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Ie extends c{priority=90;subpriority=1;parse(e,r,t){switch(r){case"D":case"DD":return l(w.dayOfYear,e);case"Do":return t.ordinalNumber(e,{unit:"date"});default:return f(r.length,e)}}validate(e,r){const t=e.getFullYear();return U(t)?r>=1&&r<=366:r>=1&&r<=365}set(e,r,t){return e.setMonth(0,t),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function X(n,e,r){const t=a.getDefaultOptions(),s=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??t.weekStartsOn??t.locale?.options?.weekStartsOn??0,o=a.toDate(n,r?.in),d=o.getDay(),H=(e%7+7)%7,x=7-s,M=e<0||e>6?e-(d+x)%7:(H+x)%7-(d+x)%7;return a.addDays(o,M,r)}class Ye extends c{priority=90;parse(e,r,t){switch(r){case"E":case"EE":case"EEE":return t.day(e,{width:"abbreviated",context:"formatting"})||t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return t.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"});default:return t.day(e,{width:"wide",context:"formatting"})||t.day(e,{width:"abbreviated",context:"formatting"})||t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"})}}validate(e,r){return r>=0&&r<=6}set(e,r,t,s){return e=X(e,t,s),e.setHours(0,0,0,0),e}incompatibleTokens=["D","i","e","c","t","T"]}class He extends c{priority=90;parse(e,r,t,s){const o=d=>{const b=Math.floor((d-1)/7)*7;return(d+s.weekStartsOn+6)%7+b};switch(r){case"e":case"ee":return h(f(r.length,e),o);case"eo":return h(t.ordinalNumber(e,{unit:"day"}),o);case"eee":return t.day(e,{width:"abbreviated",context:"formatting"})||t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"});case"eeeee":return t.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"});default:return t.day(e,{width:"wide",context:"formatting"})||t.day(e,{width:"abbreviated",context:"formatting"})||t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"})}}validate(e,r){return r>=0&&r<=6}set(e,r,t,s){return e=X(e,t,s),e.setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class qe extends c{priority=90;parse(e,r,t,s){const o=d=>{const b=Math.floor((d-1)/7)*7;return(d+s.weekStartsOn+6)%7+b};switch(r){case"c":case"cc":return h(f(r.length,e),o);case"co":return h(t.ordinalNumber(e,{unit:"day"}),o);case"ccc":return t.day(e,{width:"abbreviated",context:"standalone"})||t.day(e,{width:"short",context:"standalone"})||t.day(e,{width:"narrow",context:"standalone"});case"ccccc":return t.day(e,{width:"narrow",context:"standalone"});case"cccccc":return t.day(e,{width:"short",context:"standalone"})||t.day(e,{width:"narrow",context:"standalone"});default:return t.day(e,{width:"wide",context:"standalone"})||t.day(e,{width:"abbreviated",context:"standalone"})||t.day(e,{width:"short",context:"standalone"})||t.day(e,{width:"narrow",context:"standalone"})}}validate(e,r){return r>=0&&r<=6}set(e,r,t,s){return e=X(e,t,s),e.setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function Re(n,e,r){const t=a.toDate(n,r?.in),s=ie(t,r),o=e-s;return a.addDays(t,o,r)}class ve extends c{priority=90;parse(e,r,t){const s=o=>o===0?7:o;switch(r){case"i":case"ii":return f(r.length,e);case"io":return t.ordinalNumber(e,{unit:"day"});case"iii":return h(t.day(e,{width:"abbreviated",context:"formatting"})||t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"}),s);case"iiiii":return h(t.day(e,{width:"narrow",context:"formatting"}),s);case"iiiiii":return h(t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"}),s);default:return h(t.day(e,{width:"wide",context:"formatting"})||t.day(e,{width:"abbreviated",context:"formatting"})||t.day(e,{width:"short",context:"formatting"})||t.day(e,{width:"narrow",context:"formatting"}),s)}}validate(e,r){return r>=1&&r<=7}set(e,r,t){return e=Re(e,t),e.setHours(0,0,0,0),e}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class Le extends c{priority=80;parse(e,r,t){switch(r){case"a":case"aa":case"aaa":return t.dayPeriod(e,{width:"abbreviated",context:"formatting"})||t.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return t.dayPeriod(e,{width:"narrow",context:"formatting"});default:return t.dayPeriod(e,{width:"wide",context:"formatting"})||t.dayPeriod(e,{width:"abbreviated",context:"formatting"})||t.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,r,t){return e.setHours(G(t),0,0,0),e}incompatibleTokens=["b","B","H","k","t","T"]}class Ne extends c{priority=80;parse(e,r,t){switch(r){case"b":case"bb":case"bbb":return t.dayPeriod(e,{width:"abbreviated",context:"formatting"})||t.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return t.dayPeriod(e,{width:"narrow",context:"formatting"});default:return t.dayPeriod(e,{width:"wide",context:"formatting"})||t.dayPeriod(e,{width:"abbreviated",context:"formatting"})||t.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,r,t){return e.setHours(G(t),0,0,0),e}incompatibleTokens=["a","B","H","k","t","T"]}class Ce extends c{priority=80;parse(e,r,t){switch(r){case"B":case"BB":case"BBB":return t.dayPeriod(e,{width:"abbreviated",context:"formatting"})||t.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return t.dayPeriod(e,{width:"narrow",context:"formatting"});default:return t.dayPeriod(e,{width:"wide",context:"formatting"})||t.dayPeriod(e,{width:"abbreviated",context:"formatting"})||t.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,r,t){return e.setHours(G(t),0,0,0),e}incompatibleTokens=["a","b","t","T"]}class Fe extends c{priority=70;parse(e,r,t){switch(r){case"h":return l(w.hour12h,e);case"ho":return t.ordinalNumber(e,{unit:"hour"});default:return f(r.length,e)}}validate(e,r){return r>=1&&r<=12}set(e,r,t){const s=e.getHours()>=12;return s&&t<12?e.setHours(t+12,0,0,0):!s&&t===12?e.setHours(0,0,0,0):e.setHours(t,0,0,0),e}incompatibleTokens=["H","K","k","t","T"]}class Qe extends c{priority=70;parse(e,r,t){switch(r){case"H":return l(w.hour23h,e);case"Ho":return t.ordinalNumber(e,{unit:"hour"});default:return f(r.length,e)}}validate(e,r){return r>=0&&r<=23}set(e,r,t){return e.setHours(t,0,0,0),e}incompatibleTokens=["a","b","h","K","k","t","T"]}class We extends c{priority=70;parse(e,r,t){switch(r){case"K":return l(w.hour11h,e);case"Ko":return t.ordinalNumber(e,{unit:"hour"});default:return f(r.length,e)}}validate(e,r){return r>=0&&r<=11}set(e,r,t){return e.getHours()>=12&&t<12?e.setHours(t+12,0,0,0):e.setHours(t,0,0,0),e}incompatibleTokens=["h","H","k","t","T"]}class Be extends c{priority=70;parse(e,r,t){switch(r){case"k":return l(w.hour24h,e);case"ko":return t.ordinalNumber(e,{unit:"hour"});default:return f(r.length,e)}}validate(e,r){return r>=1&&r<=24}set(e,r,t){const s=t<=24?t%24:t;return e.setHours(s,0,0,0),e}incompatibleTokens=["a","b","h","H","K","t","T"]}class Ae extends c{priority=60;parse(e,r,t){switch(r){case"m":return l(w.minute,e);case"mo":return t.ordinalNumber(e,{unit:"minute"});default:return f(r.length,e)}}validate(e,r){return r>=0&&r<=59}set(e,r,t){return e.setMinutes(t,0,0),e}incompatibleTokens=["t","T"]}class Ge extends c{priority=50;parse(e,r,t){switch(r){case"s":return l(w.second,e);case"so":return t.ordinalNumber(e,{unit:"second"});default:return f(r.length,e)}}validate(e,r){return r>=0&&r<=59}set(e,r,t){return e.setSeconds(t,0),e}incompatibleTokens=["t","T"]}class Xe extends c{priority=30;parse(e,r){const t=s=>Math.trunc(s*Math.pow(10,-r.length+3));return h(f(r.length,e),t)}set(e,r,t){return e.setMilliseconds(t),e}incompatibleTokens=["t","T"]}class je extends c{priority=10;parse(e,r){switch(r){case"X":return k(_.basicOptionalMinutes,e);case"XX":return k(_.basic,e);case"XXXX":return k(_.basicOptionalSeconds,e);case"XXXXX":return k(_.extendedOptionalSeconds,e);default:return k(_.extended,e)}}set(e,r,t){return r.timestampIsSet?e:a.constructFrom(e,e.getTime()-a.getTimezoneOffsetInMilliseconds(e)-t)}incompatibleTokens=["t","T","x"]}class $e extends c{priority=10;parse(e,r){switch(r){case"x":return k(_.basicOptionalMinutes,e);case"xx":return k(_.basic,e);case"xxxx":return k(_.basicOptionalSeconds,e);case"xxxxx":return k(_.extendedOptionalSeconds,e);default:return k(_.extended,e)}}set(e,r,t){return r.timestampIsSet?e:a.constructFrom(e,e.getTime()-a.getTimezoneOffsetInMilliseconds(e)-t)}incompatibleTokens=["t","T","X"]}class ze extends c{priority=40;parse(e){return V(e)}set(e,r,t){return[a.constructFrom(e,t*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class Ke extends c{priority=20;parse(e){return V(e)}set(e,r,t){return[a.constructFrom(e,t),{timestampIsSet:!0}]}incompatibleTokens="*"}const Ve={G:new we,y:new he,Y:new pe,R:new ye,u:new xe,Q:new be,q:new me,M:new ge,L:new Te,w:new _e,I:new Pe,d:new Ee,D:new Ie,E:new Ye,e:new He,c:new qe,i:new ve,a:new Le,b:new Ne,B:new Ce,h:new Fe,H:new Qe,K:new We,k:new Be,m:new Ae,s:new Ge,S:new Xe,X:new je,x:new $e,t:new ze,T:new Ke},Ze=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ue=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Je=/^'([^]*?)'?$/,Se=/''/g,et=/\S/,tt=/[a-zA-Z]/;function rt(n,e,r,t){const s=()=>a.constructFrom(r,NaN),o=ae(),d=o.locale??a.enUS,b=o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,H=o.weekStartsOn??o.locale?.options?.weekStartsOn??0,x={firstWeekContainsDate:b,weekStartsOn:H,locale:d},M=[new fe(t?.in,r)],L=e.match(Ue).map(i=>{const u=i[0];if(u in a.longFormatters){const m=a.longFormatters[u];return m(i,d.formatLong)}return i}).join("").match(Ze),q=[];for(let i of L){a.isProtectedWeekYearToken(i)&&a.warnOrThrowProtectedError(i,e,n),a.isProtectedDayOfYearToken(i)&&a.warnOrThrowProtectedError(i,e,n);const u=i[0],m=Ve[u];if(m){const{incompatibleTokens:C}=m;if(Array.isArray(C)){const O=q.find(R=>C.includes(R.token)||R.token===u);if(O)throw new RangeError(`The format string mustn't contain \`${O.fullToken}\` and \`${i}\` at the same time`)}else if(m.incompatibleTokens==="*"&&q.length>0)throw new RangeError(`The format string mustn't contain \`${i}\` and any other token at the same time`);q.push({token:u,fullToken:i});const P=m.run(n,i,d.match,x);if(!P)return s();M.push(P.setter),n=P.rest}else{if(u.match(tt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+u+"`");if(i==="''"?i="'":u==="'"&&(i=nt(i)),n.indexOf(i)===0)n=n.slice(i.length);else return s()}}if(n.length>0&&et.test(n))return s();const Q=M.map(i=>i.priority).sort((i,u)=>u-i).filter((i,u,m)=>m.indexOf(i)===u).map(i=>M.filter(u=>u.priority===i).sort((u,m)=>m.subPriority-u.subPriority)).map(i=>i[0]);let p=a.toDate(r,t?.in);if(isNaN(+p))return s();const N={};for(const i of Q){if(!i.validate(p,x))return s();const u=i.set(p,N,x);Array.isArray(u)?(p=u[0],Object.assign(N,u[1])):p=u}return p}function nt(n){return n.match(Je)[1].replace(Se,"'")}const st={"purpur-date-field":"_purpur-date-field_6j24v_1","purpur-date-field__overlay":"_purpur-date-field__overlay_6j24v_4","purpur-date-field__start-adornment":"_purpur-date-field__start-adornment_6j24v_14"},ot=n=>rt(n,"yyyy-MM-dd",new Date),$=n=>n?a.format(n,"yyyy-MM-dd"):"",at=(...n)=>{const e=n.filter(Boolean);return e.length<=1?e[0]||null:r=>{for(const t of e)typeof t=="function"?t(r):t&&(t.current=r)}},B=oe.c.bind(st),A="purpur-date-field",z=10,it={yearChar:"Y",monthChar:"M",dayChar:"D"},ct=n=>{const e=n??it;return`${e.yearChar.repeat(4)}-${e.monthChar.repeat(2)}-${e.dayChar.repeat(2)}`},ut=(n,e)=>{let r=n;return e.length>4&&n>=4&&(r+=1),e.length>7&&n>=6&&(r+=1),Math.min(r,e.length)},J=g.forwardRef(({value:n,label:e,onChange:r,startAdornment:t,helperText:s,formatLabel:o,dateChars:d,...b},H)=>{const[x,M]=g.useState($(n)),L=ct(d);g.useEffect(()=>{M(n?$(n):"")},[n]);const[q,Q]=g.useState({}),p=g.useRef(null),N=at(H,p),i=g.useId(),u=g.useId(),m=s?`${i}-helper-text`:void 0,C=[u,m,b["aria-describedby"]].filter(Boolean).join(" ")||void 0,P=g.useRef(null),O=g.useRef(null),R=()=>{if(p.current){const y=window.document.querySelector(`label[for="${p.current.id}"]`),T=y?y.offsetHeight+4:0,E=window.getComputedStyle(p.current);Q({position:"absolute",top:p.current.offsetTop+T,left:p.current.offsetLeft,padding:E.padding,width:p.current.offsetWidth,height:p.current.offsetHeight})}};g.useLayoutEffect(()=>{R()},[x,e,p]),g.useEffect(()=>{if(!p.current)return;const y=new ResizeObserver(()=>{R()});return y.observe(p.current),()=>y.disconnect()},[]),g.useLayoutEffect(()=>{P.current!==null&&p.current&&(p.current.setSelectionRange(P.current,P.current),P.current=null)},[x]);const S=y=>{if(y.length===0&&r?.(void 0),y.length!==z)return;const T=ot(y);a.isValid(T)&&r?.(T)},ee=y=>{const T=y.currentTarget.selectionStart??0;O.current=x.slice(0,T).replace(/\D/g,"").length},te=y=>{const T=y.target.value,E=y.target.selectionStart??0,v=x.replace(/\D/g,""),D=T.replace(/\D/g,"");let I="";D.length>0&&(I+=D.slice(0,4)),D.length>4&&(I+="-"+D.slice(4,6)),D.length>6&&(I+="-"+D.slice(6,8));let W;const j=O.current;j!==null&&D.length>v.length?W=Math.min(j+(D.length-v.length),D.length):W=Math.min(T.slice(0,E).replace(/\D/g,"").length,D.length),O.current=null,P.current=ut(W,I),M(I),S(I)},re=()=>L.split("").map((T,E)=>{const v=x[E];return Y.jsx("span",{style:{color:v?"transparent":"var(--purpur-color-text-medium)"},children:v||T},E)});return Y.jsxs("div",{className:B(A),children:[Y.jsxs(se.VisuallyHidden,{id:u,children:[o,": ",L]}),Y.jsx(ne.TextField,{...b,id:i,helperText:s,startAdornment:t&&Y.jsx("span",{className:B(`${A}__start-adornment`),children:t}),ref:N,value:x,onChange:te,onKeyDown:ee,type:"text",maxLength:z,inputMode:"numeric",label:e,"aria-describedby":C}),Y.jsx("div",{role:"presentation",style:q,className:B(`${A}__overlay`),children:re()})]})});J.displayName="DateField";exports.DateField=J;
2
- //# sourceMappingURL=date-field-CtpWDaSh.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),p=require("react"),V=require("./date-field-CtpWDaSh.js"),M=require("./field-error-text-FhQulSV5.js"),z=require("./field-helper-text-DSKO-Tce.js"),G=require("./icon-DNHpBTHs-faYHqTXU.js"),J=require("./label-yHK80hhV.js"),K=require("./visually-hidden-C2CKovZx.js"),Q=require("./bind-DeUYJ6m9.js");;/* empty css */const S={name:"calendar",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M8 1.6a.9.9 0 0 1 .9.9V7a.9.9 0 0 1-1.8 0V5.9H4a.1.1 0 0 0-.1.1v3.105A.91.91 0 0 1 4 9.1h16.1V6a.1.1 0 0 0-.1-.1h-3.1V7a.9.9 0 1 1-1.8 0V5.9h-3.6a.9.9 0 1 1 0-1.8h3.6V2.5a.9.9 0 1 1 1.8 0v1.6H20c1.05 0 1.9.85 1.9 1.9v14a1.9 1.9 0 0 1-1.9 1.9H4A1.9 1.9 0 0 1 2.1 20V6c0-1.05.85-1.9 1.9-1.9h3.1V2.5a.9.9 0 0 1 .9-.9Zm12.1 9.3H4a.917.917 0 0 1-.1-.005V20a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1v-9.1ZM5.6 13.5a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm-10 4a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Z" clip-rule="evenodd"/></svg>',keywords:["calendar"],category:"other"},g=l=>e.jsx(G.b,{...l,svg:S});g.displayName="IconCalendar";const T={"purpur-date-range-field":"_purpur-date-range-field_1gys2_1","purpur-date-range-field__label":"_purpur-date-range-field__label_1gys2_10","purpur-date-range-field__label--disabled":"_purpur-date-range-field__label--disabled_1gys2_18","purpur-date-range-field__fields":"_purpur-date-range-field__fields_1gys2_21","purpur-date-range-field__field":"_purpur-date-range-field__field_1gys2_21","purpur-date-range-field__field--from":"_purpur-date-range-field__field--from_1gys2_32","purpur-date-range-field__field--to":"_purpur-date-range-field__field--to_1gys2_43"},t=Q.c.bind(T),a="purpur-date-range-field",N=p.forwardRef(({label:l,fromLabel:q,toLabel:R,helperText:o,errorText:s,formatLabel:h,dateChars:m,disabled:r,readOnly:c,required:_,hideRequiredAsterisk:Z,fromValue:w,toValue:B,onFromChange:D,onToChange:C,fromFieldProps:b,toFieldProps:v,fromInputRef:n,toInputRef:F,className:A,...k},E)=>{const d=k["data-testid"],i=p.useId(),y=p.useRef(null),L=f=>{y.current=f,typeof n=="function"?n(f):n&&(n.current=f)},u=l?`${i}-label`:void 0,j=`${i}-from-label`,$=`${i}-to-label`,x=o?`${i}-helper`:void 0,H=s?`${i}-error`:void 0,I=[x,H].filter(Boolean).join(" ")||void 0;return e.jsxs("fieldset",{ref:E,className:t(a,A,{[`${a}--disabled`]:r,[`${a}--readonly`]:c&&!r}),"data-testid":d,children:[l&&e.jsx("legend",{id:u,className:t(`${a}__label`,{[`${a}__label--disabled`]:r}),"data-testid":d&&`${d}-label`,onClick:r?void 0:()=>{y.current?.focus()},children:e.jsxs(J.Label,{disabled:r,children:[_&&!Z&&e.jsx("span",{"aria-hidden":!0,children:"*"}),l]})}),e.jsxs(K.VisuallyHidden,{children:[e.jsx("span",{id:j,children:q}),e.jsx("span",{id:$,children:R})]}),e.jsxs("div",{className:t(`${a}__fields`),children:[e.jsx(V.DateField,{...b,ref:L,id:b?.id??`${i}-from`,className:t(`${a}__field`,`${a}__field--from`),startAdornment:e.jsx(g,{size:"sm"}),disabled:r,readOnly:c,required:_,errorText:s,formatLabel:h,dateChars:m,value:w,onChange:D,"aria-labelledby":[u,j].filter(Boolean).join(" ")||void 0,"aria-describedby":I,"data-testid":d&&`${d}-from`}),e.jsx(V.DateField,{...v,ref:F,id:v?.id??`${i}-to`,className:t(`${a}__field`,`${a}__field--to`),disabled:r,readOnly:c,required:_,errorText:s,formatLabel:h,dateChars:m,value:B,onChange:C,"aria-labelledby":[u,$].filter(Boolean).join(" ")||void 0,"aria-describedby":I,"data-testid":d&&`${d}-to`})]}),o&&e.jsx(z.FieldHelperText,{id:x,disabled:r,children:o}),s&&e.jsx(M.FieldErrorText,{id:H,"data-testid":d&&`${d}-error`,children:s})]})});N.displayName="DateRangeField";exports.DateRangeField=N;exports.r=g;
2
- //# sourceMappingURL=date-range-field-B33XeBW8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-range-field-B33XeBW8.js","sources":["../../../components/icon/dist/components/calendar.es.js","../../../components/date-range-field/src/date-range-field.tsx"],"sourcesContent":["import { jsx as h } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst o = {\n name: \"calendar\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8 1.6a.9.9 0 0 1 .9.9V7a.9.9 0 0 1-1.8 0V5.9H4a.1.1 0 0 0-.1.1v3.105A.91.91 0 0 1 4 9.1h16.1V6a.1.1 0 0 0-.1-.1h-3.1V7a.9.9 0 1 1-1.8 0V5.9h-3.6a.9.9 0 1 1 0-1.8h3.6V2.5a.9.9 0 1 1 1.8 0v1.6H20c1.05 0 1.9.85 1.9 1.9v14a1.9 1.9 0 0 1-1.9 1.9H4A1.9 1.9 0 0 1 2.1 20V6c0-1.05.85-1.9 1.9-1.9h3.1V2.5a.9.9 0 0 1 .9-.9Zm12.1 9.3H4a.917.917 0 0 1-.1-.005V20a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1v-9.1ZM5.6 13.5a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm-10 4a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"calendar\"],\n category: \"other\"\n}, r = (a) => /* @__PURE__ */ h(e, { ...a, svg: o });\nr.displayName = \"IconCalendar\";\nexport {\n r as IconCalendar\n};\n//# sourceMappingURL=calendar.es.js.map\n","import React, { type ForwardedRef, forwardRef, useId, useRef } from \"react\";\nimport { DateField, type DateFieldProps } from \"@purpur/date-field\";\nimport { FieldErrorText } from \"@purpur/field-error-text\";\nimport { FieldHelperText } from \"@purpur/field-helper-text\";\nimport { IconCalendar } from \"@purpur/icon/calendar\";\nimport { Label } from \"@purpur/label\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport \"@purpur/date-field/styles\";\nimport \"@purpur/field-error-text/styles\";\nimport \"@purpur/field-helper-text/styles\";\nimport \"@purpur/icon/styles\";\nimport \"@purpur/label/styles\";\nimport styles from \"./date-range-field.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-date-range-field\";\n\ntype IndividualFieldProps = Omit<\n DateFieldProps,\n | \"value\"\n | \"onChange\"\n | \"disabled\"\n | \"readOnly\"\n | \"required\"\n | \"negative\"\n | \"formatLabel\"\n | \"dateChars\"\n | \"aria-labelledby\"\n | \"aria-describedby\"\n | \"data-testid\"\n | \"startAdornment\"\n | \"className\"\n | \"ref\"\n>;\n\nexport type DateRangeFieldProps = {\n label?: string;\n fromLabel: string;\n toLabel: string;\n helperText?: string;\n errorText?: string;\n formatLabel: string;\n dateChars?: DateFieldProps[\"dateChars\"];\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n hideRequiredAsterisk?: boolean;\n\n fromValue?: Date;\n toValue?: Date;\n onFromChange?: (date: Date | undefined) => void;\n onToChange?: (date: Date | undefined) => void;\n\n fromFieldProps?: IndividualFieldProps;\n toFieldProps?: IndividualFieldProps;\n\n fromInputRef?: React.Ref<HTMLInputElement>;\n toInputRef?: React.Ref<HTMLInputElement>;\n\n className?: string;\n [\"data-testid\"]?: string;\n};\n\nexport const DateRangeField = forwardRef(\n (\n {\n label,\n fromLabel,\n toLabel,\n helperText,\n errorText,\n formatLabel,\n dateChars,\n disabled,\n readOnly,\n required,\n hideRequiredAsterisk,\n fromValue,\n toValue,\n onFromChange,\n onToChange,\n fromFieldProps,\n toFieldProps,\n fromInputRef: externalFromInputRef,\n toInputRef: externalToInputRef,\n className,\n ...rest\n }: DateRangeFieldProps,\n ref: ForwardedRef<HTMLFieldSetElement>\n ) => {\n const dataTestId = rest[\"data-testid\"];\n const baseId = useId();\n const fromInputRef = useRef<HTMLInputElement>(null);\n const setFromInputRef = (node: HTMLInputElement | null) => {\n fromInputRef.current = node;\n if (typeof externalFromInputRef === \"function\") {\n externalFromInputRef(node);\n } else if (externalFromInputRef) {\n (externalFromInputRef as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n }\n };\n const labelId = label ? `${baseId}-label` : undefined;\n const fromHiddenLabelId = `${baseId}-from-label`;\n const toHiddenLabelId = `${baseId}-to-label`;\n const helperId = helperText ? `${baseId}-helper` : undefined;\n const errorId = errorText ? `${baseId}-error` : undefined;\n\n const describedBy = [helperId, errorId].filter(Boolean).join(\" \") || undefined;\n\n return (\n <fieldset\n ref={ref}\n className={cx(rootClassName, className, {\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--readonly`]: readOnly && !disabled,\n })}\n data-testid={dataTestId}\n >\n {label && (\n // Mimics native <label> click-to-focus; no key handler needed (<legend> is not focusable).\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <legend\n id={labelId}\n className={cx(`${rootClassName}__label`, {\n [`${rootClassName}__label--disabled`]: disabled,\n })}\n data-testid={dataTestId && `${dataTestId}-label`}\n onClick={\n disabled\n ? undefined\n : () => {\n fromInputRef.current?.focus();\n }\n }\n >\n <Label disabled={disabled}>\n {required && !hideRequiredAsterisk && <span aria-hidden>*</span>}\n {label}\n </Label>\n </legend>\n )}\n\n <VisuallyHidden>\n <span id={fromHiddenLabelId}>{fromLabel}</span>\n <span id={toHiddenLabelId}>{toLabel}</span>\n </VisuallyHidden>\n\n <div className={cx(`${rootClassName}__fields`)}>\n <DateField\n {...fromFieldProps}\n ref={setFromInputRef}\n id={fromFieldProps?.id ?? `${baseId}-from`}\n className={cx(`${rootClassName}__field`, `${rootClassName}__field--from`)}\n startAdornment={<IconCalendar size=\"sm\" />}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n errorText={errorText}\n formatLabel={formatLabel}\n dateChars={dateChars}\n value={fromValue}\n onChange={onFromChange}\n aria-labelledby={[labelId, fromHiddenLabelId].filter(Boolean).join(\" \") || undefined}\n aria-describedby={describedBy}\n data-testid={dataTestId && `${dataTestId}-from`}\n />\n <DateField\n {...toFieldProps}\n ref={externalToInputRef}\n id={toFieldProps?.id ?? `${baseId}-to`}\n className={cx(`${rootClassName}__field`, `${rootClassName}__field--to`)}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n errorText={errorText}\n formatLabel={formatLabel}\n dateChars={dateChars}\n value={toValue}\n onChange={onToChange}\n aria-labelledby={[labelId, toHiddenLabelId].filter(Boolean).join(\" \") || undefined}\n aria-describedby={describedBy}\n data-testid={dataTestId && `${dataTestId}-to`}\n />\n </div>\n\n {helperText && (\n <FieldHelperText id={helperId!} disabled={disabled}>\n {helperText}\n </FieldHelperText>\n )}\n {errorText && (\n <FieldErrorText\n id={errorId}\n data-testid={dataTestId && `${dataTestId}-error`}\n >\n {errorText}\n </FieldErrorText>\n )}\n </fieldset>\n );\n }\n);\n\nDateRangeField.displayName = \"DateRangeField\";\n"],"names":["o","r","a","h","e","cx","c","styles","rootClassName","DateRangeField","forwardRef","label","fromLabel","toLabel","helperText","errorText","formatLabel","dateChars","disabled","readOnly","required","hideRequiredAsterisk","fromValue","toValue","onFromChange","onToChange","fromFieldProps","toFieldProps","externalFromInputRef","externalToInputRef","className","rest","ref","dataTestId","baseId","useId","fromInputRef","useRef","setFromInputRef","node","labelId","fromHiddenLabelId","toHiddenLabelId","helperId","errorId","describedBy","jsxs","jsx","Label","VisuallyHidden","DateField","IconCalendar","FieldHelperText","FieldErrorText"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-range-field-BmjQeiOv.mjs","sources":["../../../components/icon/dist/components/calendar.es.js","../../../components/date-range-field/src/date-range-field.tsx"],"sourcesContent":["import { jsx as h } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst o = {\n name: \"calendar\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8 1.6a.9.9 0 0 1 .9.9V7a.9.9 0 0 1-1.8 0V5.9H4a.1.1 0 0 0-.1.1v3.105A.91.91 0 0 1 4 9.1h16.1V6a.1.1 0 0 0-.1-.1h-3.1V7a.9.9 0 1 1-1.8 0V5.9h-3.6a.9.9 0 1 1 0-1.8h3.6V2.5a.9.9 0 1 1 1.8 0v1.6H20c1.05 0 1.9.85 1.9 1.9v14a1.9 1.9 0 0 1-1.9 1.9H4A1.9 1.9 0 0 1 2.1 20V6c0-1.05.85-1.9 1.9-1.9h3.1V2.5a.9.9 0 0 1 .9-.9Zm12.1 9.3H4a.917.917 0 0 1-.1-.005V20a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1v-9.1ZM5.6 13.5a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm-10 4a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Zm5 0a.9.9 0 0 1 .9-.9h1a.9.9 0 1 1 0 1.8h-1a.9.9 0 0 1-.9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"calendar\"],\n category: \"other\"\n}, r = (a) => /* @__PURE__ */ h(e, { ...a, svg: o });\nr.displayName = \"IconCalendar\";\nexport {\n r as IconCalendar\n};\n//# sourceMappingURL=calendar.es.js.map\n","import React, { type ForwardedRef, forwardRef, useId, useRef } from \"react\";\nimport { DateField, type DateFieldProps } from \"@purpur/date-field\";\nimport { FieldErrorText } from \"@purpur/field-error-text\";\nimport { FieldHelperText } from \"@purpur/field-helper-text\";\nimport { IconCalendar } from \"@purpur/icon/calendar\";\nimport { Label } from \"@purpur/label\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport \"@purpur/date-field/styles\";\nimport \"@purpur/field-error-text/styles\";\nimport \"@purpur/field-helper-text/styles\";\nimport \"@purpur/icon/styles\";\nimport \"@purpur/label/styles\";\nimport styles from \"./date-range-field.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-date-range-field\";\n\ntype IndividualFieldProps = Omit<\n DateFieldProps,\n | \"value\"\n | \"onChange\"\n | \"disabled\"\n | \"readOnly\"\n | \"required\"\n | \"negative\"\n | \"formatLabel\"\n | \"dateChars\"\n | \"aria-labelledby\"\n | \"aria-describedby\"\n | \"data-testid\"\n | \"startAdornment\"\n | \"className\"\n | \"ref\"\n>;\n\nexport type DateRangeFieldProps = {\n label?: string;\n fromLabel: string;\n toLabel: string;\n helperText?: string;\n errorText?: string;\n formatLabel: string;\n dateChars?: DateFieldProps[\"dateChars\"];\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n hideRequiredAsterisk?: boolean;\n\n fromValue?: Date;\n toValue?: Date;\n onFromChange?: (date: Date | undefined) => void;\n onToChange?: (date: Date | undefined) => void;\n\n fromFieldProps?: IndividualFieldProps;\n toFieldProps?: IndividualFieldProps;\n\n fromInputRef?: React.Ref<HTMLInputElement>;\n toInputRef?: React.Ref<HTMLInputElement>;\n\n className?: string;\n [\"data-testid\"]?: string;\n};\n\nexport const DateRangeField = forwardRef(\n (\n {\n label,\n fromLabel,\n toLabel,\n helperText,\n errorText,\n formatLabel,\n dateChars,\n disabled,\n readOnly,\n required,\n hideRequiredAsterisk,\n fromValue,\n toValue,\n onFromChange,\n onToChange,\n fromFieldProps,\n toFieldProps,\n fromInputRef: externalFromInputRef,\n toInputRef: externalToInputRef,\n className,\n ...rest\n }: DateRangeFieldProps,\n ref: ForwardedRef<HTMLFieldSetElement>\n ) => {\n const dataTestId = rest[\"data-testid\"];\n const baseId = useId();\n const fromInputRef = useRef<HTMLInputElement>(null);\n const setFromInputRef = (node: HTMLInputElement | null) => {\n fromInputRef.current = node;\n if (typeof externalFromInputRef === \"function\") {\n externalFromInputRef(node);\n } else if (externalFromInputRef) {\n (externalFromInputRef as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n }\n };\n const labelId = label ? `${baseId}-label` : undefined;\n const fromHiddenLabelId = `${baseId}-from-label`;\n const toHiddenLabelId = `${baseId}-to-label`;\n const helperId = helperText ? `${baseId}-helper` : undefined;\n const errorId = errorText ? `${baseId}-error` : undefined;\n\n const describedBy = [helperId, errorId].filter(Boolean).join(\" \") || undefined;\n\n return (\n <fieldset\n ref={ref}\n className={cx(rootClassName, className, {\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--readonly`]: readOnly && !disabled,\n })}\n data-testid={dataTestId}\n >\n {label && (\n // Mimics native <label> click-to-focus; no key handler needed (<legend> is not focusable).\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <legend\n id={labelId}\n className={cx(`${rootClassName}__label`, {\n [`${rootClassName}__label--disabled`]: disabled,\n })}\n data-testid={dataTestId && `${dataTestId}-label`}\n onClick={\n disabled\n ? undefined\n : () => {\n fromInputRef.current?.focus();\n }\n }\n >\n <Label disabled={disabled}>\n {required && !hideRequiredAsterisk && <span aria-hidden>*</span>}\n {label}\n </Label>\n </legend>\n )}\n\n <VisuallyHidden>\n <span id={fromHiddenLabelId}>{fromLabel}</span>\n <span id={toHiddenLabelId}>{toLabel}</span>\n </VisuallyHidden>\n\n <div className={cx(`${rootClassName}__fields`)}>\n <DateField\n {...fromFieldProps}\n ref={setFromInputRef}\n id={fromFieldProps?.id ?? `${baseId}-from`}\n className={cx(`${rootClassName}__field`, `${rootClassName}__field--from`)}\n startAdornment={<IconCalendar size=\"sm\" />}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n errorText={errorText}\n formatLabel={formatLabel}\n dateChars={dateChars}\n value={fromValue}\n onChange={onFromChange}\n aria-labelledby={[labelId, fromHiddenLabelId].filter(Boolean).join(\" \") || undefined}\n aria-describedby={describedBy}\n data-testid={dataTestId && `${dataTestId}-from`}\n />\n <DateField\n {...toFieldProps}\n ref={externalToInputRef}\n id={toFieldProps?.id ?? `${baseId}-to`}\n className={cx(`${rootClassName}__field`, `${rootClassName}__field--to`)}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n errorText={errorText}\n formatLabel={formatLabel}\n dateChars={dateChars}\n value={toValue}\n onChange={onToChange}\n aria-labelledby={[labelId, toHiddenLabelId].filter(Boolean).join(\" \") || undefined}\n aria-describedby={describedBy}\n data-testid={dataTestId && `${dataTestId}-to`}\n />\n </div>\n\n {helperText && (\n <FieldHelperText id={helperId!} disabled={disabled}>\n {helperText}\n </FieldHelperText>\n )}\n {errorText && (\n <FieldErrorText\n id={errorId}\n data-testid={dataTestId && `${dataTestId}-error`}\n >\n {errorText}\n </FieldErrorText>\n )}\n </fieldset>\n );\n }\n);\n\nDateRangeField.displayName = \"DateRangeField\";\n"],"names":["o","r","a","h","e","cx","c","styles","rootClassName","DateRangeField","forwardRef","label","fromLabel","toLabel","helperText","errorText","formatLabel","dateChars","disabled","readOnly","required","hideRequiredAsterisk","fromValue","toValue","onFromChange","onToChange","fromFieldProps","toFieldProps","externalFromInputRef","externalToInputRef","className","rest","ref","dataTestId","baseId","useId","fromInputRef","useRef","setFromInputRef","node","labelId","fromHiddenLabelId","toHiddenLabelId","helperId","errorId","describedBy","jsxs","jsx","Label","VisuallyHidden","DateField","IconCalendar","FieldHelperText","FieldErrorText"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),r=require("react"),N=require("./heading-BPeRwNYu.js"),C=require("./bind-DeUYJ6m9.js"),G=require("./close.es-VL3lKi1O.js"),v={"purpur-dismissable-chip-group":"_purpur-dismissable-chip-group_8e4xu_1","purpur-dismissable-chip-group--negative":"_purpur-dismissable-chip-group--negative_8e4xu_7","purpur-dismissable-chip-group__container":"_purpur-dismissable-chip-group__container_8e4xu_10","purpur-dismissable-chip-group__container--full-width":"_purpur-dismissable-chip-group__container--full-width_8e4xu_16","purpur-dismissable-chip-group-item-wrapper":"_purpur-dismissable-chip-group-item-wrapper_8e4xu_19","purpur-dismissable-chip-group-item":"_purpur-dismissable-chip-group-item_8e4xu_19","purpur-dismissable-chip-group__container--sm":"_purpur-dismissable-chip-group__container--sm_8e4xu_25","purpur-dismissable-chip-group__container--md":"_purpur-dismissable-chip-group__container--md_8e4xu_28","purpur-dismissable-chip-group-item--sm":"_purpur-dismissable-chip-group-item--sm_8e4xu_44","purpur-dismissable-chip-group-item--md":"_purpur-dismissable-chip-group-item--md_8e4xu_53","purpur-dismissable-chip-group-item--disabled":"_purpur-dismissable-chip-group-item--disabled_8e4xu_62","purpur-dismissable-chip-group-item--negative":"_purpur-dismissable-chip-group-item--negative_8e4xu_67"},g=C.c.bind(v),a="purpur-dismissable-chip-group-item",$=({children:o,id:p,onDismiss:c,disabled:s,...u})=>{const i=r.useContext(d),l=r.useContext(h),n=m=>{s?m.preventDefault():c?.(p)};return e.jsx("li",{className:g(`${a}-wrapper`),children:r.createElement("button",{...u,className:g(`${a}`,{[`${a}--disabled`]:s,[`${a}--negative`]:l,[`${a}--${i}`]:i}),key:p,disabled:s,"aria-disabled":s,onClick:n},o,e.jsx(G.r,{size:i==="sm"?"xs":"sm"}))},p)};$.displayName="DismissableChipGroupItem";const x=C.c.bind(v),f=["sm","md"],_="md",d=r.createContext(_),h=r.createContext(!1),t="purpur-dismissable-chip-group",b=({children:o,className:p,fullWidth:c=!1,negative:s=!1,size:u=_,title:i,headingTag:l,...n})=>{const m=r.useId(),D=x(t,{[`${t}--negative`]:s},p);return e.jsxs("div",{...n,"aria-labelledby":i?`${m}-label`:void 0,className:D,role:"group",children:[i&&e.jsx(N.Heading,{tag:l??"h2",variant:"subsection-100",negative:s,children:i}),e.jsx("ul",{"data-testid":"dismissable-chip-group-container",className:x(`${t}__container`,{[`${t}__container--full-width`]:c,[`${t}__container--${u}`]:u}),"aria-live":"polite","aria-relevant":"additions removals",children:e.jsx(h.Provider,{value:s,children:e.jsx(d.Provider,{value:u,children:o})})})]})};b.Item=$;b.displayName="DismissableChipGroup";exports.DEFAULT_SIZE=_;exports.DismissableChipGroup=b;exports.DismissableChipGroupNegativeContext=h;exports.DismissableChipGroupSizeContext=d;exports.sizes=f;
2
- //# sourceMappingURL=dismissable-chip-group-5ALErhD2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dismissable-chip-group-5ALErhD2.js","sources":["../../../components/dismissable-chip-group/src/dismissable-chip-group-item.tsx","../../../components/dismissable-chip-group/src/dismissable-chip-group.tsx"],"sourcesContent":["import React, { type MouseEvent, type ReactNode, useContext } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconClose } from \"@purpur/icon/close\";\nimport c from \"classnames/bind\";\n\nimport {\n DismissableChipGroupNegativeContext,\n DismissableChipGroupSizeContext,\n} from \"./dismissable-chip-group\";\nimport styles from \"./dismissable-chip-group.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type DismissableChipGroupItemProps = Omit<BaseProps<\"button\">, \"aria-label\" | \"children\"> & {\n [\"aria-label\"]: string;\n children: ReactNode;\n onDismiss?: (id?: string) => void;\n};\n\nconst rootClassName = \"purpur-dismissable-chip-group-item\";\n\nexport const DismissableChipGroupItem = ({\n children,\n id,\n onDismiss,\n disabled,\n ...props\n}: DismissableChipGroupItemProps) => {\n const size = useContext(DismissableChipGroupSizeContext);\n const negative = useContext(DismissableChipGroupNegativeContext);\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n e.preventDefault();\n } else {\n onDismiss?.(id);\n }\n };\n\n return (\n <li key={id} className={cx(`${rootClassName}-wrapper`)}>\n <button\n {...props}\n className={cx(`${rootClassName}`, {\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--${size}`]: size,\n })}\n key={id}\n disabled={disabled}\n aria-disabled={disabled}\n onClick={handleClick}\n >\n {children}\n <IconClose size={size === \"sm\" ? \"xs\" : \"sm\"} />\n </button>\n </li>\n );\n};\n\nDismissableChipGroupItem.displayName = \"DismissableChipGroupItem\";\n","import React, { createContext, type ReactNode, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./dismissable-chip-group.module.scss\";\nimport { DismissableChipGroupItem } from \"./dismissable-chip-group-item\";\n\nconst cx = c.bind(styles);\n\nexport const sizes = [\"sm\", \"md\"] as const;\nexport const DEFAULT_SIZE = \"md\" as const;\n\nexport type Size = (typeof sizes)[number];\n\nexport type DismissableChipGroupProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n fullWidth?: boolean;\n negative?: boolean;\n size?: Size;\n title?: string;\n headingTag?: HeadingTagType;\n};\n\nexport const DismissableChipGroupSizeContext = createContext<Size>(DEFAULT_SIZE);\nexport const DismissableChipGroupNegativeContext = createContext(false);\n\nconst rootClassName = \"purpur-dismissable-chip-group\";\n\nexport const DismissableChipGroup = ({\n children,\n className,\n fullWidth = false,\n negative = false,\n size = DEFAULT_SIZE,\n title,\n headingTag,\n ...props\n}: DismissableChipGroupProps) => {\n const id = useId();\n const classes = cx(rootClassName, { [`${rootClassName}--negative`]: negative }, className);\n\n return (\n <div\n {...props}\n aria-labelledby={title ? `${id}-label` : undefined}\n className={classes}\n role=\"group\"\n >\n {title && (\n <Heading tag={headingTag ?? \"h2\"} variant=\"subsection-100\" negative={negative}>\n {title}\n </Heading>\n )}\n <ul\n data-testid=\"dismissable-chip-group-container\"\n className={cx(`${rootClassName}__container`, {\n [`${rootClassName}__container--full-width`]: fullWidth,\n [`${rootClassName}__container--${size}`]: size,\n })}\n aria-live=\"polite\"\n aria-relevant=\"additions removals\"\n >\n <DismissableChipGroupNegativeContext.Provider value={negative}>\n <DismissableChipGroupSizeContext.Provider value={size}>\n {children}\n </DismissableChipGroupSizeContext.Provider>\n </DismissableChipGroupNegativeContext.Provider>\n </ul>\n </div>\n );\n};\n\nDismissableChipGroup.Item = DismissableChipGroupItem;\n\nDismissableChipGroup.displayName = \"DismissableChipGroup\";\n"],"names":["cx","c","styles","rootClassName","DismissableChipGroupItem","children","id","onDismiss","disabled","props","size","useContext","DismissableChipGroupSizeContext","negative","DismissableChipGroupNegativeContext","handleClick","e","createElement","IconClose","sizes","DEFAULT_SIZE","createContext","DismissableChipGroup","className","fullWidth","title","headingTag","useId","classes","jsxs","jsx","Heading"],"mappings":"8zCAWMA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAQlBC,EAAgB,qCAETC,EAA2B,CAAC,CACvC,SAAAC,EACA,GAAAC,EACA,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAqC,CACnC,MAAMC,EAAOC,EAAAA,WAAWC,CAA+B,EACjDC,EAAWF,EAAAA,WAAWG,CAAmC,EAEzDC,EAAeC,GAAqC,CACpDR,EACFQ,EAAE,eAAA,EAEFT,IAAYD,CAAE,CAElB,EAEA,aACG,KAAA,CAAY,UAAWN,EAAG,GAAGG,CAAa,UAAU,EACnD,SAAAc,EAAAA,cAAC,SAAA,CACE,GAAGR,EACJ,UAAWT,EAAG,GAAGG,CAAa,GAAI,CAChC,CAAC,GAAGA,CAAa,YAAY,EAAGK,EAChC,CAAC,GAAGL,CAAa,YAAY,EAAGU,EAChC,CAAC,GAAGV,CAAa,KAAKO,CAAI,EAAE,EAAGA,CAAA,CAChC,EACD,IAAKJ,EACL,SAAAE,EACA,gBAAeA,EACf,QAASO,CAAA,EAERV,QACAa,EAAAA,EAAA,CAAU,KAAMR,IAAS,KAAO,KAAO,IAAA,CAAM,CAAA,GAdzCJ,CAgBT,CAEJ,EAEAF,EAAyB,YAAc,2BCpDvC,MAAMJ,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAEXiB,EAAQ,CAAC,KAAM,IAAI,EACnBC,EAAe,KAafR,EAAkCS,EAAAA,cAAoBD,CAAY,EAClEN,EAAsCO,EAAAA,cAAc,EAAK,EAEhElB,EAAgB,gCAETmB,EAAuB,CAAC,CACnC,SAAAjB,EACA,UAAAkB,EACA,UAAAC,EAAY,GACZ,SAAAX,EAAW,GACX,KAAAH,EAAOU,EACP,MAAAK,EACA,WAAAC,EACA,GAAGjB,CACL,IAAiC,CAC/B,MAAMH,EAAKqB,EAAAA,MAAA,EACLC,EAAU5B,EAAGG,EAAe,CAAE,CAAC,GAAGA,CAAa,YAAY,EAAGU,CAAA,EAAYU,CAAS,EAEzF,OACEM,EAAAA,KAAC,MAAA,CACE,GAAGpB,EACJ,kBAAiBgB,EAAQ,GAAGnB,CAAE,SAAW,OACzC,UAAWsB,EACX,KAAK,QAEJ,SAAA,CAAAH,GACCK,EAAAA,IAACC,WAAQ,IAAKL,GAAc,KAAM,QAAQ,iBAAiB,SAAAb,EACxD,SAAAY,CAAA,CACH,EAEFK,EAAAA,IAAC,KAAA,CACC,cAAY,mCACZ,UAAW9B,EAAG,GAAGG,CAAa,cAAe,CAC3C,CAAC,GAAGA,CAAa,yBAAyB,EAAGqB,EAC7C,CAAC,GAAGrB,CAAa,gBAAgBO,CAAI,EAAE,EAAGA,CAAA,CAC3C,EACD,YAAU,SACV,gBAAc,qBAEd,SAAAoB,EAAAA,IAAChB,EAAoC,SAApC,CAA6C,MAAOD,EACnD,SAAAiB,EAAAA,IAAClB,EAAgC,SAAhC,CAAyC,MAAOF,EAC9C,SAAAL,EACH,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAGN,EAEAiB,EAAqB,KAAOlB,EAE5BkB,EAAqB,YAAc"}