@purpur/library 9.7.4 → 9.8.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 (333) hide show
  1. package/.lintstagedrc.mts +10 -0
  2. package/@types/scss.d.ts +4 -0
  3. package/CHANGELOG.json +4062 -0
  4. package/CHANGELOG.md +2118 -0
  5. package/dist/LICENSE.txt +7 -7
  6. package/dist/{ThemeProvider-DiDBfyFA.mjs → ThemeProvider-BJ25_asg.mjs} +13 -13
  7. package/dist/{ThemeProvider-DiDBfyFA.mjs.map → ThemeProvider-BJ25_asg.mjs.map} +1 -1
  8. package/dist/{ThemeProvider-D7oXcAde.js → ThemeProvider-BJGm3zai.js} +2 -2
  9. package/dist/{ThemeProvider-D7oXcAde.js.map → ThemeProvider-BJGm3zai.js.map} +1 -1
  10. package/dist/{autocomplete-BEGRn-Wh.mjs → autocomplete-A9-Ni60G.mjs} +2 -2
  11. package/dist/{autocomplete-BEGRn-Wh.mjs.map → autocomplete-A9-Ni60G.mjs.map} +1 -1
  12. package/dist/{autocomplete-3kV1btuI.js → autocomplete-Bbth0nDG.js} +2 -2
  13. package/dist/{autocomplete-3kV1btuI.js.map → autocomplete-Bbth0nDG.js.map} +1 -1
  14. package/dist/autocomplete.cjs.js +1 -1
  15. package/dist/autocomplete.es.js +1 -1
  16. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts +13 -0
  17. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -0
  18. package/dist/components/badge/src/badge.visual.fixtures.d.ts +13 -0
  19. package/dist/components/badge/src/badge.visual.fixtures.d.ts.map +1 -0
  20. package/dist/components/footer/src/telia-logo.d.ts.map +1 -1
  21. package/dist/components/hero-banner/src/hero-banner-types.d.ts +48 -0
  22. package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -0
  23. package/dist/components/hero-banner/src/hero-banner.d.ts +5 -48
  24. package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
  25. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts +1 -1
  26. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts.map +1 -1
  27. package/dist/components-metadata.js +2 -2
  28. package/dist/{date-field-BKKty89_.js → date-field-CKxEWHG3.js} +2 -2
  29. package/dist/{date-field-BKKty89_.js.map → date-field-CKxEWHG3.js.map} +1 -1
  30. package/dist/{date-field-Cv5CKR1y.mjs → date-field-HEFdHIxk.mjs} +2 -2
  31. package/dist/{date-field-Cv5CKR1y.mjs.map → date-field-HEFdHIxk.mjs.map} +1 -1
  32. package/dist/date-field.cjs.js +1 -1
  33. package/dist/date-field.es.js +1 -1
  34. package/dist/{date-picker-CIizn3Pv.js → date-picker-CDBwkAJI.js} +2 -2
  35. package/dist/{date-picker-CIizn3Pv.js.map → date-picker-CDBwkAJI.js.map} +1 -1
  36. package/dist/{date-picker-DixxW60s.mjs → date-picker-cQewKIMN.mjs} +6 -6
  37. package/dist/{date-picker-DixxW60s.mjs.map → date-picker-cQewKIMN.mjs.map} +1 -1
  38. package/dist/date-picker.cjs.js +1 -1
  39. package/dist/date-picker.es.js +1 -1
  40. package/dist/{date-range-field-D8vLeSwp.js → date-range-field-D7Hn9FGN.js} +2 -2
  41. package/dist/{date-range-field-D8vLeSwp.js.map → date-range-field-D7Hn9FGN.js.map} +1 -1
  42. package/dist/{date-range-field-CFcjprIl.mjs → date-range-field-_WctWD29.mjs} +2 -2
  43. package/dist/{date-range-field-CFcjprIl.mjs.map → date-range-field-_WctWD29.mjs.map} +1 -1
  44. package/dist/date-range-field.cjs.js +1 -1
  45. package/dist/date-range-field.es.js +1 -1
  46. package/dist/{drawer-DyhsP34o.js → drawer-DyLQfvEh.js} +2 -2
  47. package/dist/{drawer-DyhsP34o.js.map → drawer-DyLQfvEh.js.map} +1 -1
  48. package/dist/{drawer-BzkRd9F0.mjs → drawer-cIUx6WSZ.mjs} +3 -3
  49. package/dist/{drawer-BzkRd9F0.mjs.map → drawer-cIUx6WSZ.mjs.map} +1 -1
  50. package/dist/drawer.cjs.js +1 -1
  51. package/dist/drawer.es.js +1 -1
  52. package/dist/{footer-DenAcikt.mjs → footer-BMlXRro2.mjs} +86 -96
  53. package/dist/footer-BMlXRro2.mjs.map +1 -0
  54. package/dist/footer-cet787Iq.js +2 -0
  55. package/dist/footer-cet787Iq.js.map +1 -0
  56. package/dist/footer.cjs.js +1 -1
  57. package/dist/footer.es.js +1 -1
  58. package/dist/{hero-banner-B7xrDfzN.mjs → hero-banner-B08jC0Sf.mjs} +77 -77
  59. package/dist/hero-banner-B08jC0Sf.mjs.map +1 -0
  60. package/dist/hero-banner-D__doaU7.js +2 -0
  61. package/dist/hero-banner-D__doaU7.js.map +1 -0
  62. package/dist/hero-banner.cjs.js +1 -1
  63. package/dist/hero-banner.es.js +1 -1
  64. package/dist/library.cjs.js +1 -1
  65. package/dist/library.es.js +21 -21
  66. package/dist/{modal-DJn9idcw.js → modal-CmPPxJ7Y.js} +2 -2
  67. package/dist/{modal-DJn9idcw.js.map → modal-CmPPxJ7Y.js.map} +1 -1
  68. package/dist/{modal-EIP36327.mjs → modal-Evh8sCBO.mjs} +3 -3
  69. package/dist/{modal-EIP36327.mjs.map → modal-Evh8sCBO.mjs.map} +1 -1
  70. package/dist/modal.cjs.js +1 -1
  71. package/dist/modal.es.js +1 -1
  72. package/dist/{popover-DERrvReO.mjs → popover-BSUdf0Ae.mjs} +3 -3
  73. package/dist/{popover-DERrvReO.mjs.map → popover-BSUdf0Ae.mjs.map} +1 -1
  74. package/dist/{popover-DnGgzfQr.js → popover-XJqF5DHT.js} +2 -2
  75. package/dist/{popover-DnGgzfQr.js.map → popover-XJqF5DHT.js.map} +1 -1
  76. package/dist/popover.cjs.js +1 -1
  77. package/dist/popover.es.js +1 -1
  78. package/dist/{promotion-card-DKc2Cx1h.js → promotion-card-BnXD2mkp.js} +2 -2
  79. package/dist/{promotion-card-DKc2Cx1h.js.map → promotion-card-BnXD2mkp.js.map} +1 -1
  80. package/dist/{promotion-card-BnzIVNQ4.mjs → promotion-card-DOO0VCI8.mjs} +2 -2
  81. package/dist/{promotion-card-BnzIVNQ4.mjs.map → promotion-card-DOO0VCI8.mjs.map} +1 -1
  82. package/dist/promotion-card.cjs.js +1 -1
  83. package/dist/promotion-card.es.js +1 -1
  84. package/dist/purpur.css +1 -1
  85. package/dist/{quantity-selector-CvBvnMeB.mjs → quantity-selector-B4YnfmNb.mjs} +2 -2
  86. package/dist/{quantity-selector-CvBvnMeB.mjs.map → quantity-selector-B4YnfmNb.mjs.map} +1 -1
  87. package/dist/{quantity-selector-CDSfcTb1.js → quantity-selector-CTBoxiPO.js} +2 -2
  88. package/dist/{quantity-selector-CDSfcTb1.js.map → quantity-selector-CTBoxiPO.js.map} +1 -1
  89. package/dist/quantity-selector.cjs.js +1 -1
  90. package/dist/quantity-selector.es.js +1 -1
  91. package/dist/{search-field-DKyNh7pE.mjs → search-field-_h8xn-sj.mjs} +2 -2
  92. package/dist/{search-field-DKyNh7pE.mjs.map → search-field-_h8xn-sj.mjs.map} +1 -1
  93. package/dist/{search-field-2vdDbiT0.js → search-field-vh6uz5KV.js} +2 -2
  94. package/dist/{search-field-2vdDbiT0.js.map → search-field-vh6uz5KV.js.map} +1 -1
  95. package/dist/search-field.cjs.js +1 -1
  96. package/dist/search-field.es.js +1 -1
  97. package/dist/{stepper-e0qicwqd.mjs → stepper-B-nCLs2D.mjs} +2 -2
  98. package/dist/{stepper-e0qicwqd.mjs.map → stepper-B-nCLs2D.mjs.map} +1 -1
  99. package/dist/{stepper-5qMo_shq.js → stepper-CTKlnH0q.js} +2 -2
  100. package/dist/{stepper-5qMo_shq.js.map → stepper-CTKlnH0q.js.map} +1 -1
  101. package/dist/stepper.cjs.js +1 -1
  102. package/dist/stepper.es.js +1 -1
  103. package/dist/{table-i1Gs9e0e.mjs → table-DOPXfD-s.mjs} +6 -6
  104. package/dist/{table-i1Gs9e0e.mjs.map → table-DOPXfD-s.mjs.map} +1 -1
  105. package/dist/{table-BOCcBzSO.js → table-DTQe4nN8.js} +2 -2
  106. package/dist/{table-BOCcBzSO.js.map → table-DTQe4nN8.js.map} +1 -1
  107. package/dist/table.cjs.js +1 -1
  108. package/dist/table.es.js +1 -1
  109. package/dist/{text-area-D0truMT1.js → text-area-9RUldq6W.js} +2 -2
  110. package/dist/{text-area-D0truMT1.js.map → text-area-9RUldq6W.js.map} +1 -1
  111. package/dist/{text-area-IVH-k4MM.mjs → text-area-C58aZEPa.mjs} +3 -3
  112. package/dist/{text-area-IVH-k4MM.mjs.map → text-area-C58aZEPa.mjs.map} +1 -1
  113. package/dist/text-area.cjs.js +1 -1
  114. package/dist/text-area.es.js +1 -1
  115. package/dist/text-field-C2W13n15.js +2 -0
  116. package/dist/{text-field-CYJzQG3h.js.map → text-field-C2W13n15.js.map} +1 -1
  117. package/dist/{text-field-BQfxJobW.mjs → text-field-D8MMa6ij.mjs} +114 -114
  118. package/dist/{text-field-BQfxJobW.mjs.map → text-field-D8MMa6ij.mjs.map} +1 -1
  119. package/dist/text-field.cjs.js +1 -1
  120. package/dist/text-field.es.js +1 -1
  121. package/dist/theme.cjs.js +1 -1
  122. package/dist/theme.es.js +3 -3
  123. package/dist/tokens/color/variables.css +1 -1
  124. package/dist/tokens/color/variables.dark.css +1 -1
  125. package/dist/tokens/color/variables.dark.js +1 -1
  126. package/dist/tokens/color/variables.dark.json +1 -1
  127. package/dist/tokens/color/variables.dark.scss +1 -1
  128. package/dist/tokens/color/variables.js +1 -1
  129. package/dist/tokens/color/variables.json +1 -1
  130. package/dist/tokens/color/variables.scss +1 -1
  131. package/dist/tokens.cjs.js +1 -1
  132. package/dist/tokens.es.js +1 -1
  133. package/dist/{tooltip-CJGmJDFQ.js → tooltip-CDnJKoIA.js} +2 -2
  134. package/dist/{tooltip-CJGmJDFQ.js.map → tooltip-CDnJKoIA.js.map} +1 -1
  135. package/dist/{tooltip-RA-03bKs.mjs → tooltip-pwJMEBBP.mjs} +3 -3
  136. package/dist/{tooltip-RA-03bKs.mjs.map → tooltip-pwJMEBBP.mjs.map} +1 -1
  137. package/dist/tooltip.cjs.js +1 -1
  138. package/dist/tooltip.es.js +1 -1
  139. package/dist/{useColorScheme-B9DWd-LN.mjs → useColorScheme-B7lGBSe4.mjs} +2 -2
  140. package/dist/{useColorScheme-B9DWd-LN.mjs.map → useColorScheme-B7lGBSe4.mjs.map} +1 -1
  141. package/dist/useColorScheme-BHhPgv9q.js +2 -0
  142. package/dist/{useColorScheme-DbTQjxNB.js.map → useColorScheme-BHhPgv9q.js.map} +1 -1
  143. package/dist/useThemePortalContainer-CUcqV327.js +2 -0
  144. package/dist/{useThemePortalContainer-D9BYjEvT.js.map → useThemePortalContainer-CUcqV327.js.map} +1 -1
  145. package/dist/useThemePortalContainer-D13Xx24N.mjs +9 -0
  146. package/dist/{useThemePortalContainer-tFLTaYKN.mjs.map → useThemePortalContainer-D13Xx24N.mjs.map} +1 -1
  147. package/dist/{variables-B5hbV0Uy.mjs → variables-BrsAsWIF.mjs} +2 -2
  148. package/dist/{variables-B5hbV0Uy.mjs.map → variables-BrsAsWIF.mjs.map} +1 -1
  149. package/dist/{variables-DoI78zZc.js → variables-D1vNo1lO.js} +2 -2
  150. package/dist/{variables-DoI78zZc.js.map → variables-D1vNo1lO.js.map} +1 -1
  151. package/eslint.config.mjs +2 -0
  152. package/package.json +27 -31
  153. package/scripts/generate.mts +269 -0
  154. package/src/accordion.ts +6 -0
  155. package/src/alert-badge.ts +6 -0
  156. package/src/aliases.ts +302 -0
  157. package/src/autocomplete.ts +6 -0
  158. package/src/avatar.ts +6 -0
  159. package/src/badge.ts +6 -0
  160. package/src/breadcrumbs.ts +6 -0
  161. package/src/button.ts +6 -0
  162. package/src/calendar.ts +6 -0
  163. package/src/card.ts +6 -0
  164. package/src/carousel.ts +6 -0
  165. package/src/chat-field.ts +6 -0
  166. package/src/checkbox.ts +6 -0
  167. package/src/chip-group.ts +6 -0
  168. package/src/color-dot.ts +6 -0
  169. package/src/comparison-table.ts +6 -0
  170. package/src/container.ts +6 -0
  171. package/src/content-block.ts +6 -0
  172. package/src/countdown.ts +6 -0
  173. package/src/counter-badge.ts +6 -0
  174. package/src/cta-link.ts +6 -0
  175. package/src/date-field.ts +6 -0
  176. package/src/date-picker.ts +6 -0
  177. package/src/date-range-field.ts +6 -0
  178. package/src/dismissable-chip-group.ts +6 -0
  179. package/src/drawer.ts +6 -0
  180. package/src/dropdown.ts +6 -0
  181. package/src/entries.js +73 -0
  182. package/src/field-error-text.ts +6 -0
  183. package/src/field-helper-text.ts +6 -0
  184. package/src/footer.ts +6 -0
  185. package/src/grid.ts +6 -0
  186. package/src/heading.ts +6 -0
  187. package/src/hero-banner.ts +6 -0
  188. package/src/label.ts +6 -0
  189. package/src/library.ts +77 -0
  190. package/src/link.ts +6 -0
  191. package/src/listbox.ts +6 -0
  192. package/src/loading.ts +6 -0
  193. package/src/message.ts +6 -0
  194. package/src/modal.ts +6 -0
  195. package/src/notification-banner.ts +6 -0
  196. package/src/notification.ts +6 -0
  197. package/src/pagination.ts +6 -0
  198. package/src/paragraph.ts +6 -0
  199. package/src/password-field.ts +7 -0
  200. package/src/popover.ts +6 -0
  201. package/src/product-card.ts +6 -0
  202. package/src/promotion-card.ts +6 -0
  203. package/src/purpur.css +1 -0
  204. package/src/quantity-selector.ts +6 -0
  205. package/src/radio-button-group.ts +6 -0
  206. package/src/radio-card-group.ts +6 -0
  207. package/src/rich-text.ts +6 -0
  208. package/src/search-field.ts +6 -0
  209. package/src/select.ts +6 -0
  210. package/src/skeleton.ts +6 -0
  211. package/src/slider.ts +6 -0
  212. package/src/spacer.ts +6 -0
  213. package/src/spinner.ts +6 -0
  214. package/src/stepper.ts +6 -0
  215. package/src/table.ts +6 -0
  216. package/src/tabs.ts +6 -0
  217. package/src/text-area.ts +6 -0
  218. package/src/text-field.ts +6 -0
  219. package/src/text-spacing.ts +6 -0
  220. package/src/theme.ts +6 -0
  221. package/src/toggle.ts +6 -0
  222. package/src/tokens.ts +6 -0
  223. package/src/tooltip.ts +6 -0
  224. package/src/visually-hidden.ts +6 -0
  225. package/tokens/_dark.scss +9 -0
  226. package/tokens/_index.scss +9 -0
  227. package/tokens/border/variables.css +13 -0
  228. package/tokens/border/variables.d.ts +10 -0
  229. package/tokens/border/variables.dark.css +12 -0
  230. package/tokens/border/variables.dark.d.ts +10 -0
  231. package/tokens/border/variables.dark.js +10 -0
  232. package/tokens/border/variables.dark.json +18 -0
  233. package/tokens/border/variables.dark.scss +10 -0
  234. package/tokens/border/variables.js +10 -0
  235. package/tokens/border/variables.json +18 -0
  236. package/tokens/border/variables.scss +10 -0
  237. package/tokens/breakpoint/variables.css +11 -0
  238. package/tokens/breakpoint/variables.d.ts +8 -0
  239. package/tokens/breakpoint/variables.dark.css +10 -0
  240. package/tokens/breakpoint/variables.dark.d.ts +8 -0
  241. package/tokens/breakpoint/variables.dark.js +8 -0
  242. package/tokens/breakpoint/variables.dark.json +14 -0
  243. package/tokens/breakpoint/variables.dark.scss +8 -0
  244. package/tokens/breakpoint/variables.js +8 -0
  245. package/tokens/breakpoint/variables.json +14 -0
  246. package/tokens/breakpoint/variables.scss +8 -0
  247. package/tokens/color/variables.css +262 -0
  248. package/tokens/color/variables.d.ts +253 -0
  249. package/tokens/color/variables.dark.css +262 -0
  250. package/tokens/color/variables.dark.d.ts +252 -0
  251. package/tokens/color/variables.dark.js +252 -0
  252. package/tokens/color/variables.dark.json +306 -0
  253. package/tokens/color/variables.dark.scss +252 -0
  254. package/tokens/color/variables.js +253 -0
  255. package/tokens/color/variables.json +307 -0
  256. package/tokens/color/variables.scss +253 -0
  257. package/tokens/dark.css +9 -0
  258. package/tokens/dark.d.ts +9 -0
  259. package/tokens/dark.js +9 -0
  260. package/tokens/filter/variables.css +4 -0
  261. package/tokens/filter/variables.d.ts +1 -0
  262. package/tokens/filter/variables.dark.css +3 -0
  263. package/tokens/filter/variables.dark.d.ts +1 -0
  264. package/tokens/filter/variables.dark.js +1 -0
  265. package/tokens/filter/variables.dark.json +7 -0
  266. package/tokens/filter/variables.dark.scss +1 -0
  267. package/tokens/filter/variables.js +1 -0
  268. package/tokens/filter/variables.json +7 -0
  269. package/tokens/filter/variables.scss +1 -0
  270. package/tokens/gradient/variables.css +53 -0
  271. package/tokens/gradient/variables.d.ts +9 -0
  272. package/tokens/gradient/variables.dark.css +51 -0
  273. package/tokens/gradient/variables.dark.d.ts +9 -0
  274. package/tokens/gradient/variables.dark.js +18 -0
  275. package/tokens/gradient/variables.dark.json +27 -0
  276. package/tokens/gradient/variables.dark.scss +36 -0
  277. package/tokens/gradient/variables.js +18 -0
  278. package/tokens/gradient/variables.json +27 -0
  279. package/tokens/gradient/variables.scss +42 -0
  280. package/tokens/index.css +18 -0
  281. package/tokens/index.d.ts +9 -0
  282. package/tokens/index.js +9 -0
  283. package/tokens/motion/variables.css +14 -0
  284. package/tokens/motion/variables.d.ts +11 -0
  285. package/tokens/motion/variables.dark.css +13 -0
  286. package/tokens/motion/variables.dark.d.ts +11 -0
  287. package/tokens/motion/variables.dark.js +11 -0
  288. package/tokens/motion/variables.dark.json +19 -0
  289. package/tokens/motion/variables.dark.scss +11 -0
  290. package/tokens/motion/variables.js +11 -0
  291. package/tokens/motion/variables.json +19 -0
  292. package/tokens/motion/variables.scss +11 -0
  293. package/tokens/shadow/variables.css +11 -0
  294. package/tokens/shadow/variables.d.ts +4 -0
  295. package/tokens/shadow/variables.dark.css +10 -0
  296. package/tokens/shadow/variables.dark.d.ts +4 -0
  297. package/tokens/shadow/variables.dark.js +4 -0
  298. package/tokens/shadow/variables.dark.json +8 -0
  299. package/tokens/shadow/variables.dark.scss +4 -0
  300. package/tokens/shadow/variables.js +4 -0
  301. package/tokens/shadow/variables.json +8 -0
  302. package/tokens/shadow/variables.scss +4 -0
  303. package/tokens/spacing/variables.css +26 -0
  304. package/tokens/spacing/variables.d.ts +23 -0
  305. package/tokens/spacing/variables.dark.css +17 -0
  306. package/tokens/spacing/variables.dark.d.ts +15 -0
  307. package/tokens/spacing/variables.dark.js +15 -0
  308. package/tokens/spacing/variables.dark.json +19 -0
  309. package/tokens/spacing/variables.dark.scss +15 -0
  310. package/tokens/spacing/variables.js +23 -0
  311. package/tokens/spacing/variables.json +31 -0
  312. package/tokens/spacing/variables.scss +23 -0
  313. package/tokens/typography/variables.css +30 -0
  314. package/tokens/typography/variables.d.ts +26 -0
  315. package/tokens/typography/variables.dark.css +29 -0
  316. package/tokens/typography/variables.dark.d.ts +26 -0
  317. package/tokens/typography/variables.dark.js +28 -0
  318. package/tokens/typography/variables.dark.json +38 -0
  319. package/tokens/typography/variables.dark.scss +26 -0
  320. package/tokens/typography/variables.js +28 -0
  321. package/tokens/typography/variables.json +38 -0
  322. package/tokens/typography/variables.scss +26 -0
  323. package/vite-plugin-generate-components-metadata.js +62 -0
  324. package/dist/footer-3Y-664-8.js +0 -2
  325. package/dist/footer-3Y-664-8.js.map +0 -1
  326. package/dist/footer-DenAcikt.mjs.map +0 -1
  327. package/dist/hero-banner-B7xrDfzN.mjs.map +0 -1
  328. package/dist/hero-banner-DthITuQ7.js +0 -2
  329. package/dist/hero-banner-DthITuQ7.js.map +0 -1
  330. package/dist/text-field-CYJzQG3h.js +0 -2
  331. package/dist/useColorScheme-DbTQjxNB.js +0 -2
  332. package/dist/useThemePortalContainer-D9BYjEvT.js +0 -2
  333. package/dist/useThemePortalContainer-tFLTaYKN.mjs +0 -9
