@purpur/library 9.2.3 → 9.4.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 (304) hide show
  1. package/CHANGELOG.json +39 -0
  2. package/CHANGELOG.md +20 -1
  3. package/dist/LICENSE.txt +1 -1
  4. package/dist/{RichText-Bi51HE6X.mjs → RichText-jZ-sHV-u.mjs} +2 -2
  5. package/dist/{RichText-Bi51HE6X.mjs.map → RichText-jZ-sHV-u.mjs.map} +1 -1
  6. package/dist/{RichText-DNroJJXv.js → RichText-yobCUjTD.js} +2 -2
  7. package/dist/{RichText-DNroJJXv.js.map → RichText-yobCUjTD.js.map} +1 -1
  8. package/dist/{ThemeProvider-bkyFCeo6.mjs → ThemeProvider-CkX-BNWN.mjs} +2 -2
  9. package/dist/ThemeProvider-CkX-BNWN.mjs.map +1 -0
  10. package/dist/{ThemeProvider-5r7lDX-h.js → ThemeProvider-Dy771oix.js} +2 -2
  11. package/dist/ThemeProvider-Dy771oix.js.map +1 -0
  12. package/dist/{accordion-OtFSShSB.mjs → accordion-CIU4U8-4.mjs} +3 -3
  13. package/dist/accordion-CIU4U8-4.mjs.map +1 -0
  14. package/dist/{accordion-OsA0HvdA.js → accordion-DyhOG54L.js} +2 -2
  15. package/dist/accordion-DyhOG54L.js.map +1 -0
  16. package/dist/accordion.cjs.js +1 -1
  17. package/dist/accordion.es.js +3 -3
  18. package/dist/{autocomplete-D9uCJzjY.js → autocomplete-3kV1btuI.js} +2 -2
  19. package/dist/{autocomplete-D9uCJzjY.js.map → autocomplete-3kV1btuI.js.map} +1 -1
  20. package/dist/{autocomplete-BipmyKf0.mjs → autocomplete-BEGRn-Wh.mjs} +2 -2
  21. package/dist/{autocomplete-BipmyKf0.mjs.map → autocomplete-BEGRn-Wh.mjs.map} +1 -1
  22. package/dist/autocomplete.cjs.js +1 -1
  23. package/dist/autocomplete.es.js +1 -1
  24. package/dist/{card-DR2hvxjZ.mjs → card-C2mdp-ur.mjs} +2 -2
  25. package/dist/{card-DR2hvxjZ.mjs.map → card-C2mdp-ur.mjs.map} +1 -1
  26. package/dist/{card-CRHXm5NR.js → card-DFdUs5RG.js} +2 -2
  27. package/dist/{card-CRHXm5NR.js.map → card-DFdUs5RG.js.map} +1 -1
  28. package/dist/card.cjs.js +1 -1
  29. package/dist/card.es.js +1 -1
  30. package/dist/{carousel-BkxojLwn.mjs → carousel-DLkTL9sj.mjs} +29 -29
  31. package/dist/{carousel-BkxojLwn.mjs.map → carousel-DLkTL9sj.mjs.map} +1 -1
  32. package/dist/{carousel-BCw-5u92.js → carousel-DXrtxRz5.js} +2 -2
  33. package/dist/{carousel-BCw-5u92.js.map → carousel-DXrtxRz5.js.map} +1 -1
  34. package/dist/carousel.cjs.js +1 -1
  35. package/dist/carousel.es.js +1 -1
  36. package/dist/checkbox-BHTx89JQ.mjs +236 -0
  37. package/dist/checkbox-BHTx89JQ.mjs.map +1 -0
  38. package/dist/checkbox-CDNcNv6d.js +2 -0
  39. package/dist/checkbox-CDNcNv6d.js.map +1 -0
  40. package/dist/checkbox.cjs.js +1 -1
  41. package/dist/checkbox.es.js +1 -1
  42. package/dist/{comparison-table-D1zJpdLL.mjs → comparison-table-8bOJmz-L.mjs} +116 -116
  43. package/dist/comparison-table-8bOJmz-L.mjs.map +1 -0
  44. package/dist/comparison-table-mKL2IHXW.js +2 -0
  45. package/dist/comparison-table-mKL2IHXW.js.map +1 -0
  46. package/dist/comparison-table.cjs.js +1 -1
  47. package/dist/comparison-table.es.js +1 -1
  48. package/dist/components/accordion/src/accordion.d.ts +1 -1
  49. package/dist/components/accordion/src/accordion.d.ts.map +1 -1
  50. package/dist/components/checkbox/src/checkbox.d.ts +4 -0
  51. package/dist/components/checkbox/src/checkbox.d.ts.map +1 -1
  52. package/dist/components/comparison-table/src/comparison-table.d.ts +1 -1
  53. package/dist/components/comparison-table/src/comparison-table.d.ts.map +1 -1
  54. package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts.map +1 -1
  55. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +4 -2
  56. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
  57. package/dist/components/drawer/src/drawer-content.d.ts.map +1 -1
  58. package/dist/components/drawer/src/drawer.context.d.ts +1 -0
  59. package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
  60. package/dist/components/drawer/src/drawer.d.ts +6 -0
  61. package/dist/components/drawer/src/drawer.d.ts.map +1 -1
  62. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  63. package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
  64. package/dist/components/dropdown/src/dropdown-shared.d.ts +3 -2
  65. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  66. package/dist/components/dropdown/src/useDropdown.d.ts +2 -1
  67. package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
  68. package/dist/components/listbox/src/listbox-item.d.ts +2 -2
  69. package/dist/components/listbox/src/listbox-item.d.ts.map +1 -1
  70. package/dist/components/listbox/src/listbox.d.ts +4 -1
  71. package/dist/components/listbox/src/listbox.d.ts.map +1 -1
  72. package/dist/components/toggle/src/toggle.d.ts +1 -0
  73. package/dist/components/toggle/src/toggle.d.ts.map +1 -1
  74. package/dist/components-metadata.js +4 -2
  75. package/dist/{content-block-Dm3L4g8w.mjs → content-block-CakKeJtN.mjs} +2 -2
  76. package/dist/{content-block-Dm3L4g8w.mjs.map → content-block-CakKeJtN.mjs.map} +1 -1
  77. package/dist/{content-block-CDRUH0pg.js → content-block-CrekbIfe.js} +2 -2
  78. package/dist/{content-block-CDRUH0pg.js.map → content-block-CrekbIfe.js.map} +1 -1
  79. package/dist/content-block.cjs.js +1 -1
  80. package/dist/content-block.es.js +1 -1
  81. package/dist/{countdown-DZ4IwkNy.mjs → countdown-BsLsEZBv.mjs} +2 -2
  82. package/dist/{countdown-DZ4IwkNy.mjs.map → countdown-BsLsEZBv.mjs.map} +1 -1
  83. package/dist/{countdown-CqYsZigV.js → countdown-hYrFLmRg.js} +2 -2
  84. package/dist/{countdown-CqYsZigV.js.map → countdown-hYrFLmRg.js.map} +1 -1
  85. package/dist/countdown.cjs.js +1 -1
  86. package/dist/countdown.es.js +1 -1
  87. package/dist/{date-picker-DwFDRL5Z.mjs → date-picker-CbUNbOhn.mjs} +2 -2
  88. package/dist/{date-picker-DwFDRL5Z.mjs.map → date-picker-CbUNbOhn.mjs.map} +1 -1
  89. package/dist/{date-picker-DVrcu2QU.js → date-picker-DYXNB5aU.js} +2 -2
  90. package/dist/{date-picker-DVrcu2QU.js.map → date-picker-DYXNB5aU.js.map} +1 -1
  91. package/dist/date-picker.cjs.js +1 -1
  92. package/dist/date-picker.es.js +1 -1
  93. package/dist/dismissable-chip-group-2updhyuR.js +2 -0
  94. package/dist/dismissable-chip-group-2updhyuR.js.map +1 -0
  95. package/dist/dismissable-chip-group-Cfs2s2BH.mjs +94 -0
  96. package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +1 -0
  97. package/dist/dismissable-chip-group.cjs.js +1 -1
  98. package/dist/dismissable-chip-group.es.js +6 -5
  99. package/dist/drawer-8Acg4wkV.mjs +574 -0
  100. package/dist/drawer-8Acg4wkV.mjs.map +1 -0
  101. package/dist/drawer-BLHgcEqb.js +2 -0
  102. package/dist/drawer-BLHgcEqb.js.map +1 -0
  103. package/dist/drawer.cjs.js +1 -1
  104. package/dist/drawer.es.js +1 -1
  105. package/dist/dropdown-CMO_VD5e.mjs +916 -0
  106. package/dist/dropdown-CMO_VD5e.mjs.map +1 -0
  107. package/dist/dropdown-DJKNQnuo.js +2 -0
  108. package/dist/dropdown-DJKNQnuo.js.map +1 -0
  109. package/dist/dropdown.cjs.js +1 -1
  110. package/dist/dropdown.es.js +1 -1
  111. package/dist/{footer-BXs8uzTA.mjs → footer-BLPlXaZK.mjs} +4 -4
  112. package/dist/{footer-BXs8uzTA.mjs.map → footer-BLPlXaZK.mjs.map} +1 -1
  113. package/dist/{footer-DF9adlni.js → footer-D9AcPwlH.js} +2 -2
  114. package/dist/{footer-DF9adlni.js.map → footer-D9AcPwlH.js.map} +1 -1
  115. package/dist/footer.cjs.js +1 -1
  116. package/dist/footer.es.js +1 -1
  117. package/dist/{hero-banner-BfxclVFT.js → hero-banner-D1A-_qou.js} +2 -2
  118. package/dist/{hero-banner-BfxclVFT.js.map → hero-banner-D1A-_qou.js.map} +1 -1
  119. package/dist/{hero-banner-CxPvhXD2.mjs → hero-banner-DkC_BqM7.mjs} +3 -3
  120. package/dist/{hero-banner-CxPvhXD2.mjs.map → hero-banner-DkC_BqM7.mjs.map} +1 -1
  121. package/dist/hero-banner.cjs.js +1 -1
  122. package/dist/hero-banner.es.js +1 -1
  123. package/dist/{index-CKCTy3ZL.mjs → index-3NV-ckDX.mjs} +4 -4
  124. package/dist/{index-CKCTy3ZL.mjs.map → index-3NV-ckDX.mjs.map} +1 -1
  125. package/dist/libraries/theme/src/theme-props.d.ts +1 -0
  126. package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
  127. package/dist/libraries/tokens/dist/color/variables.d.ts +1 -0
  128. package/dist/libraries/tokens/dist/color/variables.dark.d.ts +1 -0
  129. package/dist/library.cjs.js +1 -1
  130. package/dist/library.es.js +593 -590
  131. package/dist/listbox-ATP4hOWF.js +2 -0
  132. package/dist/listbox-ATP4hOWF.js.map +1 -0
  133. package/dist/listbox-i6BQQ-NZ.mjs +73 -0
  134. package/dist/listbox-i6BQQ-NZ.mjs.map +1 -0
  135. package/dist/listbox.cjs.js +1 -1
  136. package/dist/listbox.es.js +3 -2
  137. package/dist/{modal-COF_UhvY.js → modal-Baisuc6m.js} +2 -2
  138. package/dist/{modal-COF_UhvY.js.map → modal-Baisuc6m.js.map} +1 -1
  139. package/dist/{modal-BMg43Fvd.mjs → modal-fp37VbrH.mjs} +3 -3
  140. package/dist/{modal-BMg43Fvd.mjs.map → modal-fp37VbrH.mjs.map} +1 -1
  141. package/dist/modal.cjs.js +1 -1
  142. package/dist/modal.es.js +1 -1
  143. package/dist/{notification-BqjaT4E7.js → notification-B5bNNq86.js} +2 -2
  144. package/dist/{notification-BqjaT4E7.js.map → notification-B5bNNq86.js.map} +1 -1
  145. package/dist/{notification-DdRS5BF2.mjs → notification-BbQCmsnY.mjs} +2 -2
  146. package/dist/{notification-DdRS5BF2.mjs.map → notification-BbQCmsnY.mjs.map} +1 -1
  147. package/dist/notification.cjs.js +1 -1
  148. package/dist/notification.es.js +1 -1
  149. package/dist/{pagination-CVYUacXN.mjs → pagination-Cc_4zCQA.mjs} +2 -2
  150. package/dist/{pagination-CVYUacXN.mjs.map → pagination-Cc_4zCQA.mjs.map} +1 -1
  151. package/dist/{pagination-Bwlkvqye.js → pagination-rFRdkHII.js} +2 -2
  152. package/dist/{pagination-Bwlkvqye.js.map → pagination-rFRdkHII.js.map} +1 -1
  153. package/dist/pagination.cjs.js +1 -1
  154. package/dist/pagination.es.js +1 -1
  155. package/dist/paragraph-By4jMjnH.js +2 -0
  156. package/dist/{paragraph-BsI53OR0.js.map → paragraph-By4jMjnH.js.map} +1 -1
  157. package/dist/{paragraph-Ci50OF1u.mjs → paragraph-DSxXmX_0.mjs} +23 -23
  158. package/dist/{paragraph-Ci50OF1u.mjs.map → paragraph-DSxXmX_0.mjs.map} +1 -1
  159. package/dist/paragraph.cjs.js +1 -1
  160. package/dist/paragraph.es.js +1 -1
  161. package/dist/{popover-XCUa2GfC.js → popover-B0XJZ5mj.js} +2 -2
  162. package/dist/{popover-XCUa2GfC.js.map → popover-B0XJZ5mj.js.map} +1 -1
  163. package/dist/{popover-Dwqs1wGH.mjs → popover-_xJATlhN.mjs} +2 -2
  164. package/dist/{popover-Dwqs1wGH.mjs.map → popover-_xJATlhN.mjs.map} +1 -1
  165. package/dist/popover.cjs.js +1 -1
  166. package/dist/popover.es.js +1 -1
  167. package/dist/{product-card-BfB82XpS.mjs → product-card-C3_N0t-R.mjs} +3 -3
  168. package/dist/{product-card-BfB82XpS.mjs.map → product-card-C3_N0t-R.mjs.map} +1 -1
  169. package/dist/{product-card-bVQ7JhHj.js → product-card-CoY1KggV.js} +2 -2
  170. package/dist/{product-card-bVQ7JhHj.js.map → product-card-CoY1KggV.js.map} +1 -1
  171. package/dist/product-card.cjs.js +1 -1
  172. package/dist/product-card.es.js +1 -1
  173. package/dist/{promotion-card-DqBBt2sz.js → promotion-card-Bag64gqP.js} +2 -2
  174. package/dist/{promotion-card-DqBBt2sz.js.map → promotion-card-Bag64gqP.js.map} +1 -1
  175. package/dist/{promotion-card-BhNw94sC.mjs → promotion-card-BiHnQvhn.mjs} +4 -4
  176. package/dist/{promotion-card-BhNw94sC.mjs.map → promotion-card-BiHnQvhn.mjs.map} +1 -1
  177. package/dist/promotion-card.cjs.js +1 -1
  178. package/dist/promotion-card.es.js +1 -1
  179. package/dist/purpur.css +1 -1
  180. package/dist/quantity-selector-CDSfcTb1.js +2 -0
  181. package/dist/{quantity-selector-8AkKNDik.js.map → quantity-selector-CDSfcTb1.js.map} +1 -1
  182. package/dist/{quantity-selector-C23kU1hF.mjs → quantity-selector-CvBvnMeB.mjs} +35 -35
  183. package/dist/{quantity-selector-C23kU1hF.mjs.map → quantity-selector-CvBvnMeB.mjs.map} +1 -1
  184. package/dist/quantity-selector.cjs.js +1 -1
  185. package/dist/quantity-selector.es.js +1 -1
  186. package/dist/{radio-card-group-BlRZBa-9.mjs → radio-card-group-CneOprGY.mjs} +2 -2
  187. package/dist/{radio-card-group-BlRZBa-9.mjs.map → radio-card-group-CneOprGY.mjs.map} +1 -1
  188. package/dist/{radio-card-group-sYcfDPJq.js → radio-card-group-Ctuvg61o.js} +2 -2
  189. package/dist/{radio-card-group-sYcfDPJq.js.map → radio-card-group-Ctuvg61o.js.map} +1 -1
  190. package/dist/radio-card-group.cjs.js +1 -1
  191. package/dist/radio-card-group.es.js +1 -1
  192. package/dist/rich-text.cjs.js +1 -1
  193. package/dist/rich-text.es.js +1 -1
  194. package/dist/{search-field-CZ9mIyZ-.mjs → search-field-CpkHGIYi.mjs} +3 -3
  195. package/dist/{search-field-CZ9mIyZ-.mjs.map → search-field-CpkHGIYi.mjs.map} +1 -1
  196. package/dist/{search-field-DD9UkOca.js → search-field-Z0PqDARl.js} +2 -2
  197. package/dist/{search-field-DD9UkOca.js.map → search-field-Z0PqDARl.js.map} +1 -1
  198. package/dist/search-field.cjs.js +1 -1
  199. package/dist/search-field.es.js +1 -1
  200. package/dist/{stepper-uBfDdIju.mjs → stepper-CNnx_NiR.mjs} +2 -2
  201. package/dist/{stepper-uBfDdIju.mjs.map → stepper-CNnx_NiR.mjs.map} +1 -1
  202. package/dist/{stepper-w-raIwqJ.js → stepper-Df4X7DDR.js} +2 -2
  203. package/dist/{stepper-w-raIwqJ.js.map → stepper-Df4X7DDR.js.map} +1 -1
  204. package/dist/stepper.cjs.js +1 -1
  205. package/dist/stepper.es.js +1 -1
  206. package/dist/{table-Dx_dhGT6.mjs → table-D_sdSJyr.mjs} +6 -6
  207. package/dist/{table-Dx_dhGT6.mjs.map → table-D_sdSJyr.mjs.map} +1 -1
  208. package/dist/{table-DsgqX7Vv.js → table-gnGUejtb.js} +2 -2
  209. package/dist/{table-DsgqX7Vv.js.map → table-gnGUejtb.js.map} +1 -1
  210. package/dist/table.cjs.js +1 -1
  211. package/dist/table.es.js +1 -1
  212. package/dist/{text-area-DDZ_GQPW.mjs → text-area-kJvg6cFp.mjs} +3 -3
  213. package/dist/{text-area-DDZ_GQPW.mjs.map → text-area-kJvg6cFp.mjs.map} +1 -1
  214. package/dist/{text-area-C6W0fDiQ.js → text-area-peNKG7g4.js} +2 -2
  215. package/dist/{text-area-C6W0fDiQ.js.map → text-area-peNKG7g4.js.map} +1 -1
  216. package/dist/text-area.cjs.js +1 -1
  217. package/dist/text-area.es.js +1 -1
  218. package/dist/theme.cjs.js +1 -1
  219. package/dist/theme.es.js +2 -2
  220. package/dist/toggle-B8ZLUVar.js +2 -0
  221. package/dist/{toggle-C8IwTbX8.js.map → toggle-B8ZLUVar.js.map} +1 -1
  222. package/dist/toggle-CY3J8BRX.mjs +302 -0
  223. package/dist/{toggle-D23x1wWk.mjs.map → toggle-CY3J8BRX.mjs.map} +1 -1
  224. package/dist/toggle.cjs.js +1 -1
  225. package/dist/toggle.es.js +1 -1
  226. package/dist/tokens/color/variables.css +1 -0
  227. package/dist/tokens/color/variables.d.ts +1 -0
  228. package/dist/tokens/color/variables.dark.css +1 -0
  229. package/dist/tokens/color/variables.dark.d.ts +1 -0
  230. package/dist/tokens/color/variables.dark.js +1 -0
  231. package/dist/tokens/color/variables.dark.json +2 -1
  232. package/dist/tokens/color/variables.dark.scss +1 -0
  233. package/dist/tokens/color/variables.js +1 -0
  234. package/dist/tokens/color/variables.json +2 -1
  235. package/dist/tokens/color/variables.scss +1 -0
  236. package/dist/tokens.cjs.js +1 -1
  237. package/dist/tokens.es.js +76 -75
  238. package/dist/{tooltip-0pLBlDG3.js → tooltip-C8Zxnqdb.js} +2 -2
  239. package/dist/{tooltip-0pLBlDG3.js.map → tooltip-C8Zxnqdb.js.map} +1 -1
  240. package/dist/{tooltip-Kom0VfOC.mjs → tooltip-VlURN8H3.mjs} +2 -2
  241. package/dist/{tooltip-Kom0VfOC.mjs.map → tooltip-VlURN8H3.mjs.map} +1 -1
  242. package/dist/tooltip.cjs.js +1 -1
  243. package/dist/tooltip.es.js +1 -1
  244. package/dist/use-autocomplete.es-BwAzMcau.js +2 -0
  245. package/dist/use-autocomplete.es-BwAzMcau.js.map +1 -0
  246. package/dist/{use-autocomplete.es-CVv3z8t6.mjs → use-autocomplete.es-CKb0RHKG.mjs} +37 -35
  247. package/dist/use-autocomplete.es-CKb0RHKG.mjs.map +1 -0
  248. package/dist/useColorScheme-DNyjsWX9.js +2 -0
  249. package/dist/{useColorScheme-0GMDl2GF.js.map → useColorScheme-DNyjsWX9.js.map} +1 -1
  250. package/dist/{useColorScheme-Di_Q0JR4.mjs → useColorScheme-tAkY9LHt.mjs} +2 -2
  251. package/dist/{useColorScheme-Di_Q0JR4.mjs.map → useColorScheme-tAkY9LHt.mjs.map} +1 -1
  252. package/dist/{variables-CKp4o9Tn.mjs → variables-B5hbV0Uy.mjs} +128 -127
  253. package/dist/variables-B5hbV0Uy.mjs.map +1 -0
  254. package/dist/variables-DoI78zZc.js +2 -0
  255. package/dist/variables-DoI78zZc.js.map +1 -0
  256. package/package.json +21 -21
  257. package/tokens/color/variables.css +1 -0
  258. package/tokens/color/variables.d.ts +1 -0
  259. package/tokens/color/variables.dark.css +1 -0
  260. package/tokens/color/variables.dark.d.ts +1 -0
  261. package/tokens/color/variables.dark.js +1 -0
  262. package/tokens/color/variables.dark.json +2 -1
  263. package/tokens/color/variables.dark.scss +1 -0
  264. package/tokens/color/variables.js +1 -0
  265. package/tokens/color/variables.json +2 -1
  266. package/tokens/color/variables.scss +1 -0
  267. package/dist/ThemeProvider-5r7lDX-h.js.map +0 -1
  268. package/dist/ThemeProvider-bkyFCeo6.mjs.map +0 -1
  269. package/dist/accordion-OsA0HvdA.js.map +0 -1
  270. package/dist/accordion-OtFSShSB.mjs.map +0 -1
  271. package/dist/checkbox-D6qWgpWR.mjs +0 -231
  272. package/dist/checkbox-D6qWgpWR.mjs.map +0 -1
  273. package/dist/checkbox-Dk3bZkZ3.js +0 -2
  274. package/dist/checkbox-Dk3bZkZ3.js.map +0 -1
  275. package/dist/comparison-table-B8w65g43.js +0 -2
  276. package/dist/comparison-table-B8w65g43.js.map +0 -1
  277. package/dist/comparison-table-D1zJpdLL.mjs.map +0 -1
  278. package/dist/dismissable-chip-group-Cd23yjBa.js +0 -2
  279. package/dist/dismissable-chip-group-Cd23yjBa.js.map +0 -1
  280. package/dist/dismissable-chip-group-D-gD93ON.mjs +0 -89
  281. package/dist/dismissable-chip-group-D-gD93ON.mjs.map +0 -1
  282. package/dist/drawer-Db2Mujc6.mjs +0 -565
  283. package/dist/drawer-Db2Mujc6.mjs.map +0 -1
  284. package/dist/drawer-DlwagnO4.js +0 -2
  285. package/dist/drawer-DlwagnO4.js.map +0 -1
  286. package/dist/dropdown-BsqVnd7z.js +0 -2
  287. package/dist/dropdown-BsqVnd7z.js.map +0 -1
  288. package/dist/dropdown-TO3Mh0bk.mjs +0 -910
  289. package/dist/dropdown-TO3Mh0bk.mjs.map +0 -1
  290. package/dist/listbox-COBHLRtB.js +0 -2
  291. package/dist/listbox-COBHLRtB.js.map +0 -1
  292. package/dist/listbox-DG4KmQP_.mjs +0 -66
  293. package/dist/listbox-DG4KmQP_.mjs.map +0 -1
  294. package/dist/paragraph-BsI53OR0.js +0 -2
  295. package/dist/quantity-selector-8AkKNDik.js +0 -2
  296. package/dist/toggle-C8IwTbX8.js +0 -2
  297. package/dist/toggle-D23x1wWk.mjs +0 -287
  298. package/dist/use-autocomplete.es-BHDgQLae.js +0 -2
  299. package/dist/use-autocomplete.es-BHDgQLae.js.map +0 -1
  300. package/dist/use-autocomplete.es-CVv3z8t6.mjs.map +0 -1
  301. package/dist/useColorScheme-0GMDl2GF.js +0 -2
  302. package/dist/variables-CKp4o9Tn.mjs.map +0 -1
  303. package/dist/variables-DH61hVNE.js +0 -2
  304. package/dist/variables-DH61hVNE.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"comparison-table.d.ts","sourceRoot":"","sources":["../../../../../../components/comparison-table/src/comparison-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAC;AAMlG,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAOvF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;AAExD,MAAM,MAAM,IAAI,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAAI,eAAe,GAAG;IAC1E,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACxE;;;;;;;;;MASE;IACF,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;MAqBE;IACF,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9B;;;;;;;;MAQE;IACF,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe;KAAI,SAAS,SAAS,QAAQ,wDAMvD,oBAAoB,CAAC,SAAS,CAAC;;CAsFjC,CAAC"}