@@ -1 +0,0 @@
1
- {"version":3,"file":"footer-DenAcikt.mjs","sources":["../../../components/footer/src/constants.ts","../../../components/footer/src/footer-navigation.tsx","../../../components/footer/src/footer-social-link.tsx","../../../components/footer/src/telia-logo.tsx","../../../components/footer/src/footer.tsx"],"sourcesContent":["export const rootClassName = \"purpur-footer\";\n","import React, { type AnchorHTMLAttributes, type ForwardRefExoticComponent } from \"react\";\nimport { Accordion } from \"@purpur/accordion\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Link } from \"@purpur/link\";\nimport c from \"classnames/bind\";\n\nimport { rootClassName } from \"./constants\";\nimport styles from \"./footer.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type FooterNavigationItemLink = Omit<BaseProps<\"a\">, \"href\"> & {\n text: string;\n href: string;\n};\n\nexport type FooterNavigationItem = {\n heading: string;\n links: FooterNavigationItemLink[];\n};\n\nexport type CustomLinkType =\n | ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement>>\n | \"a\";\n\ntype NavigationLinksProps = {\n links: FooterNavigationItemLink[];\n customLink?: CustomLinkType;\n};\n\nconst NavigationLinks = ({ links, customLink: CustomLink }: NavigationLinksProps) => (\n <ul>\n {links.map(({ href, text, ...linkProps }, j) => (\n <li key={j}>\n {CustomLink ? (\n <CustomLink\n {...linkProps}\n href={href}\n className={cx(`${rootClassName}__custom-link-navigation`)}\n >\n {text}\n </CustomLink>\n ) : (\n <Link {...linkProps} variant=\"navigation\" negative href={href} disableVisited={true}>\n {text}\n </Link>\n )}\n </li>\n ))}\n </ul>\n);\n\ntype FooterNavigationProps = {\n customLink?: CustomLinkType;\n sectionProps?: Omit<BaseProps<\"section\">, \"children\">;\n navigationLinks: FooterNavigationItem[];\n};\n\nexport const FooterNavigation = ({\n navigationLinks,\n sectionProps,\n customLink,\n}: FooterNavigationProps) => (\n <>\n <section\n {...sectionProps}\n className={cx(\n `${rootClassName}__navigation`,\n `${rootClassName}__navigation--lg`,\n sectionProps?.className\n )}\n >\n {navigationLinks.map((section, i) => (\n <div key={i} className={cx(`${rootClassName}__navigation-section`)}>\n <h3 className={cx(`${rootClassName}__navigation-section-heading`)}>{section.heading}</h3>\n <NavigationLinks links={section.links} customLink={customLink} />\n </div>\n ))}\n </section>\n <section\n {...sectionProps}\n className={cx(\n `${rootClassName}__navigation`,\n `${rootClassName}__navigation--sm`,\n sectionProps?.className\n )}\n >\n <Accordion negative>\n {navigationLinks.map((section, i) => (\n <Accordion.Item\n key={i}\n title={section.heading}\n titleTag=\"h2\"\n className={cx(`${rootClassName}__navigation-section`)}\n >\n <NavigationLinks links={section.links} customLink={customLink} />\n </Accordion.Item>\n ))}\n </Accordion>\n </section>\n </>\n);\n","import React from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Icon, type IconProps } from \"@purpur/icon\";\nimport c from \"classnames/bind\";\n\nimport { rootClassName } from \"./constants\";\nimport styles from \"./footer.module.scss\";\n\nexport type FooterSocialLinkProps = Omit<BaseProps<\"a\">, \"aria-label\" | \"href\" | \"children\"> & {\n \"aria-label\": string;\n icon: IconProps[\"svg\"];\n href: string;\n};\n\nconst cx = c.bind(styles);\n\nexport const FooterSocialLink = ({ icon, href, ...props }: FooterSocialLinkProps) => (\n <a\n {...props}\n href={href}\n className={cx(`${rootClassName}__social-link`)}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <Icon svg={icon} />\n </a>\n);\n","import React from \"react\";\n\nexport const TeliaLogo = () => (\n <svg\n width=\"81\"\n height=\"32\"\n viewBox=\"0 0 81 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <g clipPath=\"url(#clip0_5309_7721)\">\n <path\n d=\"M81.28 16.8043V25.2064H78.5458V23.8293C77.6183 25.04 76.1438 25.4912 74.9076 25.4912C72.3401 25.4912 70.8186 23.8773 70.8186 21.8592C70.8186 19.5573 73.4107 17.6821 76.5723 17.6821C77.1909 17.6821 77.8566 17.7301 78.4507 17.92V17.1371C78.4507 15.9499 77.7615 15.3333 76.3586 15.3333C75.0989 15.3333 73.9812 15.9744 73.2921 16.8053L71.2235 15.2864C72.3882 13.9339 74.3862 12.9845 76.4067 12.9845C79.5683 12.9824 81.28 14.3595 81.28 16.8043ZM78.4507 20.6251V20.1024C77.9752 19.936 77.4762 19.8891 76.8576 19.8891C74.7174 19.8891 73.6244 20.7435 73.6244 21.7877C73.6244 22.6421 74.3616 23.1883 75.4792 23.1883C76.9527 23.1883 78.4507 22.3104 78.4507 20.6251Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M65.8021 9.968C65.8021 9.04214 66.6109 8.28267 67.5373 8.28267C68.4412 8.28267 69.249 9.04214 69.249 9.968C69.249 10.8939 68.4401 11.6533 67.5373 11.6533C66.6109 11.6533 65.8021 10.8939 65.8021 9.968ZM66.0638 25.2064V13.3387H68.9883V25.2064H66.0638Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M64.2806 25.2533C63.8286 25.3483 63.3531 25.3717 62.9257 25.3717C60.8337 25.3717 59.9062 24.3744 59.9062 22.3573V8.59093H62.8306V21.9541C62.8306 22.9749 63.4493 23.1168 64.2806 23.0219V25.2533Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M58.0513 20.1035H49.2781C49.5869 21.8603 50.8477 23.0229 52.4643 23.0229C53.677 23.0229 54.6514 22.4768 55.2466 21.5755L57.5769 22.976C56.3877 24.5664 54.4388 25.5157 52.4653 25.5157C49.2086 25.5157 46.3793 22.9291 46.3793 19.2256C46.3793 15.5221 49.1851 12.96 52.3232 12.96C56.4347 12.9589 58.4552 16.2347 58.0513 20.1035ZM49.3732 17.8955H55.222C54.8651 16.3531 53.8672 15.3792 52.3211 15.3792C50.8712 15.3803 49.7771 16.3765 49.3732 17.8955Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M48.6359 11.2971H43.69V25.2064H40.5518V11.2971H35.5589V8.59093H48.6359V11.2971Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M16.9321 27.4656C11.5983 29.6245 8.54567 28.9365 6.85855 27.5904L6.83397 27.5712C9.44532 30.1717 12.4221 32.0011 15.0324 32.0011C19.6033 32.0011 25.8614 26.4651 28.8232 17.8805C27.1542 20.9792 23.5727 24.7861 16.9321 27.4656Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M20.9806 22.4843C25.137 20.0779 28.8809 15.9968 30.0616 13.0869C30.3971 10.6784 30.4654 10.3744 30.506 7.7248C30.5114 7.35787 30.4889 7.00587 30.4548 6.6688C30.2122 10.56 25.1743 15.4528 18.5092 18.6496C10.4689 22.5056 4.43738 23.5435 1.74589 20.6027C2.6808 22.4459 3.29411 23.3408 4.34549 24.7083C7.45048 27.4539 13.9853 26.5355 20.9806 22.4843Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M17.5721 15.8923C25.1562 12.24 30.4387 7.04427 29.5177 3.6C28.0058 0.993067 24.9457 0 21.6644 0C11.9381 0 0 6.4 0 14.5653C0 15.6149 0.231859 16.7883 0.647496 18.0181C2.86565 20.9568 9.64833 19.7077 17.5721 15.8923Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_5309_7721\">\n <rect width=\"81\" height=\"32\" fill=\"currentColor\" />\n </clipPath>\n </defs>\n </svg>\n);\n","import React, { type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Container } from \"@purpur/container\";\nimport { Link, type LinkProps } from \"@purpur/link\";\nimport { Select } from \"@purpur/select\";\nimport { type ColorOptions, type ColorScheme, useColorScheme, useTheme } from \"@purpur/theme\";\nimport c from \"classnames/bind\";\n\nimport { rootClassName } from \"./constants\";\nimport styles from \"./footer.module.scss\";\nimport {\n type CustomLinkType,\n FooterNavigation,\n type FooterNavigationItem,\n type FooterNavigationItemLink,\n} from \"./footer-navigation\";\nimport { FooterSocialLink, type FooterSocialLinkProps } from \"./footer-social-link\";\nimport { TeliaLogo } from \"./telia-logo\";\n\nconst cx = c.bind(styles);\n\ntype AdditionalLink = FooterNavigationItemLink &\n Omit<LinkProps, \"href\" | \"variant\" | \"negative\" | \"children\" | \"disableVisited\">;\n\ntype SectionProps = Omit<BaseProps<\"section\">, \"children\">;\n\nexport type FooterProps = BaseProps<\"footer\"> & {\n /**\n * Navigation section of the footer.\n */\n navigation?: {\n customLink?: CustomLinkType;\n links: FooterNavigationItem[];\n sectionProps?: SectionProps;\n };\n /**\n * Social links section of the footer.\n */\n social?: {\n links: FooterSocialLinkProps[];\n sectionProps?: SectionProps;\n };\n /**\n * Contacts section of the footer.\n */\n contacts?: {\n copyright?: string;\n address?: {\n content: ReactElement;\n addressProps?: Omit<BaseProps<\"address\">, \"children\">;\n };\n sectionProps?: SectionProps;\n };\n /**\n * Additional links section of the footer.\n */\n additional?: {\n links: AdditionalLink[];\n sectionProps?: SectionProps;\n };\n /**\n * Custom content section of the footer.\n */\n custom?: {\n content: ReactElement;\n sectionProps?: SectionProps;\n };\n /**\n * Payment images section of the footer.\n */\n payments?: {\n /**\n * @deprecated use content instead\n */\n images?: { src: string; alt: string }[];\n content?: ReactElement | ReactElement[];\n sectionProps?: SectionProps;\n };\n /**\n * Custom logo that replaces the default Telia logo.\n */\n logo?: ReactNode;\n themeSelect?: {\n label: string;\n options: { value: ColorOptions; label: string }[];\n };\n forceColorScheme?: ColorScheme;\n};\n\nexport const Footer = ({\n className,\n navigation,\n social,\n contacts,\n additional,\n custom,\n payments,\n logo,\n themeSelect,\n forceColorScheme,\n ...props\n}: FooterProps) => {\n const classes = cx(className, rootClassName);\n\n const { options } = useTheme();\n const [colorScheme, setColorScheme] = useColorScheme();\n\n const resolvedColorScheme = forceColorScheme ?? options?.footerColorScheme;\n\n return (\n <footer data-color-scheme={resolvedColorScheme} className={classes} {...props}>\n <Container>\n <div className={cx(`${rootClassName}__container`)}>\n <div\n className={cx(`${rootClassName}__logo`, {\n [`${rootClassName}__logo--telia`]: !logo,\n })}\n >\n {logo ?? <TeliaLogo />}\n </div>\n {social && (\n <section\n {...social.sectionProps}\n className={cx(\n `${rootClassName}__social`,\n `${rootClassName}__social--md`,\n social.sectionProps?.className\n )}\n >\n {social.links.map(({ icon, href, ...socialLinkProps }) => (\n <FooterSocialLink {...socialLinkProps} icon={icon} href={href} key={href} />\n ))}\n </section>\n )}\n {navigation && (\n <FooterNavigation\n customLink={navigation.customLink}\n navigationLinks={navigation.links}\n sectionProps={navigation.sectionProps}\n />\n )}\n {payments && (\n <section\n {...payments.sectionProps}\n className={cx(`${rootClassName}__payments`, payments.sectionProps?.className)}\n >\n {payments.content}\n {payments.images?.map(({ alt, src }) => (\n <img\n className={cx(`${rootClassName}__payments-image`)}\n src={src}\n alt={alt}\n key={src}\n />\n ))}\n </section>\n )}\n {themeSelect && (\n <section className={cx(`${rootClassName}__theme-select`)}>\n <Select\n value={colorScheme}\n label={themeSelect.label}\n options={themeSelect.options}\n negative\n onChange={(event) => {\n setColorScheme(event.target.value as ColorOptions);\n }}\n />\n </section>\n )}\n {contacts && (\n <section\n {...contacts.sectionProps}\n className={cx(`${rootClassName}__contacts`, contacts.sectionProps?.className)}\n >\n {contacts.copyright && (\n <div className={cx(`${rootClassName}__contacts-copyright`)}>\n {contacts.copyright}\n </div>\n )}\n {contacts.address && (\n <address\n {...contacts.address.addressProps}\n className={cx(\n `${rootClassName}__contacts-address`,\n contacts.address.addressProps?.className\n )}\n >\n {contacts.address.content}\n </address>\n )}\n </section>\n )}\n {(custom || additional) && (\n <div className={cx(`${rootClassName}__additional`)}>\n {custom && (\n <section\n {...custom.sectionProps}\n className={cx(`${rootClassName}__custom-content`, custom.sectionProps?.className)}\n >\n {custom.content}\n </section>\n )}\n {additional && (\n <section\n {...additional.sectionProps}\n className={cx(\n `${rootClassName}__additional-links`,\n additional.sectionProps?.className\n )}\n >\n {additional?.links?.map(({ href, text, ...additionalLinkProps }) => (\n <Link\n {...additionalLinkProps}\n variant=\"standalone\"\n negative\n href={href}\n key={href}\n disableVisited={true}\n >\n {text}\n </Link>\n ))}\n </section>\n )}\n </div>\n )}\n {social && (\n <section\n {...social.sectionProps}\n className={cx(\n `${rootClassName}__social`,\n `${rootClassName}__social--sm`,\n social.sectionProps?.className\n )}\n >\n {social.links.map(({ icon, href, ...socialLinkProps }) => (\n <FooterSocialLink {...socialLinkProps} icon={icon} href={href} key={href} />\n ))}\n </section>\n )}\n </div>\n </Container>\n </footer>\n );\n};\n\nFooter.displayName = \"Footer\";\n"],"names":["rootClassName","cx","c","styles","NavigationLinks","links","CustomLink","href","text","linkProps","j","jsx","Link","FooterNavigation","navigationLinks","sectionProps","customLink","jsxs","Fragment","section","i","Accordion","FooterSocialLink","icon","props","Icon","TeliaLogo","Footer","className","navigation","social","contacts","additional","custom","payments","logo","themeSelect","forceColorScheme","classes","options","useTheme","colorScheme","setColorScheme","useColorScheme","resolvedColorScheme","Container","socialLinkProps","createElement","alt","src","Select","event","additionalLinkProps"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hero-banner-B7xrDfzN.mjs","sources":["../../../components/hero-banner/src/hero-banner-actions.tsx","../../../components/icon/dist/assets/play-filled.es.js","../../../components/icon/dist/assets/tv-pause.es.js","../../../components/hero-banner/src/hero-banner-media.tsx","../../../components/hero-banner/src/hero-banner.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./hero-banner.module.scss\";\n\ntype HeroBannerActionProps = Omit<BaseProps, \"children\"> & {\n /** One or several CTA links or buttons */\n children: ReactNode;\n};\n\nconst rootClassName = \"purpur-hero-banner\";\n\nconst cx = c.bind(styles);\n\nexport const HeroBannerActions = ({ children, className, ...props }: HeroBannerActionProps) => {\n return (\n <div {...props} className={cx(`${rootClassName}__actions`, className)}>\n {children}\n </div>\n );\n};\n","const l = {\n name: \"play-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 12 5.5 19.794V4.206L19 12Z\"/><path fill-rule=\"evenodd\" d=\"M19.875 12a.875.875 0 0 1-.438.758l-13.5 7.794a.875.875 0 0 1-1.312-.758V4.206a.875.875 0 0 1 1.313-.758l13.5 7.794c.27.156.437.445.437.758Zm-13.5-6.279V18.28L17.25 12 6.375 5.721Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"play-filled\"],\n category: \"action\"\n};\nexport {\n l as playFilled\n};\n//# sourceMappingURL=play-filled.es.js.map\n","const a = {\n name: \"tv-pause\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 20h-3V4h3v16ZM8 20H5V4h3v16Z\"/><path fill-rule=\"evenodd\" d=\"M4.1 4a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9H5.9Zm9.2-.9a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9h-3a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9h-1.2Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"tv-pause\"],\n category: \"action\"\n};\nexport {\n a as tvPause\n};\n//# sourceMappingURL=tv-pause.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Icon } from \"@purpur/icon\";\nimport { playFilled } from \"@purpur/icon/assets/play-filled\";\nimport { tvPause } from \"@purpur/icon/assets/tv-pause\";\n\nimport styles from \"./hero-banner.module.scss\";\n\nconst rootClassName = \"purpur-hero-banner\";\n\ntype WithVideo = {\n /** Video pause/play button callback (your implementation should handle the state) */\n togglePausePlay: () => void;\n /** Video pause/play button status (your implementation should handle the state) */\n isPlaying?: boolean;\n /** Aria label for the pause/play button, when the video is playing */\n videoPauseAriaLabel: string;\n /** Aria label for the pause/play button, when the video is not playing */\n videoPlayAriaLabel: string;\n};\n\ntype WithoutVideo = {\n togglePausePlay?: never;\n isPlaying?: never;\n videoPauseAriaLabel?: never;\n videoPlayAriaLabel?: never;\n};\n\nexport type HeroBannerMediaProps = BaseProps & (WithVideo | WithoutVideo);\n\nexport const HeroBannerMedia = ({\n children,\n isPlaying,\n togglePausePlay,\n videoPauseAriaLabel,\n videoPlayAriaLabel,\n className,\n ...props\n}: HeroBannerMediaProps) =>\n children && (\n <div className={className} {...props}>\n {children}\n {!!togglePausePlay && (\n <Button\n variant=\"primary\"\n negative\n iconOnly\n onClick={() => {\n togglePausePlay();\n }}\n className={styles[`${rootClassName}__video-button`]}\n aria-label={isPlaying ? videoPauseAriaLabel : videoPlayAriaLabel}\n >\n <Icon size=\"xs\" svg={isPlaying ? tvPause : playFilled} />\n </Button>\n )}\n </div>\n );\n","import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Grid } from \"@purpur/grid\";\nimport { Heading } from \"@purpur/heading\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { type ColorScheme, useTheme } from \"@purpur/theme\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./hero-banner.module.scss\";\nimport { HeroBannerActions } from \"./hero-banner-actions\";\nimport { HeroBannerMedia } from \"./hero-banner-media\";\n\nexport type { HeroBannerMediaProps } from \"./hero-banner-media\";\n\nconst cx = c.bind(styles);\n\nexport const TitleHyphenVariant = {\n default: \"default\",\n enabled: \"enabled\",\n disabled: \"disabled\",\n} as const;\n\nexport type TitleHyphens = (typeof TitleHyphenVariant)[keyof typeof TitleHyphenVariant];\n\nexport type HeroBannerProps = BaseProps & {\n /**\n * Custom content slot\n * Add your CTAs here with <HeroBanner.CTAs> component\n */\n children?: ReactNode;\n /**\n * Breadcrumbs: <br/>\n * - Slot for your Breadcrumbs component\n */\n breadcrumbs?: ReactNode;\n forceColorScheme?: ColorScheme;\n /**\n * Content to display before the main heading\n */\n beforeTitle?: ReactNode;\n /**\n * Main heading of the component\n */\n title: string;\n /**\n * Main heading tag\n */\n titleTag?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n titleHyphens?: TitleHyphens;\n /**\n * Preamble text\n */\n preamble?: string;\n /**\n * Additional text under the CTAs, recommended to limit element to simple text with text decorations\n */\n additionalText?: ReactNode;\n /**\n * <HeroBanner.Media /> component (images and videos)\n */\n media?: ReactNode;\n};\n\nconst rootClassName = \"purpur-hero-banner\";\n\nexport const HeroBanner = ({\n children,\n className,\n breadcrumbs,\n forceColorScheme,\n beforeTitle,\n title,\n titleTag = \"h1\",\n titleHyphens = \"default\",\n preamble,\n additionalText,\n media,\n ...props\n}: HeroBannerProps) => {\n const { options } = useTheme();\n const classes = cx([rootClassName, className]);\n\n const hasMedia = Boolean(media);\n const hasBreadcrumbs = Boolean(breadcrumbs);\n const hasAdditionalText = Boolean(additionalText);\n\n const resolvedColorScheme = forceColorScheme ?? options?.heroBannerColorScheme;\n\n return (\n <section data-color-scheme={resolvedColorScheme} className={classes} {...props}>\n <Grid\n noGap\n className={cx([\n `${rootClassName}__container`,\n {\n [`${rootClassName}__container--with-media`]: hasMedia,\n [`${rootClassName}__container--no-media`]: !hasMedia,\n },\n ])}\n containerClassName={cx(`${rootClassName}__grid-container`)}\n >\n {breadcrumbs && <div className={cx(`${rootClassName}__breadcrumbs`)}>{breadcrumbs}</div>}\n\n <div className={cx([`${rootClassName}__media`, `${rootClassName}__media--sm`])}>\n {media}\n </div>\n\n <div\n className={cx([\n `${rootClassName}__content`,\n {\n [`${rootClassName}__content--no-media`]: !hasMedia,\n [`${rootClassName}__content--no-breadcrumbs`]: !hasBreadcrumbs,\n [`${rootClassName}__content--no-additional-text`]: !hasAdditionalText,\n },\n ])}\n >\n <div\n className={cx([\n `${rootClassName}__main-content`,\n {\n [`${rootClassName}__main-content--no-media`]: !hasMedia,\n },\n ])}\n >\n {beforeTitle}\n {title && (\n <Heading\n negative\n tag={titleTag}\n variant=\"display-50\"\n className={cx([\n `${rootClassName}__title`,\n `${rootClassName}__title--hyphens-${titleHyphens}`,\n ])}\n >\n {title}\n </Heading>\n )}\n {preamble && (\n <Paragraph\n negative\n variant=\"preamble-100\"\n className={cx(`${rootClassName}__preamble`)}\n >\n {preamble}\n </Paragraph>\n )}\n {children && <div className={cx(`${rootClassName}__custom-content`)}>{children}</div>}\n </div>\n\n {additionalText && (\n <Paragraph\n negative\n variant=\"additional-100\"\n className={styles[`${rootClassName}__additional-text`]}\n >\n {additionalText}\n </Paragraph>\n )}\n </div>\n\n <div className={cx([`${rootClassName}__media`, `${rootClassName}__media--lg`])}>\n {media}\n </div>\n </Grid>\n </section>\n );\n};\n\nHeroBanner.displayName = \"HeroBanner\";\n\nHeroBanner.Media = HeroBannerMedia;\nHeroBanner.Actions = HeroBannerActions;\n"],"names":["rootClassName","cx","c","styles","HeroBannerActions","children","className","props","jsx","l","a","HeroBannerMedia","isPlaying","togglePausePlay","videoPauseAriaLabel","videoPlayAriaLabel","jsxs","Button","Icon","tvPause","playFilled","TitleHyphenVariant","HeroBanner","breadcrumbs","forceColorScheme","beforeTitle","title","titleTag","titleHyphens","preamble","additionalText","media","options","useTheme","classes","hasMedia","hasBreadcrumbs","hasAdditionalText","resolvedColorScheme","Grid","Heading","Paragraph"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const r=require("react/jsx-runtime"),w=require("./grid-uGMD2euo.js"),B=require("./heading-drD5ugCC.js"),m=require("./paragraph-By4jMjnH.js"),f=require("./ThemeProvider-D7oXcAde.js");require("react");const v=require("./bind-DeUYJ6m9.js"),H=require("./button-DmybVApa.js"),V=require("./icon.es-j3eRib6d.js"),i={"purpur-hero-banner":"_purpur-hero-banner_ue1q7_1","purpur-hero-banner__grid-container":"_purpur-hero-banner__grid-container_ue1q7_5","purpur-hero-banner__container":"_purpur-hero-banner__container_ue1q7_8","purpur-hero-banner__container--with-media":"_purpur-hero-banner__container--with-media_ue1q7_17","purpur-hero-banner__container--no-media":"_purpur-hero-banner__container--no-media_ue1q7_28","purpur-hero-banner__breadcrumbs":"_purpur-hero-banner__breadcrumbs_ue1q7_39","purpur-hero-banner__content":"_purpur-hero-banner__content_ue1q7_57","purpur-hero-banner__content--no-media":"_purpur-hero-banner__content--no-media_ue1q7_75","purpur-hero-banner__content--no-breadcrumbs":"_purpur-hero-banner__content--no-breadcrumbs_ue1q7_79","purpur-hero-banner__content--no-additional-text":"_purpur-hero-banner__content--no-additional-text_ue1q7_83","purpur-hero-banner__main-content":"_purpur-hero-banner__main-content_ue1q7_91","purpur-hero-banner__main-content--no-media":"_purpur-hero-banner__main-content--no-media_ue1q7_99","purpur-hero-banner__title":"_purpur-hero-banner__title_ue1q7_102","purpur-hero-banner__title--hyphens-default":"_purpur-hero-banner__title--hyphens-default_ue1q7_109","purpur-hero-banner__title--hyphens-enabled":"_purpur-hero-banner__title--hyphens-enabled_ue1q7_117","purpur-hero-banner__title--hyphens-disabled":"_purpur-hero-banner__title--hyphens-disabled_ue1q7_120","purpur-hero-banner__preamble":"_purpur-hero-banner__preamble_ue1q7_123","purpur-hero-banner__custom-content":"_purpur-hero-banner__custom-content_ue1q7_128","purpur-hero-banner__actions":"_purpur-hero-banner__actions_ue1q7_132","purpur-hero-banner__additional-text":"_purpur-hero-banner__additional-text_ue1q7_148","purpur-hero-banner__media":"_purpur-hero-banner__media_ue1q7_152","purpur-hero-banner__media--sm":"_purpur-hero-banner__media--sm_ue1q7_156","purpur-hero-banner__media--lg":"_purpur-hero-banner__media--lg_ue1q7_164","purpur-hero-banner__video-button":"_purpur-hero-banner__video-button_ue1q7_203"},C="purpur-hero-banner",Z=v.c.bind(i),M=({children:_,className:o,...a})=>r.jsx("div",{...a,className:Z(`${C}__actions`,o),children:_}),k={name:"play-filled",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 12 5.5 19.794V4.206L19 12Z"/><path fill-rule="evenodd" d="M19.875 12a.875.875 0 0 1-.438.758l-13.5 7.794a.875.875 0 0 1-1.312-.758V4.206a.875.875 0 0 1 1.313-.758l13.5 7.794c.27.156.437.445.437.758Zm-13.5-6.279V18.28L17.25 12 6.375 5.721Z" clip-rule="evenodd"/></svg>',keywords:["play-filled"],category:"action"},A={name:"tv-pause",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 20h-3V4h3v16ZM8 20H5V4h3v16Z"/><path fill-rule="evenodd" d="M4.1 4a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9H5.9Zm9.2-.9a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9h-3a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9h-1.2Z" clip-rule="evenodd"/></svg>',keywords:["tv-pause"],category:"action"},T="purpur-hero-banner",G=({children:_,isPlaying:o,togglePausePlay:a,videoPauseAriaLabel:p,videoPlayAriaLabel:c,className:t,...d})=>_&&r.jsxs("div",{className:t,...d,children:[_,!!a&&r.jsx(H.Button,{variant:"primary",negative:!0,iconOnly:!0,onClick:()=>{a()},className:i[`${T}__video-button`],"aria-label":o?p:c,children:r.jsx(V.b,{size:"xs",svg:o?A:k})})]}),n=v.c.bind(i),L={default:"default",enabled:"enabled",disabled:"disabled"},e="purpur-hero-banner",s=({children:_,className:o,breadcrumbs:a,forceColorScheme:p,beforeTitle:c,title:t,titleTag:d="h1",titleHyphens:q="default",preamble:b,additionalText:h,media:l,...x})=>{const{options:g}=f.useTheme(),$=n([e,o]),u=!!l,y=!!a,N=!!h,j=p??g?.heroBannerColorScheme;return r.jsx("section",{"data-color-scheme":j,className:$,...x,children:r.jsxs(w.Grid,{noGap:!0,className:n([`${e}__container`,{[`${e}__container--with-media`]:u,[`${e}__container--no-media`]:!u}]),containerClassName:n(`${e}__grid-container`),children:[a&&r.jsx("div",{className:n(`${e}__breadcrumbs`),children:a}),r.jsx("div",{className:n([`${e}__media`,`${e}__media--sm`]),children:l}),r.jsxs("div",{className:n([`${e}__content`,{[`${e}__content--no-media`]:!u,[`${e}__content--no-breadcrumbs`]:!y,[`${e}__content--no-additional-text`]:!N}]),children:[r.jsxs("div",{className:n([`${e}__main-content`,{[`${e}__main-content--no-media`]:!u}]),children:[c,t&&r.jsx(B.Heading,{negative:!0,tag:d,variant:"display-50",className:n([`${e}__title`,`${e}__title--hyphens-${q}`]),children:t}),b&&r.jsx(m.Paragraph,{negative:!0,variant:"preamble-100",className:n(`${e}__preamble`),children:b}),_&&r.jsx("div",{className:n(`${e}__custom-content`),children:_})]}),h&&r.jsx(m.Paragraph,{negative:!0,variant:"additional-100",className:i[`${e}__additional-text`],children:h})]}),r.jsx("div",{className:n([`${e}__media`,`${e}__media--lg`]),children:l})]})})};s.displayName="HeroBanner";s.Media=G;s.Actions=M;exports.HeroBanner=s;exports.TitleHyphenVariant=L;
2
- //# sourceMappingURL=hero-banner-DthITuQ7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hero-banner-DthITuQ7.js","sources":["../../../components/hero-banner/src/hero-banner-actions.tsx","../../../components/icon/dist/assets/play-filled.es.js","../../../components/icon/dist/assets/tv-pause.es.js","../../../components/hero-banner/src/hero-banner-media.tsx","../../../components/hero-banner/src/hero-banner.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./hero-banner.module.scss\";\n\ntype HeroBannerActionProps = Omit<BaseProps, \"children\"> & {\n /** One or several CTA links or buttons */\n children: ReactNode;\n};\n\nconst rootClassName = \"purpur-hero-banner\";\n\nconst cx = c.bind(styles);\n\nexport const HeroBannerActions = ({ children, className, ...props }: HeroBannerActionProps) => {\n return (\n <div {...props} className={cx(`${rootClassName}__actions`, className)}>\n {children}\n </div>\n );\n};\n","const l = {\n name: \"play-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 12 5.5 19.794V4.206L19 12Z\"/><path fill-rule=\"evenodd\" d=\"M19.875 12a.875.875 0 0 1-.438.758l-13.5 7.794a.875.875 0 0 1-1.312-.758V4.206a.875.875 0 0 1 1.313-.758l13.5 7.794c.27.156.437.445.437.758Zm-13.5-6.279V18.28L17.25 12 6.375 5.721Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"play-filled\"],\n category: \"action\"\n};\nexport {\n l as playFilled\n};\n//# sourceMappingURL=play-filled.es.js.map\n","const a = {\n name: \"tv-pause\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 20h-3V4h3v16ZM8 20H5V4h3v16Z\"/><path fill-rule=\"evenodd\" d=\"M4.1 4a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9H5.9Zm9.2-.9a.9.9 0 0 1 .9-.9h3a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9h-3a.9.9 0 0 1-.9-.9V4Zm1.8.9v14.2h1.2V4.9h-1.2Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"tv-pause\"],\n category: \"action\"\n};\nexport {\n a as tvPause\n};\n//# sourceMappingURL=tv-pause.es.js.map\n","import React from \"react\";\nimport { Button } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Icon } from \"@purpur/icon\";\nimport { playFilled } from \"@purpur/icon/assets/play-filled\";\nimport { tvPause } from \"@purpur/icon/assets/tv-pause\";\n\nimport styles from \"./hero-banner.module.scss\";\n\nconst rootClassName = \"purpur-hero-banner\";\n\ntype WithVideo = {\n /** Video pause/play button callback (your implementation should handle the state) */\n togglePausePlay: () => void;\n /** Video pause/play button status (your implementation should handle the state) */\n isPlaying?: boolean;\n /** Aria label for the pause/play button, when the video is playing */\n videoPauseAriaLabel: string;\n /** Aria label for the pause/play button, when the video is not playing */\n videoPlayAriaLabel: string;\n};\n\ntype WithoutVideo = {\n togglePausePlay?: never;\n isPlaying?: never;\n videoPauseAriaLabel?: never;\n videoPlayAriaLabel?: never;\n};\n\nexport type HeroBannerMediaProps = BaseProps & (WithVideo | WithoutVideo);\n\nexport const HeroBannerMedia = ({\n children,\n isPlaying,\n togglePausePlay,\n videoPauseAriaLabel,\n videoPlayAriaLabel,\n className,\n ...props\n}: HeroBannerMediaProps) =>\n children && (\n <div className={className} {...props}>\n {children}\n {!!togglePausePlay && (\n <Button\n variant=\"primary\"\n negative\n iconOnly\n onClick={() => {\n togglePausePlay();\n }}\n className={styles[`${rootClassName}__video-button`]}\n aria-label={isPlaying ? videoPauseAriaLabel : videoPlayAriaLabel}\n >\n <Icon size=\"xs\" svg={isPlaying ? tvPause : playFilled} />\n </Button>\n )}\n </div>\n );\n","import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Grid } from \"@purpur/grid\";\nimport { Heading } from \"@purpur/heading\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { type ColorScheme, useTheme } from \"@purpur/theme\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./hero-banner.module.scss\";\nimport { HeroBannerActions } from \"./hero-banner-actions\";\nimport { HeroBannerMedia } from \"./hero-banner-media\";\n\nexport type { HeroBannerMediaProps } from \"./hero-banner-media\";\n\nconst cx = c.bind(styles);\n\nexport const TitleHyphenVariant = {\n default: \"default\",\n enabled: \"enabled\",\n disabled: \"disabled\",\n} as const;\n\nexport type TitleHyphens = (typeof TitleHyphenVariant)[keyof typeof TitleHyphenVariant];\n\nexport type HeroBannerProps = BaseProps & {\n /**\n * Custom content slot\n * Add your CTAs here with <HeroBanner.CTAs> component\n */\n children?: ReactNode;\n /**\n * Breadcrumbs: <br/>\n * - Slot for your Breadcrumbs component\n */\n breadcrumbs?: ReactNode;\n forceColorScheme?: ColorScheme;\n /**\n * Content to display before the main heading\n */\n beforeTitle?: ReactNode;\n /**\n * Main heading of the component\n */\n title: string;\n /**\n * Main heading tag\n */\n titleTag?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n titleHyphens?: TitleHyphens;\n /**\n * Preamble text\n */\n preamble?: string;\n /**\n * Additional text under the CTAs, recommended to limit element to simple text with text decorations\n */\n additionalText?: ReactNode;\n /**\n * <HeroBanner.Media /> component (images and videos)\n */\n media?: ReactNode;\n};\n\nconst rootClassName = \"purpur-hero-banner\";\n\nexport const HeroBanner = ({\n children,\n className,\n breadcrumbs,\n forceColorScheme,\n beforeTitle,\n title,\n titleTag = \"h1\",\n titleHyphens = \"default\",\n preamble,\n additionalText,\n media,\n ...props\n}: HeroBannerProps) => {\n const { options } = useTheme();\n const classes = cx([rootClassName, className]);\n\n const hasMedia = Boolean(media);\n const hasBreadcrumbs = Boolean(breadcrumbs);\n const hasAdditionalText = Boolean(additionalText);\n\n const resolvedColorScheme = forceColorScheme ?? options?.heroBannerColorScheme;\n\n return (\n <section data-color-scheme={resolvedColorScheme} className={classes} {...props}>\n <Grid\n noGap\n className={cx([\n `${rootClassName}__container`,\n {\n [`${rootClassName}__container--with-media`]: hasMedia,\n [`${rootClassName}__container--no-media`]: !hasMedia,\n },\n ])}\n containerClassName={cx(`${rootClassName}__grid-container`)}\n >\n {breadcrumbs && <div className={cx(`${rootClassName}__breadcrumbs`)}>{breadcrumbs}</div>}\n\n <div className={cx([`${rootClassName}__media`, `${rootClassName}__media--sm`])}>\n {media}\n </div>\n\n <div\n className={cx([\n `${rootClassName}__content`,\n {\n [`${rootClassName}__content--no-media`]: !hasMedia,\n [`${rootClassName}__content--no-breadcrumbs`]: !hasBreadcrumbs,\n [`${rootClassName}__content--no-additional-text`]: !hasAdditionalText,\n },\n ])}\n >\n <div\n className={cx([\n `${rootClassName}__main-content`,\n {\n [`${rootClassName}__main-content--no-media`]: !hasMedia,\n },\n ])}\n >\n {beforeTitle}\n {title && (\n <Heading\n negative\n tag={titleTag}\n variant=\"display-50\"\n className={cx([\n `${rootClassName}__title`,\n `${rootClassName}__title--hyphens-${titleHyphens}`,\n ])}\n >\n {title}\n </Heading>\n )}\n {preamble && (\n <Paragraph\n negative\n variant=\"preamble-100\"\n className={cx(`${rootClassName}__preamble`)}\n >\n {preamble}\n </Paragraph>\n )}\n {children && <div className={cx(`${rootClassName}__custom-content`)}>{children}</div>}\n </div>\n\n {additionalText && (\n <Paragraph\n negative\n variant=\"additional-100\"\n className={styles[`${rootClassName}__additional-text`]}\n >\n {additionalText}\n </Paragraph>\n )}\n </div>\n\n <div className={cx([`${rootClassName}__media`, `${rootClassName}__media--lg`])}>\n {media}\n </div>\n </Grid>\n </section>\n );\n};\n\nHeroBanner.displayName = \"HeroBanner\";\n\nHeroBanner.Media = HeroBannerMedia;\nHeroBanner.Actions = HeroBannerActions;\n"],"names":["rootClassName","cx","c","styles","HeroBannerActions","children","className","props","jsx","l","a","HeroBannerMedia","isPlaying","togglePausePlay","videoPauseAriaLabel","videoPlayAriaLabel","jsxs","Button","Icon","tvPause","playFilled","TitleHyphenVariant","HeroBanner","breadcrumbs","forceColorScheme","beforeTitle","title","titleTag","titleHyphens","preamble","additionalText","media","options","useTheme","classes","hasMedia","hasBreadcrumbs","hasAdditionalText","resolvedColorScheme","Grid","Heading","Paragraph"],"mappings":"kyEAWMA,EAAgB,qBAEhBC,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAEXC,EAAoB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,GAAGC,KAExDC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EAAO,UAAWN,EAAG,GAAGD,CAAa,YAAaM,CAAS,EACjE,SAAAD,CAAA,CACH,ECnBEI,EAAI,CACR,KAAM,cACN,IAAK,2WACL,SAAU,CAAC,aAAa,EACxB,SAAU,QACZ,ECLMC,EAAI,CACR,KAAM,WACN,IAAK,gZACL,SAAU,CAAC,UAAU,EACrB,SAAU,QACZ,ECIMV,EAAgB,qBAsBTW,EAAkB,CAAC,CAC9B,SAAAN,EACA,UAAAO,EACA,gBAAAC,EACA,oBAAAC,EACA,mBAAAC,EACA,UAAAT,EACA,GAAGC,CACL,IACEF,GACEW,EAAAA,KAAC,MAAA,CAAI,UAAAV,EAAuB,GAAGC,EAC5B,SAAA,CAAAF,EACA,CAAC,CAACQ,GACDL,EAAAA,IAACS,EAAAA,OAAA,CACC,QAAQ,UACR,SAAQ,GACR,SAAQ,GACR,QAAS,IAAM,CACbJ,EAAA,CACF,EACA,UAAWV,EAAO,GAAGH,CAAa,gBAAgB,EAClD,aAAYY,EAAYE,EAAsBC,EAE9C,eAACG,EAAAA,EAAA,CAAK,KAAK,KAAK,IAAKN,EAAYO,EAAUC,CAAA,CAAY,CAAA,CAAA,CACzD,EAEJ,EC3CEnB,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAEXkB,EAAqB,CAChC,QAAS,UACT,QAAS,UACT,SAAU,UACZ,EA2CMrB,EAAgB,qBAETsB,EAAa,CAAC,CACzB,SAAAjB,EACA,UAAAC,EACA,YAAAiB,EACA,iBAAAC,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EAAW,KACX,aAAAC,EAAe,UACf,SAAAC,EACA,eAAAC,EACA,MAAAC,EACA,GAAGxB,CACL,IAAuB,CACrB,KAAM,CAAE,QAAAyB,CAAA,EAAYC,WAAA,EACdC,EAAUjC,EAAG,CAACD,EAAeM,CAAS,CAAC,EAEvC6B,EAAW,EAAQJ,EACnBK,EAAiB,EAAQb,EACzBc,EAAoB,EAAQP,EAE5BQ,EAAsBd,GAAoBQ,GAAS,sBAEzD,aACG,UAAA,CAAQ,oBAAmBM,EAAqB,UAAWJ,EAAU,GAAG3B,EACvE,SAAAS,EAAAA,KAACuB,EAAAA,KAAA,CACC,MAAK,GACL,UAAWtC,EAAG,CACZ,GAAGD,CAAa,cAChB,CACE,CAAC,GAAGA,CAAa,yBAAyB,EAAGmC,EAC7C,CAAC,GAAGnC,CAAa,uBAAuB,EAAG,CAACmC,CAAA,CAC9C,CACD,EACD,mBAAoBlC,EAAG,GAAGD,CAAa,kBAAkB,EAExD,SAAA,CAAAuB,GAAef,EAAAA,IAAC,OAAI,UAAWP,EAAG,GAAGD,CAAa,eAAe,EAAI,SAAAuB,CAAA,CAAY,EAElFf,EAAAA,IAAC,MAAA,CAAI,UAAWP,EAAG,CAAC,GAAGD,CAAa,UAAW,GAAGA,CAAa,aAAa,CAAC,EAC1E,SAAA+B,EACH,EAEAf,EAAAA,KAAC,MAAA,CACC,UAAWf,EAAG,CACZ,GAAGD,CAAa,YAChB,CACE,CAAC,GAAGA,CAAa,qBAAqB,EAAG,CAACmC,EAC1C,CAAC,GAAGnC,CAAa,2BAA2B,EAAG,CAACoC,EAChD,CAAC,GAAGpC,CAAa,+BAA+B,EAAG,CAACqC,CAAA,CACtD,CACD,EAED,SAAA,CAAArB,EAAAA,KAAC,MAAA,CACC,UAAWf,EAAG,CACZ,GAAGD,CAAa,iBAChB,CACE,CAAC,GAAGA,CAAa,0BAA0B,EAAG,CAACmC,CAAA,CACjD,CACD,EAEA,SAAA,CAAAV,EACAC,GACClB,EAAAA,IAACgC,EAAAA,QAAA,CACC,SAAQ,GACR,IAAKb,EACL,QAAQ,aACR,UAAW1B,EAAG,CACZ,GAAGD,CAAa,UAChB,GAAGA,CAAa,oBAAoB4B,CAAY,EAAA,CACjD,EAEA,SAAAF,CAAA,CAAA,EAGJG,GACCrB,EAAAA,IAACiC,EAAAA,UAAA,CACC,SAAQ,GACR,QAAQ,eACR,UAAWxC,EAAG,GAAGD,CAAa,YAAY,EAEzC,SAAA6B,CAAA,CAAA,EAGJxB,SAAa,MAAA,CAAI,UAAWJ,EAAG,GAAGD,CAAa,kBAAkB,EAAI,SAAAK,CAAA,CAAS,CAAA,CAAA,CAAA,EAGhFyB,GACCtB,EAAAA,IAACiC,EAAAA,UAAA,CACC,SAAQ,GACR,QAAQ,iBACR,UAAWtC,EAAO,GAAGH,CAAa,mBAAmB,EAEpD,SAAA8B,CAAA,CAAA,CACH,CAAA,CAAA,EAIJtB,EAAAA,IAAC,MAAA,CAAI,UAAWP,EAAG,CAAC,GAAGD,CAAa,UAAW,GAAGA,CAAa,aAAa,CAAC,EAC1E,SAAA+B,CAAA,CACH,CAAA,CAAA,CAAA,EAEJ,CAEJ,EAEAT,EAAW,YAAc,aAEzBA,EAAW,MAAQX,EACnBW,EAAW,QAAUlB"}
@@ -1,2 +0,0 @@
1
- "use strict";const i=require("react/jsx-runtime"),n=require("react"),X=require("./icon-DNHpBTHs-faYHqTXU.js"),G=require("./bind-DeUYJ6m9.js"),Y=require("./button-DmybVApa.js"),P=require("./field-error-text-FhQulSV5.js"),ee=require("./field-helper-text-DSKO-Tce.js"),te=require("./check-circle-filled.es-5-GXE9l4.js"),ie=require("./close.es-VL3lKi1O.js"),ae=require("./label-yHK80hhV.js"),re=require("./spinner-tKunS_o-.js"),ne={name:"edit-ai",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M18.175 22.5c.464-.002.856-.304.978-.755.41-1.533 1.255-2.463 2.655-2.926a1.02 1.02 0 0 0 .015-1.93c-1.437-.508-2.283-1.434-2.664-2.919a1.017 1.017 0 0 0-.974-.766c-.445.02-.865.305-.986.747-.422 1.518-1.267 2.447-2.661 2.923a1.02 1.02 0 0 0-.686.969c0 .436.278.824.686.961 1.4.479 2.243 1.414 2.657 2.946.12.442.523.75.978.75h.002Zm-1.788-4.66a5.334 5.334 0 0 0 1.78-1.867 5.323 5.323 0 0 0 1.792 1.87 5.256 5.256 0 0 0-1.787 1.88 5.326 5.326 0 0 0-1.785-1.883Zm4.668-12.884L18.19 2.091a1.9 1.9 0 0 0-2.687 0l-11.37 11.37a.9.9 0 0 0-.212.335L1.556 20.44a.9.9 0 0 0 1.15 1.15l6.644-2.365a.9.9 0 0 0 .335-.212l11.37-11.37a1.9 1.9 0 0 0 0-2.687ZM3.888 19.26l1.253-3.518 2.264 2.264-3.517 1.254ZM19.781 6.37 9.048 17.104 6.04 14.098l8.16-8.16 1.504 1.503a.9.9 0 1 0 1.273-1.273l-1.504-1.503 1.302-1.3a.1.1 0 0 1 .14 0l2.865 2.864a.1.1 0 0 1 0 .141Z"/></svg>',keywords:["edit-ai"],category:"ai"},J=t=>i.jsx(X.b,{...t,svg:ne});J.displayName="IconEditAi";const K={"purpur-text-field-ai":"_purpur-text-field-ai_xb5id_1","purpur-text-field-ai__label":"_purpur-text-field-ai__label_xb5id_7","purpur-text-field-ai__label-text":"_purpur-text-field-ai__label-text_xb5id_12","purpur-text-field-ai__field-row":"_purpur-text-field-ai__field-row_xb5id_15","purpur-text-field-ai__frame":"_purpur-text-field-ai__frame_xb5id_19","purpur-text-field-ai__frame--negative":"_purpur-text-field-ai__frame--negative_xb5id_26","purpur-text-field-ai__input-container":"_purpur-text-field-ai__input-container_xb5id_29","purpur-text-field-ai__input-container--disabled":"_purpur-text-field-ai__input-container--disabled_xb5id_40","purpur-text-field-ai__input-container--readonly":"_purpur-text-field-ai__input-container--readonly_xb5id_43","purpur-text-field-ai__input-container--has-clear-button":"_purpur-text-field-ai__input-container--has-clear-button_xb5id_46","purpur-text-field-ai__input-container--end-adornment":"_purpur-text-field-ai__input-container--end-adornment_xb5id_49","purpur-text-field-ai__input":"_purpur-text-field-ai__input_xb5id_29","purpur-text-field-ai__input-container--start-adornment":"_purpur-text-field-ai__input-container--start-adornment_xb5id_55","purpur-text-field-ai__input-container--negative":"_purpur-text-field-ai__input-container--negative_xb5id_61","purpur-text-field-ai__valid-icon":"_purpur-text-field-ai__valid-icon_xb5id_86","purpur-text-field-ai__valid-icon--negative":"_purpur-text-field-ai__valid-icon--negative_xb5id_89","purpur-text-field-ai__frame--ai":"_purpur-text-field-ai__frame--ai_xb5id_95","purpur-text-field-ai__ai-icon":"_purpur-text-field-ai__ai-icon_xb5id_112","purpur-text-field-ai__input--ai":"_purpur-text-field-ai__input--ai_xb5id_167","purpur-text-field-ai__input--valid":"_purpur-text-field-ai__input--valid_xb5id_179","purpur-text-field-ai__input--error":"_purpur-text-field-ai__input--error_xb5id_179","purpur-text-field-ai__input--negative":"_purpur-text-field-ai__input--negative_xb5id_227","purpur-text-field-ai__adornment-container":"_purpur-text-field-ai__adornment-container_xb5id_246","purpur-text-field-ai__ai-icon--negative":"_purpur-text-field-ai__ai-icon--negative_xb5id_256"},ue={"purpur-text-field-default":"_purpur-text-field-default_111s2_1","purpur-text-field-default__label":"_purpur-text-field-default__label_111s2_7","purpur-text-field-default__label-text":"_purpur-text-field-default__label-text_111s2_12","purpur-text-field-default__field-row":"_purpur-text-field-default__field-row_111s2_15","purpur-text-field-default__frame":"_purpur-text-field-default__frame_111s2_19","purpur-text-field-default__frame--negative":"_purpur-text-field-default__frame--negative_111s2_26","purpur-text-field-default__input-container":"_purpur-text-field-default__input-container_111s2_29","purpur-text-field-default__input-container--disabled":"_purpur-text-field-default__input-container--disabled_111s2_40","purpur-text-field-default__input-container--readonly":"_purpur-text-field-default__input-container--readonly_111s2_43","purpur-text-field-default__input-container--has-clear-button":"_purpur-text-field-default__input-container--has-clear-button_111s2_46","purpur-text-field-default__input-container--end-adornment":"_purpur-text-field-default__input-container--end-adornment_111s2_49","purpur-text-field-default__input":"_purpur-text-field-default__input_111s2_29","purpur-text-field-default__input-container--start-adornment":"_purpur-text-field-default__input-container--start-adornment_111s2_55","purpur-text-field-default__input-container--negative":"_purpur-text-field-default__input-container--negative_111s2_61","purpur-text-field-default__valid-icon":"_purpur-text-field-default__valid-icon_111s2_86","purpur-text-field-default__valid-icon--negative":"_purpur-text-field-default__valid-icon--negative_111s2_89","purpur-text-field-default__input--valid":"_purpur-text-field-default__input--valid_111s2_118","purpur-text-field-default__input--error":"_purpur-text-field-default__input--error_111s2_118","purpur-text-field-default__input--negative":"_purpur-text-field-default__input--negative_111s2_136","purpur-text-field-default__adornment-container":"_purpur-text-field-default__adornment-container_111s2_152"},le=t=>n.useRef(t),de="purpur-text-field-default",B=n.forwardRef(({["data-testid"]:t,className:x,clearButtonAriaLabel:s,beforeField:h,afterField:g,endAdornment:y,errorText:c,helperText:$,hideRequiredAsterisk:T=!1,label:C,loading:N=!1,onClear:A,startAdornment:E,valid:M=!1,negative:l=!1,_styles:S,_rootClassName:H,_prependEndAdornments:j,_inputModifiers:O,_frameModifiers:F,_inputContainerRef:w,...a},m)=>{const d=G.c.bind(S??ue),e=H??de,b=n.useId(),v=a.id??b,r=u=>t?`${t}-${u}`:void 0,Z=M&&!c,f=$?`${v}-helper-text`:void 0,I=[E].filter(u=>!!u),V=(typeof a.value=="number"?a.value!==void 0:a.value?.length)&&!a.disabled&&!a.readOnly&&!N&&A&&s,p=le(null),k=u=>{p.current=u,typeof m=="function"?m(u):m&&(m.current=u)},q=()=>{A?.(),p.current?.focus()},_=[...j??[],N&&i.jsx(re.Spinner,{disabled:a.disabled,size:"xs","data-testid":r("spinner"),negative:l},"spinner"),V&&i.jsx(Y.Button,{negative:l,variant:"tertiary-purple",onClick:q,iconOnly:!0,"aria-label":s??"","data-testid":r("clear-button"),tabIndex:-1,children:i.jsx(ie.r,{size:"xs"})},"clear-button"),Z&&i.jsx(te.r,{"data-testid":r("valid-icon"),className:d(`${e}__valid-icon`,{[`${e}__valid-icon--negative`]:l})},"valid-icon")].filter(u=>!!u),o=d(`${e}__input-container`,{[`${e}__input-container--start-adornment`]:I.length,[`${e}__input-container--end-adornment`]:_.length||y,[`${e}__input-container--disabled`]:a.disabled,[`${e}__input-container--has-clear-button`]:V,[`${e}__input-container--readonly`]:a.readOnly&&!a.disabled,[`${e}__input-container--negative`]:l});return i.jsxs("div",{className:d(x,e),children:[C&&i.jsxs(ae.Label,{htmlFor:v,className:d(`${e}__label`),"data-testid":r("label"),disabled:a.disabled,negative:l,children:[a.required&&!T&&i.jsx("span",{"aria-hidden":!0,children:"*"}),C]}),i.jsxs("div",{className:d(`${e}__field-row`),children:[!!h&&h,i.jsxs("div",{ref:w,className:o,children:[!!I.length&&i.jsx("div",{"data-testid":r("start-adornments"),className:d(`${e}__adornment-container`),children:I}),i.jsx("input",{...a,id:v,ref:k,"data-testid":r("input"),"aria-describedby":a["aria-describedby"]||f,"aria-invalid":a["aria-invalid"]||!!c,className:d([`${e}__input`,{[`${e}__input--valid`]:Z,[`${e}__input--error`]:!!c,[`${e}__input--negative`]:l,...O??{}}])}),i.jsx("div",{className:d(`${e}__frame`,{[`${e}__frame--negative`]:l,...F??{}})}),(!!_.length||y)&&i.jsxs("div",{"data-testid":r("end-adornments"),className:d(`${e}__adornment-container`),children:[_,y]})]}),!!g&&g]}),f&&i.jsx(ee.FieldHelperText,{"data-testid":r("helper-text"),id:f,negative:l,disabled:a.disabled,children:$}),c&&i.jsx(P.FieldErrorText,{"data-testid":r("error-text"),negative:l,children:c})]})});B.displayName="TextField";const _e=G.c.bind(K),R="purpur-text-field-ai",D=1400,se=t=>typeof t=="number"?!Number.isNaN(t):typeof t=="string"||Array.isArray(t)?t.length>0:t!=null,Q=n.forwardRef(({["data-testid"]:t,animatePrepopulatedValue:x=!1,typingAnimationDurationMs:s=D,endAdornment:h,value:g,defaultValue:y,onChange:c,disabled:$,readOnly:T,valid:C=!1,negative:N=!1,...A},E)=>{const M=_=>t?`${t}-${_}`:void 0,l=g!==void 0,[S,H]=n.useState(y),[j,O]=n.useState(!1),[F,w]=n.useState(!1),[a,m]=n.useState(!1),[d,e]=n.useState(null),b=n.useRef(null),v=n.useRef(null),r=l?g:S,f=se(r)&&!j,U=d!==null?d:r??"",V=f&&x&&!a&&!$&&!T,p=n.useCallback(()=>{b.current!==null&&(window.clearInterval(b.current),b.current=null)},[]),k=_=>{p(),e(null),l||H(_.currentTarget.value),O(!0),c?.(_)};n.useEffect(()=>{if(!V||typeof IntersectionObserver>"u")return;const _=v.current;if(!_)return;const o=new IntersectionObserver(u=>{u.some(W=>W.isIntersecting)&&(w(!0),m(!0),o.disconnect())},{threshold:.35});return o.observe(_),()=>o.disconnect()},[V]),n.useEffect(()=>{if(!F||j||typeof r!="string")return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches||r.length===0){w(!1);return}p(),e("");let o=0;const u=Number.isFinite(s)&&s>0?s:D,L=Math.max(20,Math.floor(u/r.length));return b.current=window.setInterval(()=>{o+=1,e(r.slice(0,o)),o>=r.length&&(p(),e(null),w(!1))},L),p},[p,j,F,s,r]),n.useEffect(()=>p,[p]);const q=[];return h===void 0&&f&&q.push(i.jsx(J,{size:"xs","data-testid":M("edit-ai-icon"),className:_e(`${R}__ai-icon`,{[`${R}__ai-icon--negative`]:N})},"ai-icon")),i.jsx(B,{ref:E,"data-testid":t,...A,endAdornment:h,value:U,onChange:k,disabled:$,readOnly:T,valid:C,negative:N,_styles:K,_rootClassName:R,_prependEndAdornments:q,_inputModifiers:{[`${R}__input--ai`]:f},_frameModifiers:{[`${R}__frame--ai`]:f},_inputContainerRef:v})});Q.displayName="TextField";const pe=["default","ai"],z=n.forwardRef(({variant:t="default",...x},s)=>t==="ai"?i.jsx(Q,{ref:s,...x}):i.jsx(B,{ref:s,...x}));z.displayName="TextField";const oe=t=>n.isValidElement(t)&&t.type.displayName===z.displayName;exports.TextField=z;exports.isTextField=oe;exports.textFieldVariants=pe;
2
- //# sourceMappingURL=text-field-CYJzQG3h.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const r=require("./ThemeProvider-D7oXcAde.js"),c=()=>{const{colorScheme:e,setColorScheme:o}=r.useTheme();return[e,o]};exports.useColorScheme=c;
2
- //# sourceMappingURL=useColorScheme-DbTQjxNB.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const r=require("./ThemeProvider-D7oXcAde.js"),t=()=>{const{portalContainer:e}=r.useTheme();return e??void 0};exports.useThemePortalContainer=t;
2
- //# sourceMappingURL=useThemePortalContainer-D9BYjEvT.js.map
@@ -1,9 +0,0 @@
1
- import { a as o } from "./ThemeProvider-DiDBfyFA.mjs";
2
- const t = () => {
3
- const { portalContainer: e } = o();
4
- return e ?? void 0;
5
- };
6
- export {
7
- t as u
8
- };
9
- //# sourceMappingURL=useThemePortalContainer-tFLTaYKN.mjs.map