1
+ {"version":3,"file":"comparison-table.d.ts","sourceRoot":"","sources":["../../../../../../components/comparison-table/src/comparison-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAC;AAMlG,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAOvF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;AAExD,MAAM,MAAM,IAAI,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAAI,eAAe,GAAG;IAC1E,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACxE;;;;;;;;;MASE;IACF,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;MAqBE;IACF,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9B;;;;;;;;MAQE;IACF,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe;KAAI,SAAS,SAAS,QAAQ,wDAMvD,oBAAoB,CAAC,SAAS,CAAC;;CAsFjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dismissable-chip-group-item.d.ts","sourceRoot":"","sources":["../../../../../../components/dismissable-chip-group/src/dismissable-chip-group-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAStD,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,GAAG;IACjG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAIF,eAAO,MAAM,wBAAwB;sDAMlC,6BAA6B;;CA6B/B,CAAC"}
1
+ {"version":3,"file":"dismissable-chip-group-item.d.ts","sourceRoot":"","sources":["../../../../../../components/dismissable-chip-group/src/dismissable-chip-group-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,GAAG;IACjG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAIF,eAAO,MAAM,wBAAwB;sDAMlC,6BAA6B;;CA+B/B,CAAC"}
@@ -7,13 +7,15 @@ export type Size = (typeof sizes)[number];
7
7
  export type DismissableChipGroupProps = Omit<BaseProps, "children"> & {
8
8
  children: ReactNode;
9
9
  fullWidth?: boolean;
10
+ negative?: boolean;
10
11
  size?: Size;
11
12
  title?: string;
12
13
  titleTag?: HeadingTagType;
13
14
  };
14
- export declare const SizeContext: React.Context<"sm" | "md">;
15
+ export declare const DismissableChipGroupSizeContext: React.Context<"sm" | "md">;
16
+ export declare const DismissableChipGroupNegativeContext: React.Context<boolean>;
15
17
  export declare const DismissableChipGroup: {
16
- ({ children, className, fullWidth, size, title, titleTag, ...props }: DismissableChipGroupProps): React.JSX.Element;
18
+ ({ children, className, fullWidth, negative, size, title, titleTag, ...props }: DismissableChipGroupProps): React.JSX.Element;
17
19
  Item: {
18
20
  ({ children, id, onDismiss, disabled, ...props }: import('./dismissable-chip-group-item').DismissableChipGroupItemProps): React.JSX.Element;
19
21
  displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dismissable-chip-group.d.ts","sourceRoot":"","sources":["../../../../../../components/dismissable-chip-group/src/dismissable-chip-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQ/D,eAAO,MAAM,KAAK,uBAAwB,CAAC;AAC3C,eAAO,MAAM,YAAY,EAAG,IAAa,CAAC;AAE1C,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW,4BAAoC,CAAC;AAI7D,eAAO,MAAM,oBAAoB;0EAQ9B,yBAAyB;;;;;;CA6B3B,CAAC"}
1
+ {"version":3,"file":"dismissable-chip-group.d.ts","sourceRoot":"","sources":["../../../../../../components/dismissable-chip-group/src/dismissable-chip-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQ/D,eAAO,MAAM,KAAK,uBAAwB,CAAC;AAC3C,eAAO,MAAM,YAAY,EAAG,IAAa,CAAC;AAE1C,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,+BAA+B,4BAAoC,CAAC;AACjF,eAAO,MAAM,mCAAmC,wBAAuB,CAAC;AAIxE,eAAO,MAAM,oBAAoB;oFAS9B,yBAAyB;;;;;;CAiC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-content.d.ts","sourceRoot":"","sources":["../../../../../../components/drawer/src/drawer-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOtD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC3B,iBAAiB,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC;AAIzC,eAAO,MAAM,aAAa;;;eAnBb,MAAM;cACP,SAAS;0BACG,MAAM;iCACC,OAAO;IACpC;;OAEG;mBACY,OAAO;oBACN,SAAS;oBACT,SAAS;mBACV,MAAM,IAAI;mBACV,OAAO;WACf,MAAM;aACJ,MAAM;eACJ,QAAQ;;;;eAdR,MAAM;cACP,SAAS;0BACG,MAAM;iCACC,OAAO;IACpC;;OAEG;mBACY,OAAO;oBACN,SAAS;oBACT,SAAS;mBACV,MAAM,IAAI;mBACV,OAAO;WACf,MAAM;aACJ,MAAM;eACJ,QAAQ;qEAqJpB,CAAC"}
1
+ {"version":3,"file":"drawer-content.d.ts","sourceRoot":"","sources":["../../../../../../components/drawer/src/drawer-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOtD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC3B,iBAAiB,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC;AAIzC,eAAO,MAAM,aAAa;;;eAnBb,MAAM;cACP,SAAS;0BACG,MAAM;iCACC,OAAO;IACpC;;OAEG;mBACY,OAAO;oBACN,SAAS;oBACT,SAAS;mBACV,MAAM,IAAI;mBACV,OAAO;WACf,MAAM;aACJ,MAAM;eACJ,QAAQ;;;;eAdR,MAAM;cACP,SAAS;0BACG,MAAM;iCACC,OAAO;IACpC;;OAEG;mBACY,OAAO;oBACN,SAAS;oBACT,SAAS;mBACV,MAAM,IAAI;mBACV,OAAO;WACf,MAAM;aACJ,MAAM;eACJ,QAAQ;qEAwKpB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { DrawerVariant, OpenHandlerFunction } from './types';
2
2
  export type DrawerContextValue = {
3
+ isModal: boolean;
3
4
  onOpenChange: OpenHandlerFunction;
4
5
  variant: DrawerVariant;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.context.d.ts","sourceRoot":"","sources":["../../../../../../components/drawer/src/drawer.context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,mBAAmB,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,oDAAiD,CAAC"}
1
+ {"version":3,"file":"drawer.context.d.ts","sourceRoot":"","sources":["../../../../../../components/drawer/src/drawer.context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,mBAAmB,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,oDAAiD,CAAC"}
@@ -6,6 +6,12 @@ import { DrawerVariant } from './types';
6
6
  export type { DrawerVariant };
7
7
  export type DrawerProps = Omit<BaseProps, "children"> & {
8
8
  children: ReactNode;
9
+ /**
10
+ * Whether the drawer should be modal. When `true` (default), focus is trapped
11
+ * and pointer events outside the drawer are disabled. Set to `false` when rendering
12
+ * components that use portals (e.g. DatePicker) inside the drawer.
13
+ */
14
+ isModal?: boolean;
9
15
  onOpenChange?: (open: boolean) => void;
10
16
  open: boolean;
11
17
  variant?: DrawerVariant;
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../../../../components/drawer/src/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAC5D,OAAO,EAAE,OAAO,aAAa,CAAC;IAC9B,OAAO,EAAE,OAAO,aAAa,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,eAAe,CAAC,WAAW,CA+B/C,CAAC"}
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../../../../components/drawer/src/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAC5D,OAAO,EAAE,OAAO,aAAa,CAAC;IAC9B,OAAO,EAAE,OAAO,aAAa,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,eAAe,CAAC,WAAW,CAgC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-combobox.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAe9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAuS3B,CAAC"}
1
+ {"version":3,"file":"dropdown-combobox.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAe9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAyS3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-select.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAc5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAkOzB,CAAC"}
1
+ {"version":3,"file":"dropdown-select.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAc5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAoOzB,CAAC"}
@@ -32,7 +32,7 @@ type DropdownTagsProps = {
32
32
  onRemove: (option: DropdownOption) => void;
33
33
  isSelect?: boolean;
34
34
  };
35
- export declare const DropdownTags: ({ selectedItems, getTestId, disabled, onRemove, isSelect, }: DropdownTagsProps) => React.JSX.Element | null;
35
+ export declare const DropdownTags: ({ selectedItems, getTestId, disabled, negative, onRemove, isSelect, }: DropdownTagsProps) => React.JSX.Element | null;
36
36
  type DropdownFooterProps = {
37
37
  errorText?: string;
38
38
  helperText?: string;
@@ -52,11 +52,12 @@ type DropdownListboxItemsProps = {
52
52
  optionsToShow: DropdownOption[];
53
53
  getListboxItemProps: (option: DropdownOption, index: number) => Record<string, unknown>;
54
54
  multiple?: boolean;
55
+ negative: boolean;
55
56
  fieldId: string;
56
57
  noOptionsText?: React.ReactNode;
57
58
  selectAllLabel?: string;
58
59
  selectedItems?: DropdownOption[];
59
60
  };
60
- export declare const DropdownListboxItems: ({ optionsToShow, getListboxItemProps, multiple, fieldId, noOptionsText, selectAllLabel, selectedItems, }: DropdownListboxItemsProps) => React.JSX.Element | React.JSX.Element[];
61
+ export declare const DropdownListboxItems: ({ optionsToShow, getListboxItemProps, multiple, negative, fieldId, noOptionsText, selectAllLabel, selectedItems, }: DropdownListboxItemsProps) => React.JSX.Element | React.JSX.Element[];
61
62
  export { cx };
62
63
  //# sourceMappingURL=dropdown-shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-shared.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-shared.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,QAAA,MAAM,EAAE,yDAAiB,CAAC;AAC1B,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEtD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,6EAQ3B,kBAAkB,6BAepB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,yFASnC,0BAA0B,sBA+B5B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,6DAM1B,iBAAiB,6BA2BnB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,oDAK5B,mBAAmB,sBASrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AAErE,KAAK,uBAAuB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,aAAa,EAAE,cAAc,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uDAKjC,uBAAuB,KAAG,OAU5B,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,0GAQlC,yBAAyB,4CAiF3B,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
1
+ {"version":3,"file":"dropdown-shared.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-shared.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,QAAA,MAAM,EAAE,yDAAiB,CAAC;AAC1B,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEtD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,6EAQ3B,kBAAkB,6BAepB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,yFASnC,0BAA0B,sBA+B5B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,uEAO1B,iBAAiB,6BA4BnB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,oDAK5B,mBAAmB,sBASrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AAErE,KAAK,uBAAuB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,aAAa,EAAE,cAAc,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uDAKjC,uBAAuB,KAAG,OAU5B,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,oHASlC,yBAAyB,4CAmF3B,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
@@ -16,6 +16,7 @@ export type UseDropdownParams = {
16
16
  onInputChange?: (value: string) => void;
17
17
  noOptionsText?: React.ReactNode;
18
18
  highlightFirstOption?: boolean;
19
+ negative: boolean;
19
20
  openOnFocus?: boolean;
20
21
  listboxMaxHeight?: string | number;
21
22
  disabled?: boolean;
@@ -35,5 +36,5 @@ export type UseDropdownReturn = {
35
36
  selectedItems: DropdownOption[];
36
37
  anchorStyle: CSSProperties;
37
38
  };
38
- export declare const useDropdown: ({ id, variant, options, listboxLabel, multiple, selectedOption, selectedOptions, onSelect, filterOption, inputValue: controlledInputValue, defaultInputValue, onInputChange, noOptionsText, highlightFirstOption, openOnFocus, listboxMaxHeight, disabled, readOnly, ["data-testid"]: dataTestId, }: UseDropdownParams) => UseDropdownReturn;
39
+ export declare const useDropdown: ({ id, variant, options, listboxLabel, multiple, selectedOption, selectedOptions, onSelect, filterOption, inputValue: controlledInputValue, defaultInputValue, onInputChange, noOptionsText, highlightFirstOption, openOnFocus, listboxMaxHeight, negative, disabled, readOnly, ["data-testid"]: dataTestId, }: UseDropdownParams) => UseDropdownReturn;
39
40
  //# sourceMappingURL=useDropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDropdown.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useDropdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,GAAG,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAGlG,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACjF,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,WAAW,EAAE,aAAa,CAAC;CAC5B,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,qSAoBzB,iBAAiB,KAAG,iBAiUtB,CAAC"}
1
+ {"version":3,"file":"useDropdown.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useDropdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,GAAG,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAGlG,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACjF,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,WAAW,EAAE,aAAa,CAAC;CAC5B,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,+SAqBzB,iBAAiB,KAAG,iBAkUtB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { default as React, ReactElement, ReactNode } from 'react';
1
+ import { default as React } from 'react';
2
2
  import { BaseProps } from '../../../libraries/common-types/src/common-types';
3
3
  export type ListboxItemProps = Omit<BaseProps<"li">, "role"> & {
4
4
  highlighted?: boolean;
@@ -7,9 +7,9 @@ export type ListboxItemProps = Omit<BaseProps<"li">, "role"> & {
7
7
  selected?: boolean;
8
8
  disabled?: boolean;
9
9
  noninteractive?: boolean;
10
+ negative?: boolean;
10
11
  /** When true, hides the built-in checkmark icon while preserving `aria-selected`. */
11
12
  hideSelectedIcon?: boolean;
12
13
  };
13
14
  export declare const ListboxItem: React.ForwardRefExoticComponent<Omit<ListboxItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
14
- export declare const isListboxItem: (child?: ReactNode) => child is ReactElement<ListboxItemProps>;
15
15
  //# sourceMappingURL=listbox-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"listbox-item.d.ts","sourceRoot":"","sources":["../../../../../../components/listbox/src/listbox-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAWtD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,WAAW,qGAoCtB,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,SAAS,KAAG,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAChB,CAAC"}
1
+ {"version":3,"file":"listbox-item.d.ts","sourceRoot":"","sources":["../../../../../../components/listbox/src/listbox-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,WAAW,qGA8CtB,CAAC"}
@@ -1,9 +1,12 @@
1
- import { ForwardRefExoticComponent, PropsWithoutRef } from 'react';
1
+ import { default as React, ForwardRefExoticComponent, PropsWithoutRef } from 'react';
2
2
  import { BaseProps } from '../../../libraries/common-types/src/common-types';
3
3
  import { ListboxItem } from './listbox-item';
4
+ export declare const ListboxNegativeContext: React.Context<boolean | undefined>;
4
5
  export type ListboxProps = Omit<BaseProps<"ul">, "role"> & {
5
6
  "aria-label": NonNullable<BaseProps<"ul">["aria-label"]>;
6
7
  "aria-expanded": NonNullable<BaseProps<"ul">["aria-expanded"]>;
8
+ /** When true, renders the Listbox for use on dark or colored backgrounds. */
9
+ negative?: boolean;
7
10
  };
8
11
  type ListboxStatic = {
9
12
  Item: typeof ListboxItem;
@@ -1 +1 @@
1
- {"version":3,"file":"listbox.d.ts","sourceRoot":"","sources":["../../../../../../components/listbox/src/listbox.tsx"],"names":[],"mappings":"AAAA,OAAc,EAGZ,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACrB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAiB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM5D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IACzD,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACzD,eAAe,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,OAAO,WAAW,CAAC;CAC1B,CAAC;AAEF,KAAK,gBAAgB,GAAG,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,aAAa,CAAC;AAEjG,eAAO,MAAM,OAAO,EAWf,gBAAgB,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"listbox.d.ts","sourceRoot":"","sources":["../../../../../../components/listbox/src/listbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACrB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,eAAO,MAAM,sBAAsB,oCAAgD,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IACzD,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACzD,eAAe,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/D,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,OAAO,WAAW,CAAC;CAC1B,CAAC;AAEF,KAAK,gBAAgB,GAAG,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,aAAa,CAAC;AAEjG,eAAO,MAAM,OAAO,EAaf,gBAAgB,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -53,6 +53,7 @@ export type ToggleProps = Omit<BaseProps<"button">, "onChange" | "children" | "i
53
53
  * The value given as data when wrapped with a form and submitted with a name.
54
54
  * */
55
55
  value?: string;
56
+ negative?: boolean;
56
57
  };
57
58
  export declare const Toggle: React.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
58
59
  //# sourceMappingURL=toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../../../components/toggle/src/toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG;IACpF;;SAEK;IACL,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;IACxB;;SAEK;IACL,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC7B;;SAEK;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;SAEK;IACL,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;SAEK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;SAEK;IACL,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;SAEK;IACL,EAAE,EAAE,MAAM,CAAC;IACX;;SAEK;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;SAEK;IACL,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC;;SAEK;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;SAEK;IACL,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;SAEK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;SAEK;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAKF,eAAO,MAAM,MAAM,oGAuElB,CAAC"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../../../components/toggle/src/toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG;IACpF;;SAEK;IACL,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;IACxB;;SAEK;IACL,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC7B;;SAEK;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;SAEK;IACL,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;SAEK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;SAEK;IACL,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;SAEK;IACL,EAAE,EAAE,MAAM,CAAC;IACX;;SAEK;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;SAEK;IACL,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC;;SAEK;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;SAEK;IACL,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;SAEK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;SAEK;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,MAAM,oGAiFlB,CAAC"}
@@ -3,7 +3,7 @@ module.exports = [
3
3
  "moduleName": "accordion",
4
4
  "exports": [
5
5
  "AccordionProps",
6
- "NegativeContext",
6
+ "AccordionNegativeContext",
7
7
  "Accordion",
8
8
  "AccordionItemOnClickEvent",
9
9
  "AccordionItemProps"
@@ -188,7 +188,8 @@ module.exports = [
188
188
  "DEFAULT_SIZE",
189
189
  "Size",
190
190
  "DismissableChipGroupProps",
191
- "SizeContext",
191
+ "DismissableChipGroupSizeContext",
192
+ "DismissableChipGroupNegativeContext",
192
193
  "DismissableChipGroup"
193
194
  ]
194
195
  },
@@ -6306,6 +6307,7 @@ module.exports = [
6306
6307
  {
6307
6308
  "moduleName": "listbox",
6308
6309
  "exports": [
6310
+ "ListboxNegativeContext",
6309
6311
  "ListboxProps",
6310
6312
  "Listbox",
6311
6313
  "ListboxItemProps"
@@ -2,7 +2,7 @@ import { jsx as r, jsxs as u } from "react/jsx-runtime";
2
2
  import { createContext as w, useContext as C } from "react";
3
3
  import { H as f } from "./heading-xwBuT_-9.mjs";
4
4
  import { a as y } from "./checkmark.es-DdgIZN2R.mjs";
5
- import { P as B } from "./paragraph-Ci50OF1u.mjs";
5
+ import { P as B } from "./paragraph-DSxXmX_0.mjs";
6
6
  import { c as k } from "./bind-CU-R61T-.mjs";
7
7
  const G = {
8
8
  "purpur-content-block": "_purpur-content-block_mjbqd_1",
@@ -89,4 +89,4 @@ h.displayName = "ContentBlock";
89
89
  export {
90
90
  h as C
91
91
  };
92
- //# sourceMappingURL=content-block-Dm3L4g8w.mjs.map
92
+ //# sourceMappingURL=content-block-CakKeJtN.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-block-Dm3L4g8w.mjs","sources":["../../../components/content-block/src/content-block-group.tsx","../../../components/content-block/src/content-block.tsx"],"sourcesContent":["import React, { createContext, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block-group.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block-group\";\n\nexport const ContentBlockGroupContext = createContext<{\n negative?: boolean;\n reverse?: boolean;\n} | null>(null);\n\nexport type ContentBlockGroupProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n negative?: boolean;\n mediaStartPosition?: \"left\" | \"right\";\n};\n\nexport const ContentBlockGroup = ({\n children,\n className,\n negative,\n mediaStartPosition = \"left\",\n ...props\n}: ContentBlockGroupProps) => {\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <ContentBlockGroupContext.Provider\n value={{ negative, reverse: mediaStartPosition === \"right\" }}\n >\n {children}\n </ContentBlockGroupContext.Provider>\n </div>\n );\n};\n\nContentBlockGroup.displayName = \"ContentBlockGroup\";\n","import React, { type ReactNode, useContext } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType, type HeadingVariant } from \"@purpur/heading\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block.module.scss\";\nimport { ContentBlockGroup, ContentBlockGroupContext } from \"./content-block-group\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block\";\n\nexport type ContentBlockProps = BaseProps & {\n /**\n * @deprecated Set negative on ContentBlockGroup instead\n */\n negative?: boolean;\n image?: ReactNode;\n video?: ReactNode;\n /**\n * @deprecated Use beforeTitle instead\n */\n badge?: ReactNode;\n actions?: ReactNode;\n listItems?: string[];\n beforeTitle?: ReactNode;\n title?: string;\n headingTag?: HeadingTagType;\n headingVariant?: HeadingVariant;\n};\n\nexport const ContentBlock = ({\n className,\n negative,\n image,\n video,\n badge,\n beforeTitle,\n title,\n actions,\n listItems,\n headingTag = \"h2\",\n headingVariant = \"display-15\",\n children,\n ...props\n}: ContentBlockProps) => {\n const context = useContext(ContentBlockGroupContext);\n\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: context?.negative || negative,\n [`${rootClassName}--reverse`]: context?.reverse,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <div className={cx(`${rootClassName}__section`)}>\n {video ? (\n <div className={cx(`${rootClassName}__video-wrapper`)}>{video}</div>\n ) : (\n <div className={cx(`${rootClassName}__image-wrapper`)}>{image}</div>\n )}\n </div>\n <div className={cx(`${rootClassName}__section`)}>\n <div className={cx(`${rootClassName}__content-wrapper`)}>\n {badge && <div className={cx(`${rootClassName}__badge-wrapper`)}>{badge}</div>}\n {beforeTitle}\n {title?.trim() && (\n <Heading variant={headingVariant} tag={headingTag} negative={negative}>\n {title}\n </Heading>\n )}\n <div className={cx(`${rootClassName}__content`)}>{children}</div>\n {!!listItems?.length && (\n <ul className={cx(`${rootClassName}__list`)}>\n {listItems.map(\n (item) =>\n item && (\n <li className={cx(`${rootClassName}__list-item`)} key={item}>\n <IconCheckmark size=\"xs\" className={cx(`${rootClassName}__list-item-icon`)} />\n <Paragraph negative={negative}>{item}</Paragraph>\n </li>\n )\n )}\n </ul>\n )}\n {actions && <div className={cx(`${rootClassName}__actions`)}>{actions}</div>}\n </div>\n </div>\n </div>\n );\n};\n\nContentBlock.Group = ContentBlockGroup;\nContentBlock.displayName = \"ContentBlock\";\n"],"names":["cx","c","styles","rootClassName","ContentBlockGroupContext","createContext","ContentBlockGroup","children","className","negative","mediaStartPosition","props","classes","jsx","ContentBlock","image","video","badge","beforeTitle","title","actions","listItems","headingTag","headingVariant","context","useContext","jsxs","Heading","item","IconCheckmark","Paragraph"],"mappings":"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"}
1
+ {"version":3,"file":"content-block-CakKeJtN.mjs","sources":["../../../components/content-block/src/content-block-group.tsx","../../../components/content-block/src/content-block.tsx"],"sourcesContent":["import React, { createContext, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block-group.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block-group\";\n\nexport const ContentBlockGroupContext = createContext<{\n negative?: boolean;\n reverse?: boolean;\n} | null>(null);\n\nexport type ContentBlockGroupProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n negative?: boolean;\n mediaStartPosition?: \"left\" | \"right\";\n};\n\nexport const ContentBlockGroup = ({\n children,\n className,\n negative,\n mediaStartPosition = \"left\",\n ...props\n}: ContentBlockGroupProps) => {\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <ContentBlockGroupContext.Provider\n value={{ negative, reverse: mediaStartPosition === \"right\" }}\n >\n {children}\n </ContentBlockGroupContext.Provider>\n </div>\n );\n};\n\nContentBlockGroup.displayName = \"ContentBlockGroup\";\n","import React, { type ReactNode, useContext } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType, type HeadingVariant } from \"@purpur/heading\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block.module.scss\";\nimport { ContentBlockGroup, ContentBlockGroupContext } from \"./content-block-group\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block\";\n\nexport type ContentBlockProps = BaseProps & {\n /**\n * @deprecated Set negative on ContentBlockGroup instead\n */\n negative?: boolean;\n image?: ReactNode;\n video?: ReactNode;\n /**\n * @deprecated Use beforeTitle instead\n */\n badge?: ReactNode;\n actions?: ReactNode;\n listItems?: string[];\n beforeTitle?: ReactNode;\n title?: string;\n headingTag?: HeadingTagType;\n headingVariant?: HeadingVariant;\n};\n\nexport const ContentBlock = ({\n className,\n negative,\n image,\n video,\n badge,\n beforeTitle,\n title,\n actions,\n listItems,\n headingTag = \"h2\",\n headingVariant = \"display-15\",\n children,\n ...props\n}: ContentBlockProps) => {\n const context = useContext(ContentBlockGroupContext);\n\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: context?.negative || negative,\n [`${rootClassName}--reverse`]: context?.reverse,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <div className={cx(`${rootClassName}__section`)}>\n {video ? (\n <div className={cx(`${rootClassName}__video-wrapper`)}>{video}</div>\n ) : (\n <div className={cx(`${rootClassName}__image-wrapper`)}>{image}</div>\n )}\n </div>\n <div className={cx(`${rootClassName}__section`)}>\n <div className={cx(`${rootClassName}__content-wrapper`)}>\n {badge && <div className={cx(`${rootClassName}__badge-wrapper`)}>{badge}</div>}\n {beforeTitle}\n {title?.trim() && (\n <Heading variant={headingVariant} tag={headingTag} negative={negative}>\n {title}\n </Heading>\n )}\n <div className={cx(`${rootClassName}__content`)}>{children}</div>\n {!!listItems?.length && (\n <ul className={cx(`${rootClassName}__list`)}>\n {listItems.map(\n (item) =>\n item && (\n <li className={cx(`${rootClassName}__list-item`)} key={item}>\n <IconCheckmark size=\"xs\" className={cx(`${rootClassName}__list-item-icon`)} />\n <Paragraph negative={negative}>{item}</Paragraph>\n </li>\n )\n )}\n </ul>\n )}\n {actions && <div className={cx(`${rootClassName}__actions`)}>{actions}</div>}\n </div>\n </div>\n </div>\n );\n};\n\nContentBlock.Group = ContentBlockGroup;\nContentBlock.displayName = \"ContentBlock\";\n"],"names":["cx","c","styles","rootClassName","ContentBlockGroupContext","createContext","ContentBlockGroup","children","className","negative","mediaStartPosition","props","classes","jsx","ContentBlock","image","video","badge","beforeTitle","title","actions","listItems","headingTag","headingVariant","context","useContext","jsxs","Heading","item","IconCheckmark","Paragraph"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),k=require("react"),w=require("./heading-drD5ugCC.js"),C=require("./checkmark.es-lYntWFA3.js"),y=require("./paragraph-BsI53OR0.js"),j=require("./bind-DeUYJ6m9.js"),B={"purpur-content-block":"_purpur-content-block_mjbqd_1","purpur-content-block--reverse":"_purpur-content-block--reverse_mjbqd_13","purpur-content-block__section":"_purpur-content-block__section_mjbqd_20","purpur-content-block__image-wrapper":"_purpur-content-block__image-wrapper_mjbqd_28","purpur-content-block__video-wrapper":"_purpur-content-block__video-wrapper_mjbqd_31","purpur-content-block__content-wrapper":"_purpur-content-block__content-wrapper_mjbqd_41","purpur-content-block__badge-wrapper":"_purpur-content-block__badge-wrapper_mjbqd_46","purpur-content-block__content":"_purpur-content-block__content_mjbqd_41","purpur-content-block__list":"_purpur-content-block__list_mjbqd_52","purpur-content-block__list-item":"_purpur-content-block__list-item_mjbqd_57","purpur-content-block__list-item-icon":"_purpur-content-block__list-item-icon_mjbqd_65","purpur-content-block__actions":"_purpur-content-block__actions_mjbqd_68","purpur-content-block--negative":"_purpur-content-block--negative_mjbqd_79","purpur-content-block__text-spacing":"_purpur-content-block__text-spacing_mjbqd_79"},G={"purpur-content-block-group":"_purpur-content-block-group_xzyy2_1"},z=j.c.bind(G),m="purpur-content-block-group",x=k.createContext(null),v=({children:s,className:n,negative:c,mediaStartPosition:o="left",..._})=>{const p=z([m,{[`${m}--negative`]:c},n]);return e.jsx("div",{className:p,..._,children:e.jsx(x.Provider,{value:{negative:c,reverse:o==="right"},children:s})})};v.displayName="ContentBlockGroup";const r=j.c.bind(B),t="purpur-content-block",u=({className:s,negative:n,image:c,video:o,badge:_,beforeTitle:p,title:a,actions:i,listItems:b,headingTag:h="h2",headingVariant:q="display-15",children:g,...N})=>{const d=k.useContext(x),$=r([t,{[`${t}--negative`]:d?.negative||n,[`${t}--reverse`]:d?.reverse},s]);return e.jsxs("div",{className:$,...N,children:[e.jsx("div",{className:r(`${t}__section`),children:o?e.jsx("div",{className:r(`${t}__video-wrapper`),children:o}):e.jsx("div",{className:r(`${t}__image-wrapper`),children:c})}),e.jsx("div",{className:r(`${t}__section`),children:e.jsxs("div",{className:r(`${t}__content-wrapper`),children:[_&&e.jsx("div",{className:r(`${t}__badge-wrapper`),children:_}),p,a?.trim()&&e.jsx(w.Heading,{variant:q,tag:h,negative:n,children:a}),e.jsx("div",{className:r(`${t}__content`),children:g}),!!b?.length&&e.jsx("ul",{className:r(`${t}__list`),children:b.map(l=>l&&e.jsxs("li",{className:r(`${t}__list-item`),children:[e.jsx(C.a,{size:"xs",className:r(`${t}__list-item-icon`)}),e.jsx(y.Paragraph,{negative:n,children:l})]},l))}),i&&e.jsx("div",{className:r(`${t}__actions`),children:i})]})})]})};u.Group=v;u.displayName="ContentBlock";exports.ContentBlock=u;
2
- //# sourceMappingURL=content-block-CDRUH0pg.js.map
1
+ "use strict";const e=require("react/jsx-runtime"),k=require("react"),w=require("./heading-drD5ugCC.js"),C=require("./checkmark.es-lYntWFA3.js"),y=require("./paragraph-By4jMjnH.js"),j=require("./bind-DeUYJ6m9.js"),B={"purpur-content-block":"_purpur-content-block_mjbqd_1","purpur-content-block--reverse":"_purpur-content-block--reverse_mjbqd_13","purpur-content-block__section":"_purpur-content-block__section_mjbqd_20","purpur-content-block__image-wrapper":"_purpur-content-block__image-wrapper_mjbqd_28","purpur-content-block__video-wrapper":"_purpur-content-block__video-wrapper_mjbqd_31","purpur-content-block__content-wrapper":"_purpur-content-block__content-wrapper_mjbqd_41","purpur-content-block__badge-wrapper":"_purpur-content-block__badge-wrapper_mjbqd_46","purpur-content-block__content":"_purpur-content-block__content_mjbqd_41","purpur-content-block__list":"_purpur-content-block__list_mjbqd_52","purpur-content-block__list-item":"_purpur-content-block__list-item_mjbqd_57","purpur-content-block__list-item-icon":"_purpur-content-block__list-item-icon_mjbqd_65","purpur-content-block__actions":"_purpur-content-block__actions_mjbqd_68","purpur-content-block--negative":"_purpur-content-block--negative_mjbqd_79","purpur-content-block__text-spacing":"_purpur-content-block__text-spacing_mjbqd_79"},G={"purpur-content-block-group":"_purpur-content-block-group_xzyy2_1"},z=j.c.bind(G),m="purpur-content-block-group",x=k.createContext(null),v=({children:s,className:n,negative:c,mediaStartPosition:o="left",..._})=>{const p=z([m,{[`${m}--negative`]:c},n]);return e.jsx("div",{className:p,..._,children:e.jsx(x.Provider,{value:{negative:c,reverse:o==="right"},children:s})})};v.displayName="ContentBlockGroup";const r=j.c.bind(B),t="purpur-content-block",u=({className:s,negative:n,image:c,video:o,badge:_,beforeTitle:p,title:a,actions:i,listItems:b,headingTag:h="h2",headingVariant:q="display-15",children:g,...N})=>{const d=k.useContext(x),$=r([t,{[`${t}--negative`]:d?.negative||n,[`${t}--reverse`]:d?.reverse},s]);return e.jsxs("div",{className:$,...N,children:[e.jsx("div",{className:r(`${t}__section`),children:o?e.jsx("div",{className:r(`${t}__video-wrapper`),children:o}):e.jsx("div",{className:r(`${t}__image-wrapper`),children:c})}),e.jsx("div",{className:r(`${t}__section`),children:e.jsxs("div",{className:r(`${t}__content-wrapper`),children:[_&&e.jsx("div",{className:r(`${t}__badge-wrapper`),children:_}),p,a?.trim()&&e.jsx(w.Heading,{variant:q,tag:h,negative:n,children:a}),e.jsx("div",{className:r(`${t}__content`),children:g}),!!b?.length&&e.jsx("ul",{className:r(`${t}__list`),children:b.map(l=>l&&e.jsxs("li",{className:r(`${t}__list-item`),children:[e.jsx(C.a,{size:"xs",className:r(`${t}__list-item-icon`)}),e.jsx(y.Paragraph,{negative:n,children:l})]},l))}),i&&e.jsx("div",{className:r(`${t}__actions`),children:i})]})})]})};u.Group=v;u.displayName="ContentBlock";exports.ContentBlock=u;
2
+ //# sourceMappingURL=content-block-CrekbIfe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-block-CDRUH0pg.js","sources":["../../../components/content-block/src/content-block-group.tsx","../../../components/content-block/src/content-block.tsx"],"sourcesContent":["import React, { createContext, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block-group.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block-group\";\n\nexport const ContentBlockGroupContext = createContext<{\n negative?: boolean;\n reverse?: boolean;\n} | null>(null);\n\nexport type ContentBlockGroupProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n negative?: boolean;\n mediaStartPosition?: \"left\" | \"right\";\n};\n\nexport const ContentBlockGroup = ({\n children,\n className,\n negative,\n mediaStartPosition = \"left\",\n ...props\n}: ContentBlockGroupProps) => {\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <ContentBlockGroupContext.Provider\n value={{ negative, reverse: mediaStartPosition === \"right\" }}\n >\n {children}\n </ContentBlockGroupContext.Provider>\n </div>\n );\n};\n\nContentBlockGroup.displayName = \"ContentBlockGroup\";\n","import React, { type ReactNode, useContext } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType, type HeadingVariant } from \"@purpur/heading\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block.module.scss\";\nimport { ContentBlockGroup, ContentBlockGroupContext } from \"./content-block-group\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block\";\n\nexport type ContentBlockProps = BaseProps & {\n /**\n * @deprecated Set negative on ContentBlockGroup instead\n */\n negative?: boolean;\n image?: ReactNode;\n video?: ReactNode;\n /**\n * @deprecated Use beforeTitle instead\n */\n badge?: ReactNode;\n actions?: ReactNode;\n listItems?: string[];\n beforeTitle?: ReactNode;\n title?: string;\n headingTag?: HeadingTagType;\n headingVariant?: HeadingVariant;\n};\n\nexport const ContentBlock = ({\n className,\n negative,\n image,\n video,\n badge,\n beforeTitle,\n title,\n actions,\n listItems,\n headingTag = \"h2\",\n headingVariant = \"display-15\",\n children,\n ...props\n}: ContentBlockProps) => {\n const context = useContext(ContentBlockGroupContext);\n\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: context?.negative || negative,\n [`${rootClassName}--reverse`]: context?.reverse,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <div className={cx(`${rootClassName}__section`)}>\n {video ? (\n <div className={cx(`${rootClassName}__video-wrapper`)}>{video}</div>\n ) : (\n <div className={cx(`${rootClassName}__image-wrapper`)}>{image}</div>\n )}\n </div>\n <div className={cx(`${rootClassName}__section`)}>\n <div className={cx(`${rootClassName}__content-wrapper`)}>\n {badge && <div className={cx(`${rootClassName}__badge-wrapper`)}>{badge}</div>}\n {beforeTitle}\n {title?.trim() && (\n <Heading variant={headingVariant} tag={headingTag} negative={negative}>\n {title}\n </Heading>\n )}\n <div className={cx(`${rootClassName}__content`)}>{children}</div>\n {!!listItems?.length && (\n <ul className={cx(`${rootClassName}__list`)}>\n {listItems.map(\n (item) =>\n item && (\n <li className={cx(`${rootClassName}__list-item`)} key={item}>\n <IconCheckmark size=\"xs\" className={cx(`${rootClassName}__list-item-icon`)} />\n <Paragraph negative={negative}>{item}</Paragraph>\n </li>\n )\n )}\n </ul>\n )}\n {actions && <div className={cx(`${rootClassName}__actions`)}>{actions}</div>}\n </div>\n </div>\n </div>\n );\n};\n\nContentBlock.Group = ContentBlockGroup;\nContentBlock.displayName = \"ContentBlock\";\n"],"names":["cx","c","styles","rootClassName","ContentBlockGroupContext","createContext","ContentBlockGroup","children","className","negative","mediaStartPosition","props","classes","jsx","ContentBlock","image","video","badge","beforeTitle","title","actions","listItems","headingTag","headingVariant","context","useContext","jsxs","Heading","item","IconCheckmark","Paragraph"],"mappings":"q2CAMMA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAClBC,EAAgB,6BAETC,EAA2BC,EAAAA,cAG9B,IAAI,EAQDC,EAAoB,CAAC,CAChC,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,mBAAAC,EAAqB,OACrB,GAAGC,CACL,IAA8B,CAC5B,MAAMC,EAAUZ,EAAG,CACjBG,EACA,CACE,CAAC,GAAGA,CAAa,YAAY,EAAGM,CAAA,EAElCD,CAAA,CACD,EAED,OACEK,EAAAA,IAAC,MAAA,CAAI,UAAWD,EAAU,GAAGD,EAC3B,SAAAE,EAAAA,IAACT,EAAyB,SAAzB,CACC,MAAO,CAAE,SAAAK,EAAU,QAASC,IAAuB,OAAA,EAElD,SAAAH,CAAA,CAAA,EAEL,CAEJ,EAEAD,EAAkB,YAAc,oBCpChC,MAAMN,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAClBC,EAAgB,uBAqBTW,EAAe,CAAC,CAC3B,UAAAN,EACA,SAAAC,EACA,MAAAM,EACA,MAAAC,EACA,MAAAC,EACA,YAAAC,EACA,MAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,KACb,eAAAC,EAAiB,aACjB,SAAAhB,EACA,GAAGI,CACL,IAAyB,CACvB,MAAMa,EAAUC,EAAAA,WAAWrB,CAAwB,EAE7CQ,EAAUZ,EAAG,CACjBG,EACA,CACE,CAAC,GAAGA,CAAa,YAAY,EAAGqB,GAAS,UAAYf,EACrD,CAAC,GAAGN,CAAa,WAAW,EAAGqB,GAAS,OAAA,EAE1ChB,CAAA,CACD,EAED,OACEkB,EAAAA,KAAC,MAAA,CAAI,UAAWd,EAAU,GAAGD,EAC3B,SAAA,CAAAE,EAAAA,IAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,WAAW,EAC3C,SAAAa,EACCH,MAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,iBAAiB,EAAI,SAAAa,CAAA,CAAM,EAE9DH,EAAAA,IAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,iBAAiB,EAAI,SAAAY,CAAA,CAAM,EAElE,EACAF,MAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,WAAW,EAC5C,SAAAuB,EAAAA,KAAC,OAAI,UAAW1B,EAAG,GAAGG,CAAa,mBAAmB,EACnD,SAAA,CAAAc,GAASJ,EAAAA,IAAC,OAAI,UAAWb,EAAG,GAAGG,CAAa,iBAAiB,EAAI,SAAAc,CAAA,CAAM,EACvEC,EACAC,GAAO,KAAA,GACNN,MAACc,EAAAA,QAAA,CAAQ,QAASJ,EAAgB,IAAKD,EAAY,SAAAb,EAChD,SAAAU,CAAA,CACH,EAEFN,MAAC,OAAI,UAAWb,EAAG,GAAGG,CAAa,WAAW,EAAI,SAAAI,EAAS,EAC1D,CAAC,CAACc,GAAW,QACZR,EAAAA,IAAC,KAAA,CAAG,UAAWb,EAAG,GAAGG,CAAa,QAAQ,EACvC,SAAAkB,EAAU,IACRO,GACCA,GACEF,EAAAA,KAAC,KAAA,CAAG,UAAW1B,EAAG,GAAGG,CAAa,aAAa,EAC7C,SAAA,CAAAU,EAAAA,IAACgB,EAAAA,EAAA,CAAc,KAAK,KAAK,UAAW7B,EAAG,GAAGG,CAAa,kBAAkB,CAAA,CAAG,EAC5EU,EAAAA,IAACiB,EAAAA,UAAA,CAAU,SAAArB,EAAqB,SAAAmB,CAAA,CAAK,CAAA,CAAA,EAFgBA,CAGvD,CAAA,EAGR,EAEDR,SAAY,MAAA,CAAI,UAAWpB,EAAG,GAAGG,CAAa,WAAW,EAAI,SAAAiB,CAAA,CAAQ,CAAA,CAAA,CACxE,CAAA,CACF,CAAA,EACF,CAEJ,EAEAN,EAAa,MAAQR,EACrBQ,EAAa,YAAc"}
1
+ {"version":3,"file":"content-block-CrekbIfe.js","sources":["../../../components/content-block/src/content-block-group.tsx","../../../components/content-block/src/content-block.tsx"],"sourcesContent":["import React, { createContext, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block-group.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block-group\";\n\nexport const ContentBlockGroupContext = createContext<{\n negative?: boolean;\n reverse?: boolean;\n} | null>(null);\n\nexport type ContentBlockGroupProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n negative?: boolean;\n mediaStartPosition?: \"left\" | \"right\";\n};\n\nexport const ContentBlockGroup = ({\n children,\n className,\n negative,\n mediaStartPosition = \"left\",\n ...props\n}: ContentBlockGroupProps) => {\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: negative,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <ContentBlockGroupContext.Provider\n value={{ negative, reverse: mediaStartPosition === \"right\" }}\n >\n {children}\n </ContentBlockGroupContext.Provider>\n </div>\n );\n};\n\nContentBlockGroup.displayName = \"ContentBlockGroup\";\n","import React, { type ReactNode, useContext } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType, type HeadingVariant } from \"@purpur/heading\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./content-block.module.scss\";\nimport { ContentBlockGroup, ContentBlockGroupContext } from \"./content-block-group\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-content-block\";\n\nexport type ContentBlockProps = BaseProps & {\n /**\n * @deprecated Set negative on ContentBlockGroup instead\n */\n negative?: boolean;\n image?: ReactNode;\n video?: ReactNode;\n /**\n * @deprecated Use beforeTitle instead\n */\n badge?: ReactNode;\n actions?: ReactNode;\n listItems?: string[];\n beforeTitle?: ReactNode;\n title?: string;\n headingTag?: HeadingTagType;\n headingVariant?: HeadingVariant;\n};\n\nexport const ContentBlock = ({\n className,\n negative,\n image,\n video,\n badge,\n beforeTitle,\n title,\n actions,\n listItems,\n headingTag = \"h2\",\n headingVariant = \"display-15\",\n children,\n ...props\n}: ContentBlockProps) => {\n const context = useContext(ContentBlockGroupContext);\n\n const classes = cx([\n rootClassName,\n {\n [`${rootClassName}--negative`]: context?.negative || negative,\n [`${rootClassName}--reverse`]: context?.reverse,\n },\n className,\n ]);\n\n return (\n <div className={classes} {...props}>\n <div className={cx(`${rootClassName}__section`)}>\n {video ? (\n <div className={cx(`${rootClassName}__video-wrapper`)}>{video}</div>\n ) : (\n <div className={cx(`${rootClassName}__image-wrapper`)}>{image}</div>\n )}\n </div>\n <div className={cx(`${rootClassName}__section`)}>\n <div className={cx(`${rootClassName}__content-wrapper`)}>\n {badge && <div className={cx(`${rootClassName}__badge-wrapper`)}>{badge}</div>}\n {beforeTitle}\n {title?.trim() && (\n <Heading variant={headingVariant} tag={headingTag} negative={negative}>\n {title}\n </Heading>\n )}\n <div className={cx(`${rootClassName}__content`)}>{children}</div>\n {!!listItems?.length && (\n <ul className={cx(`${rootClassName}__list`)}>\n {listItems.map(\n (item) =>\n item && (\n <li className={cx(`${rootClassName}__list-item`)} key={item}>\n <IconCheckmark size=\"xs\" className={cx(`${rootClassName}__list-item-icon`)} />\n <Paragraph negative={negative}>{item}</Paragraph>\n </li>\n )\n )}\n </ul>\n )}\n {actions && <div className={cx(`${rootClassName}__actions`)}>{actions}</div>}\n </div>\n </div>\n </div>\n );\n};\n\nContentBlock.Group = ContentBlockGroup;\nContentBlock.displayName = \"ContentBlock\";\n"],"names":["cx","c","styles","rootClassName","ContentBlockGroupContext","createContext","ContentBlockGroup","children","className","negative","mediaStartPosition","props","classes","jsx","ContentBlock","image","video","badge","beforeTitle","title","actions","listItems","headingTag","headingVariant","context","useContext","jsxs","Heading","item","IconCheckmark","Paragraph"],"mappings":"q2CAMMA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAClBC,EAAgB,6BAETC,EAA2BC,EAAAA,cAG9B,IAAI,EAQDC,EAAoB,CAAC,CAChC,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,mBAAAC,EAAqB,OACrB,GAAGC,CACL,IAA8B,CAC5B,MAAMC,EAAUZ,EAAG,CACjBG,EACA,CACE,CAAC,GAAGA,CAAa,YAAY,EAAGM,CAAA,EAElCD,CAAA,CACD,EAED,OACEK,EAAAA,IAAC,MAAA,CAAI,UAAWD,EAAU,GAAGD,EAC3B,SAAAE,EAAAA,IAACT,EAAyB,SAAzB,CACC,MAAO,CAAE,SAAAK,EAAU,QAASC,IAAuB,OAAA,EAElD,SAAAH,CAAA,CAAA,EAEL,CAEJ,EAEAD,EAAkB,YAAc,oBCpChC,MAAMN,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAClBC,EAAgB,uBAqBTW,EAAe,CAAC,CAC3B,UAAAN,EACA,SAAAC,EACA,MAAAM,EACA,MAAAC,EACA,MAAAC,EACA,YAAAC,EACA,MAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,KACb,eAAAC,EAAiB,aACjB,SAAAhB,EACA,GAAGI,CACL,IAAyB,CACvB,MAAMa,EAAUC,EAAAA,WAAWrB,CAAwB,EAE7CQ,EAAUZ,EAAG,CACjBG,EACA,CACE,CAAC,GAAGA,CAAa,YAAY,EAAGqB,GAAS,UAAYf,EACrD,CAAC,GAAGN,CAAa,WAAW,EAAGqB,GAAS,OAAA,EAE1ChB,CAAA,CACD,EAED,OACEkB,EAAAA,KAAC,MAAA,CAAI,UAAWd,EAAU,GAAGD,EAC3B,SAAA,CAAAE,EAAAA,IAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,WAAW,EAC3C,SAAAa,EACCH,MAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,iBAAiB,EAAI,SAAAa,CAAA,CAAM,EAE9DH,EAAAA,IAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,iBAAiB,EAAI,SAAAY,CAAA,CAAM,EAElE,EACAF,MAAC,MAAA,CAAI,UAAWb,EAAG,GAAGG,CAAa,WAAW,EAC5C,SAAAuB,EAAAA,KAAC,OAAI,UAAW1B,EAAG,GAAGG,CAAa,mBAAmB,EACnD,SAAA,CAAAc,GAASJ,EAAAA,IAAC,OAAI,UAAWb,EAAG,GAAGG,CAAa,iBAAiB,EAAI,SAAAc,CAAA,CAAM,EACvEC,EACAC,GAAO,KAAA,GACNN,MAACc,EAAAA,QAAA,CAAQ,QAASJ,EAAgB,IAAKD,EAAY,SAAAb,EAChD,SAAAU,CAAA,CACH,EAEFN,MAAC,OAAI,UAAWb,EAAG,GAAGG,CAAa,WAAW,EAAI,SAAAI,EAAS,EAC1D,CAAC,CAACc,GAAW,QACZR,EAAAA,IAAC,KAAA,CAAG,UAAWb,EAAG,GAAGG,CAAa,QAAQ,EACvC,SAAAkB,EAAU,IACRO,GACCA,GACEF,EAAAA,KAAC,KAAA,CAAG,UAAW1B,EAAG,GAAGG,CAAa,aAAa,EAC7C,SAAA,CAAAU,EAAAA,IAACgB,EAAAA,EAAA,CAAc,KAAK,KAAK,UAAW7B,EAAG,GAAGG,CAAa,kBAAkB,CAAA,CAAG,EAC5EU,EAAAA,IAACiB,EAAAA,UAAA,CAAU,SAAArB,EAAqB,SAAAmB,CAAA,CAAK,CAAA,CAAA,EAFgBA,CAGvD,CAAA,EAGR,EAEDR,SAAY,MAAA,CAAI,UAAWpB,EAAG,GAAGG,CAAa,WAAW,EAAI,SAAAiB,CAAA,CAAQ,CAAA,CAAA,CACxE,CAAA,CACF,CAAA,EACF,CAEJ,EAEAN,EAAa,MAAQR,EACrBQ,EAAa,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./content-block-CDRUH0pg.js");exports.ContentBlock=t.ContentBlock;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./content-block-CrekbIfe.js");exports.ContentBlock=t.ContentBlock;
2
2
  //# sourceMappingURL=content-block.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { C as e } from "./content-block-Dm3L4g8w.mjs";
1
+ import { C as e } from "./content-block-CakKeJtN.mjs";
2
2
  export {
3
3
  e as ContentBlock
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { jsxs as v, jsx as u, Fragment as T } from "react/jsx-runtime";
2
2
  import { forwardRef as k, useId as G, useState as J, useMemo as z, useEffect as K } from "react";
3
- import { P as M } from "./paragraph-Ci50OF1u.mjs";
3
+ import { P as M } from "./paragraph-DSxXmX_0.mjs";
4
4
  import { V as O } from "./visually-hidden-BYFkJEp1.mjs";
5
5
  import { c as A } from "./bind-CU-R61T-.mjs";
6
6
  const U = {
@@ -176,4 +176,4 @@ B.displayName = "Countdown";
176
176
  export {
177
177
  B as C
178
178
  };
179
- //# sourceMappingURL=countdown-DZ4IwkNy.mjs.map
179
+ //# sourceMappingURL=countdown-BsLsEZBv.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"countdown-DZ4IwkNy.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) {\n const now = new Date().getTime();\n\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 nowInit = new Date();\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 } = props;\n\n const [now, setNow] = useState<Date>(nowInit);\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(() => getDiffs(end.getTime()), [now]);\n\n useEffect(() => {\n if (now < start || now > end) return;\n const t = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(t);\n }, [start, end, now]);\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","value","Countdown","forwardRef","renderAfterEnd","renderBeforeStart","props","ref","nowInit","id","useId","fullWidth","negative","showDays","variant","className","useMediaQueries","setNow","useState","start","useMemo","end","seconds","useEffect","t","hasNotStarted","hasEnded","getCounters","counterProps","renderAnnouncer","getTimeAnnouncement","parts","VisuallyHidden","counters","classes"],"mappings":"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"}
1
+ {"version":3,"file":"countdown-BsLsEZBv.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) {\n const now = new Date().getTime();\n\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 nowInit = new Date();\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 } = props;\n\n const [now, setNow] = useState<Date>(nowInit);\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(() => getDiffs(end.getTime()), [now]);\n\n useEffect(() => {\n if (now < start || now > end) return;\n const t = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(t);\n }, [start, end, now]);\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","value","Countdown","forwardRef","renderAfterEnd","renderBeforeStart","props","ref","nowInit","id","useId","fullWidth","negative","showDays","variant","className","useMediaQueries","setNow","useState","start","useMemo","end","seconds","useEffect","t","hasNotStarted","hasEnded","getCounters","counterProps","renderAnnouncer","getTimeAnnouncement","parts","VisuallyHidden","counters","classes"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("react/jsx-runtime"),d=require("react"),N=require("./paragraph-BsI53OR0.js"),W=require("./visually-hidden-C2CKovZx.js"),S=require("./bind-DeUYJ6m9.js"),k={"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"},G={"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"},w=S.c.bind(G),r="purpur-countdown-counter",g=({tag:u,size:a,numbers:e,counterLabels:_})=>{const b=()=>{const s=_[u],t=_[`${u}Abbr`];return n.jsxs(n.Fragment,{children:[t&&n.jsx(N.Paragraph,{className:w(`${r}__label`,`${r}__label--abbr`),children:n.jsx("abbr",{title:s,children:t})}),n.jsx(N.Paragraph,{className:w(`${r}__label`,{[`${r}__label--full`]:!!t}),children:s})]})};return n.jsxs("div",{className:w(r,`${r}--size-${a}`),role:"group","aria-hidden":"true","data-testid":`counter-${u}`,children:[n.jsx("div",{className:w(`${r}__number-list-container`),children:e.map((s,t)=>n.jsx("ul",{className:w(`${r}__number-list`),style:{"--offset":s},children:J.map((p,h)=>{const i=p===s;return n.jsx("li",{className:w(`${r}__number`,{[`${r}__number--selected`]:i}),children:p},h)})},t))}),b()]})},J=["0","1","2","3","4","5","6","7","8","9"];function K(u){const a=new Date().getTime(),e=Math.max(0,u-a),_=Math.floor(e/l.day),b=Math.floor(e%l.day/l.hour),s=Math.floor(e%l.hour/l.minute),t=Math.floor(e%l.minute/l.second),p=j(_),h=j(b),i=j(s);return{seconds:j(t),minutes:i,hours:h,days:p}}const l={second:1e3,minute:60*1e3,hour:3600*1e3,day:1440*60*1e3};function P(u){return u instanceof Date?u:new Date(u)}function j(u){return String(u).padStart(2,"0").split("")}const v=S.c.bind(k),o="purpur-countdown",R=d.forwardRef(({renderAfterEnd:u,renderBeforeStart:a,...e},_)=>{const b=new Date,s=d.useId(),{size:t="lg",fullWidth:p=!1,negative:h=!1,showDays:i=!0,variant:q="primary",className:T,counterLabels:f,useMediaQueries:z=!1}=e,[m,A]=d.useState(b),x=d.useMemo(()=>P(e.starttime),[e.starttime]),$=d.useMemo(()=>P(e.endtime),[e.endtime]),{days:M,hours:D,minutes:C,seconds:I}=d.useMemo(()=>K($.getTime()),[m]);d.useEffect(()=>{if(m<x||m>$)return;const c=setInterval(()=>A(new Date),1e3);return()=>clearInterval(c)},[x,$,m]);const F=x>m,H=$<m;if(F)return a?a(e):null;if(H)return u?u(e):null;const L=()=>{const c={size:t,counterLabels:f};return n.jsxs(n.Fragment,{children:[i&&n.jsx(g,{numbers:M,tag:"days",...c}),n.jsx(g,{numbers:D,tag:"hours",...c}),n.jsx(g,{numbers:C,tag:"minutes",...c}),n.jsx(g,{numbers:I,tag:"seconds",...c})]})},E=()=>{const c=()=>{const y=[];return i&&y.push(`${M.join("")} ${f.days}`),y.push(`${D.join("")} ${f.hours}`),y.push(`${C.join("")} ${f.minutes}`),y.push(`${I.join("")} ${f.seconds}`),y.join(", ")};return n.jsx(W.VisuallyHidden,{"data-testid":"live-region","aria-live":"polite","aria-label":e["aria-label"],children:c()})},Q=L(),V=v(o,`${o}--size-${t}`,`${o}--variant-${q}`,{[`${o}--full-width`]:p,[`${o}--negative`]:h,[`${o}--show-days`]:i,[`${o}--use-media-queries`]:z,[`${o}--use-container-queries`]:!z},T);return n.jsxs("section",{id:s,className:V,ref:_,role:"timer","data-testid":e["data-testid"],children:[E(),e.label&&n.jsx(N.Paragraph,{className:v(`${o}__label`),variant:"paragraph-100-medium",children:e.label}),n.jsx("div",{className:v(`${o}__counter-container`),children:Q})]})});R.displayName="Countdown";exports.Countdown=R;
2
- //# sourceMappingURL=countdown-CqYsZigV.js.map
1
+ "use strict";const n=require("react/jsx-runtime"),d=require("react"),N=require("./paragraph-By4jMjnH.js"),W=require("./visually-hidden-C2CKovZx.js"),S=require("./bind-DeUYJ6m9.js"),k={"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"},G={"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"},w=S.c.bind(G),r="purpur-countdown-counter",g=({tag:u,size:a,numbers:e,counterLabels:_})=>{const b=()=>{const s=_[u],t=_[`${u}Abbr`];return n.jsxs(n.Fragment,{children:[t&&n.jsx(N.Paragraph,{className:w(`${r}__label`,`${r}__label--abbr`),children:n.jsx("abbr",{title:s,children:t})}),n.jsx(N.Paragraph,{className:w(`${r}__label`,{[`${r}__label--full`]:!!t}),children:s})]})};return n.jsxs("div",{className:w(r,`${r}--size-${a}`),role:"group","aria-hidden":"true","data-testid":`counter-${u}`,children:[n.jsx("div",{className:w(`${r}__number-list-container`),children:e.map((s,t)=>n.jsx("ul",{className:w(`${r}__number-list`),style:{"--offset":s},children:J.map((p,h)=>{const i=p===s;return n.jsx("li",{className:w(`${r}__number`,{[`${r}__number--selected`]:i}),children:p},h)})},t))}),b()]})},J=["0","1","2","3","4","5","6","7","8","9"];function K(u){const a=new Date().getTime(),e=Math.max(0,u-a),_=Math.floor(e/l.day),b=Math.floor(e%l.day/l.hour),s=Math.floor(e%l.hour/l.minute),t=Math.floor(e%l.minute/l.second),p=j(_),h=j(b),i=j(s);return{seconds:j(t),minutes:i,hours:h,days:p}}const l={second:1e3,minute:60*1e3,hour:3600*1e3,day:1440*60*1e3};function P(u){return u instanceof Date?u:new Date(u)}function j(u){return String(u).padStart(2,"0").split("")}const v=S.c.bind(k),o="purpur-countdown",R=d.forwardRef(({renderAfterEnd:u,renderBeforeStart:a,...e},_)=>{const b=new Date,s=d.useId(),{size:t="lg",fullWidth:p=!1,negative:h=!1,showDays:i=!0,variant:q="primary",className:T,counterLabels:f,useMediaQueries:z=!1}=e,[m,A]=d.useState(b),x=d.useMemo(()=>P(e.starttime),[e.starttime]),$=d.useMemo(()=>P(e.endtime),[e.endtime]),{days:M,hours:D,minutes:C,seconds:I}=d.useMemo(()=>K($.getTime()),[m]);d.useEffect(()=>{if(m<x||m>$)return;const c=setInterval(()=>A(new Date),1e3);return()=>clearInterval(c)},[x,$,m]);const F=x>m,H=$<m;if(F)return a?a(e):null;if(H)return u?u(e):null;const L=()=>{const c={size:t,counterLabels:f};return n.jsxs(n.Fragment,{children:[i&&n.jsx(g,{numbers:M,tag:"days",...c}),n.jsx(g,{numbers:D,tag:"hours",...c}),n.jsx(g,{numbers:C,tag:"minutes",...c}),n.jsx(g,{numbers:I,tag:"seconds",...c})]})},E=()=>{const c=()=>{const y=[];return i&&y.push(`${M.join("")} ${f.days}`),y.push(`${D.join("")} ${f.hours}`),y.push(`${C.join("")} ${f.minutes}`),y.push(`${I.join("")} ${f.seconds}`),y.join(", ")};return n.jsx(W.VisuallyHidden,{"data-testid":"live-region","aria-live":"polite","aria-label":e["aria-label"],children:c()})},Q=L(),V=v(o,`${o}--size-${t}`,`${o}--variant-${q}`,{[`${o}--full-width`]:p,[`${o}--negative`]:h,[`${o}--show-days`]:i,[`${o}--use-media-queries`]:z,[`${o}--use-container-queries`]:!z},T);return n.jsxs("section",{id:s,className:V,ref:_,role:"timer","data-testid":e["data-testid"],children:[E(),e.label&&n.jsx(N.Paragraph,{className:v(`${o}__label`),variant:"paragraph-100-medium",children:e.label}),n.jsx("div",{className:v(`${o}__counter-container`),children:Q})]})});R.displayName="Countdown";exports.Countdown=R;
2
+ //# sourceMappingURL=countdown-hYrFLmRg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"countdown-CqYsZigV.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) {\n const now = new Date().getTime();\n\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 nowInit = new Date();\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 } = props;\n\n const [now, setNow] = useState<Date>(nowInit);\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(() => getDiffs(end.getTime()), [now]);\n\n useEffect(() => {\n if (now < start || now > end) return;\n const t = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(t);\n }, [start, end, now]);\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","nowInit","id","useId","fullWidth","negative","showDays","variant","className","useMediaQueries","setNow","useState","start","useMemo","end","seconds","useEffect","hasNotStarted","hasEnded","getCounters","counterProps","renderAnnouncer","getTimeAnnouncement","parts","VisuallyHidden","counters","classes"],"mappings":"i5DAOMA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAElBC,EAAgB,2BASTC,EAAU,CAAC,CAAE,IAAAC,EAAK,KAAAC,EAAM,QAAAC,EAAS,cAAAC,KAAkC,CAC9E,MAAMC,EAAc,IAAM,CACxB,MAAMC,EAAQF,EAAcH,CAAG,EACzBM,EAAmBH,EAAc,GAAGH,CAAG,MAAM,EAEnD,OACEO,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAAF,SACEG,EAAAA,UAAA,CAAU,UAAWd,EAAG,GAAGG,CAAa,UAAW,GAAGA,CAAa,eAAe,EACjF,SAAAY,EAAAA,IAAC,OAAA,CAAK,MAAOL,EAAQ,WAAiB,EACxC,EAEFK,EAAAA,IAACD,EAAAA,UAAA,CACC,UAAWd,EAAG,GAAGG,CAAa,UAAW,CACvC,CAAC,GAAGA,CAAa,eAAe,EAAG,CAAC,CAACQ,CAAA,CACtC,EAEA,SAAAD,CAAA,CAAA,CACH,EACF,CAEJ,EAEA,OACEE,EAAAA,KAAC,MAAA,CACC,UAAWZ,EAAGG,EAAe,GAAGA,CAAa,UAAUG,CAAI,EAAE,EAC7D,KAAK,QACL,cAAY,OACZ,cAAa,WAAWD,CAAG,GAE3B,SAAA,CAAAU,EAAAA,IAAC,MAAA,CAAI,UAAWf,EAAG,GAAGG,CAAa,yBAAyB,EACzD,SAAAI,EAAQ,IAAI,CAACS,EAAQC,IAElBF,EAAAA,IAAC,KAAA,CAEC,UAAWf,EAAG,GAAGG,CAAa,eAAe,EAC7C,MACE,CACE,WAAYa,CAAA,EAIf,SAAAE,EAAO,IAAI,CAACC,EAAGC,IAAM,CACpB,MAAMC,EAAWF,IAAMH,EAEvB,OACED,EAAAA,IAAC,KAAA,CAEC,UAAWf,EAAG,GAAGG,CAAa,WAAY,CACxC,CAAC,GAAGA,CAAa,oBAAoB,EAAGkB,CAAA,CACzC,EAEA,SAAAF,CAAA,EALIC,CAAA,CAQX,CAAC,CAAA,EArBIH,CAAA,CAwBV,CAAA,CACH,EAECR,EAAA,CAAY,CAAA,CAAA,CAGnB,EAEMS,EAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,ECpFzD,SAASI,EAASC,EAAiB,CACxC,MAAMC,EAAM,IAAI,KAAA,EAAO,QAAA,EAEjBC,EAAe,KAAK,IAAI,EAAGF,EAAUC,CAAG,EAExCE,EAAQ,KAAK,MAAMD,EAAeE,EAAK,GAAG,EAC1CC,EAAS,KAAK,MAAOH,EAAeE,EAAK,IAAOA,EAAK,IAAI,EACzDE,EAAW,KAAK,MAAOJ,EAAeE,EAAK,KAAQA,EAAK,MAAM,EAC9DG,EAAW,KAAK,MAAOL,EAAeE,EAAK,OAAUA,EAAK,MAAM,EAEhEI,EAAOC,EAAYN,CAAK,EACxBO,EAAQD,EAAYJ,CAAM,EAC1BM,EAAUF,EAAYH,CAAQ,EAGpC,MAAO,CACL,QAHcG,EAAYF,CAAQ,EAIlC,QAAAI,EACA,MAAAD,EACA,KAAAF,CAAA,CAEJ,CAEO,MAAMJ,EAAO,CAClB,OAAQ,IACR,OAAQ,GAAK,IACb,KAAM,KAAU,IAChB,IAAK,KAAU,GAAK,GACtB,EAEO,SAASQ,EAAOC,EAA2B,CAChD,OAAOA,aAAa,KAAOA,EAAI,IAAI,KAAKA,CAAC,CAC3C,CAEO,SAASJ,EAAYK,EAAe,CAEzC,OADU,OAAOA,CAAK,EAAE,SAAS,EAAG,GAAG,EAC9B,MAAM,EAAE,CACnB,CC3BA,MAAMrC,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAElBC,EAAgB,mBAQTmC,EAAYC,EAAAA,WACvB,CACE,CAAE,eAAAC,EAAgB,kBAAAC,EAAmB,GAAGC,CAAA,EACxCC,IACG,CACH,MAAMC,MAAc,KACdC,EAAKC,EAAAA,MAAA,EAEL,CACJ,KAAAxC,EAAO,KACP,UAAAyC,EAAY,GACZ,SAAAC,EAAW,GACX,SAAAC,EAAW,GACX,QAAAC,EAAU,UACV,UAAAC,EACA,cAAA3C,EACA,gBAAA4C,EAAkB,EAAA,EAChBV,EAEE,CAAClB,EAAK6B,CAAM,EAAIC,EAAAA,SAAeV,CAAO,EAEtCW,EAAQC,UAAQ,IAAMrB,EAAOO,EAAM,SAAS,EAAG,CAACA,EAAM,SAAS,CAAC,EAChEe,EAAMD,UAAQ,IAAMrB,EAAOO,EAAM,OAAO,EAAG,CAACA,EAAM,OAAO,CAAC,EAC1D,CAAE,KAAAX,EAAM,MAAAE,EAAO,QAAAC,EAAS,QAAAwB,GAAYF,EAAAA,QAAQ,IAAMlC,EAASmC,EAAI,QAAA,CAAS,EAAG,CAACjC,CAAG,CAAC,EAEtFmC,EAAAA,UAAU,IAAM,CACd,GAAInC,EAAM+B,GAAS/B,EAAMiC,EAAK,OAC9B,MAAMrB,EAAI,YAAY,IAAMiB,MAAW,IAAM,EAAG,GAAI,EACpD,MAAO,IAAM,cAAcjB,CAAC,CAC9B,EAAG,CAACmB,EAAOE,EAAKjC,CAAG,CAAC,EAEpB,MAAMoC,EAAgBL,EAAQ/B,EACxBqC,EAAWJ,EAAMjC,EAGvB,GAAIoC,EAAe,OAAOnB,EAAoBA,EAAkBC,CAAK,EAAI,KACzE,GAAImB,EAAU,OAAOrB,EAAiBA,EAAeE,CAAK,EAAI,KAE9D,MAAMoB,EAAc,IAAM,CACxB,MAAMC,EAAe,CAAE,KAAAzD,EAAM,cAAAE,CAAA,EAE7B,OACEI,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAAoC,SAAa7C,EAAA,CAAQ,QAAS2B,EAAM,IAAI,OAAQ,GAAGgC,EAAc,QACjE3D,EAAA,CAAQ,QAAS6B,EAAO,IAAI,QAAS,GAAG8B,EAAc,QACtD3D,EAAA,CAAQ,QAAS8B,EAAS,IAAI,UAAW,GAAG6B,EAAc,QAC1D3D,EAAA,CAAQ,QAASsD,EAAS,IAAI,UAAW,GAAGK,CAAA,CAAc,CAAA,EAC7D,CAEJ,EAIMC,EAAkB,IAAM,CAC5B,MAAMC,EAAsB,IAAM,CAChC,MAAMC,EAAQ,CAAA,EAEd,OAAIjB,GAAUiB,EAAM,KAAK,GAAGnC,EAAK,KAAK,EAAE,CAAC,IAAIvB,EAAc,IAAI,EAAE,EACjE0D,EAAM,KAAK,GAAGjC,EAAM,KAAK,EAAE,CAAC,IAAIzB,EAAc,KAAK,EAAE,EACrD0D,EAAM,KAAK,GAAGhC,EAAQ,KAAK,EAAE,CAAC,IAAI1B,EAAc,OAAO,EAAE,EACzD0D,EAAM,KAAK,GAAGR,EAAQ,KAAK,EAAE,CAAC,IAAIlD,EAAc,OAAO,EAAE,EAElD0D,EAAM,KAAK,IAAI,CACxB,EAEA,OACEnD,EAAAA,IAACoD,EAAAA,eAAA,CACC,cAAY,cACZ,YAAU,SACV,aAAYzB,EAAM,YAAY,EAE7B,SAAAuB,EAAA,CAAoB,CAAA,CAG3B,EAEMG,EAAWN,EAAA,EAEXO,EAAUrE,EACdG,EACA,GAAGA,CAAa,UAAUG,CAAI,GAC9B,GAAGH,CAAa,aAAa+C,CAAO,GACpC,CACE,CAAC,GAAG/C,CAAa,cAAc,EAAG4C,EAClC,CAAC,GAAG5C,CAAa,YAAY,EAAG6C,EAChC,CAAC,GAAG7C,CAAa,aAAa,EAAG8C,EACjC,CAAC,GAAG9C,CAAa,qBAAqB,EAAGiD,EACzC,CAAC,GAAGjD,CAAa,yBAAyB,EAAG,CAACiD,CAAA,EAEhDD,CAAA,EAGF,OACEvC,EAAAA,KAAC,UAAA,CACC,GAAAiC,EACA,UAAWwB,EACX,IAAA1B,EACA,KAAK,QACL,cAAaD,EAAM,aAAa,EAG/B,SAAA,CAAAsB,EAAA,EACAtB,EAAM,OACL3B,EAAAA,IAACD,EAAAA,UAAA,CAAU,UAAWd,EAAG,GAAGG,CAAa,SAAS,EAAG,QAAQ,uBAC1D,WAAM,MACT,EAEFY,EAAAA,IAAC,OAAI,UAAWf,EAAG,GAAGG,CAAa,qBAAqB,EAAI,SAAAiE,CAAA,CAAS,CAAA,CAAA,CAAA,CAG3E,CACF,EAEA9B,EAAU,YAAc"}
1
+ {"version":3,"file":"countdown-hYrFLmRg.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) {\n const now = new Date().getTime();\n\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 nowInit = new Date();\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 } = props;\n\n const [now, setNow] = useState<Date>(nowInit);\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(() => getDiffs(end.getTime()), [now]);\n\n useEffect(() => {\n if (now < start || now > end) return;\n const t = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(t);\n }, [start, end, now]);\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","nowInit","id","useId","fullWidth","negative","showDays","variant","className","useMediaQueries","setNow","useState","start","useMemo","end","seconds","useEffect","hasNotStarted","hasEnded","getCounters","counterProps","renderAnnouncer","getTimeAnnouncement","parts","VisuallyHidden","counters","classes"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./countdown-CqYsZigV.js");exports.Countdown=o.Countdown;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./countdown-hYrFLmRg.js");exports.Countdown=o.Countdown;
2
2
  //# sourceMappingURL=countdown.cjs.js.map