@purpur/library 10.1.1 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/CHANGELOG.json +45 -0
  2. package/CHANGELOG.md +19 -1
  3. package/dist/LICENSE.txt +14 -7
  4. package/dist/{RichText-B865Qkzj.js → RichText-CeYecUFV.js} +2 -2
  5. package/dist/{RichText-B865Qkzj.js.map → RichText-CeYecUFV.js.map} +1 -1
  6. package/dist/{RichText-CPkBwXNI.mjs → RichText-CwQfDo_S.mjs} +2 -2
  7. package/dist/{RichText-CPkBwXNI.mjs.map → RichText-CwQfDo_S.mjs.map} +1 -1
  8. package/dist/{ThemeProvider-BJGm3zai.js → ThemeProvider-BGep6X_i.js} +2 -2
  9. package/dist/{ThemeProvider-BJGm3zai.js.map → ThemeProvider-BGep6X_i.js.map} +1 -1
  10. package/dist/{ThemeProvider-BJ25_asg.mjs → ThemeProvider-BrAZhasG.mjs} +13 -13
  11. package/dist/{ThemeProvider-BJ25_asg.mjs.map → ThemeProvider-BrAZhasG.mjs.map} +1 -1
  12. package/dist/components/avatar/src/avatar.d.ts +1 -1
  13. package/dist/components/card/src/card-content-container.d.ts +2 -2
  14. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
  15. package/dist/components/container/src/container.visual.fixtures.d.ts +14 -0
  16. package/dist/components/container/src/container.visual.fixtures.d.ts.map +1 -0
  17. package/dist/components/content-block/src/content-block-group.d.ts +2 -2
  18. package/dist/components/content-block/src/content-block.d.ts +2 -2
  19. package/dist/components/countdown/src/countdown.d.ts +1 -1
  20. package/dist/components/countdown/src/countdown.d.ts.map +1 -1
  21. package/dist/components/countdown/src/countdown.types.d.ts +19 -3
  22. package/dist/components/countdown/src/countdown.types.d.ts.map +1 -1
  23. package/dist/components/date-field/src/date-field.d.ts +14 -6
  24. package/dist/components/date-field/src/date-field.d.ts.map +1 -1
  25. package/dist/components/date-field/src/utils.d.ts +40 -2
  26. package/dist/components/date-field/src/utils.d.ts.map +1 -1
  27. package/dist/components/date-picker/src/date-picker.d.ts +4 -4
  28. package/dist/components/date-range-field/src/date-range-field.d.ts +3 -1
  29. package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
  30. package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts +2 -2
  31. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +2 -2
  32. package/dist/components/drawer/src/drawer-container.d.ts +2 -2
  33. package/dist/components/drawer/src/drawer-content.d.ts +2 -2
  34. package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
  35. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  36. package/dist/components/dropdown/src/dropdown-shared.d.ts +3 -1
  37. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  38. package/dist/components/dropdown/src/dropdown.types.d.ts +3 -0
  39. package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
  40. package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
  41. package/dist/components/field-error-text/src/field-error-text.d.ts +1 -1
  42. package/dist/components/file-upload/src/file-upload-types.d.ts +1 -1
  43. package/dist/components/footer/src/footer-navigation.d.ts +2 -2
  44. package/dist/components/footer/src/footer-social-link.d.ts +2 -2
  45. package/dist/components/footer/src/footer.d.ts +3 -3
  46. package/dist/components/hero-banner/src/hero-banner-actions.d.ts +2 -2
  47. package/dist/components/hero-banner/src/hero-banner-media.d.ts +2 -2
  48. package/dist/components/hero-banner/src/hero-banner-types.d.ts +3 -3
  49. package/dist/components/link/src/link.d.ts +1 -1
  50. package/dist/components/listbox/src/listbox-item.d.ts +2 -2
  51. package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
  52. package/dist/components/modal/src/modal-content.d.ts +2 -2
  53. package/dist/components/modal/src/modal-trigger.d.ts +2 -2
  54. package/dist/components/pagination/src/pagination-page-selector.d.ts +2 -2
  55. package/dist/components/pagination/src/pagination-page-trigger.d.ts +2 -2
  56. package/dist/components/pagination/src/pagination-step-trigger.d.ts +1 -1
  57. package/dist/components/pagination/src/types.d.ts +2 -2
  58. package/dist/components/pagination/src/use-page-options.hook.d.ts +2 -2
  59. package/dist/components/pagination/src/use-page-size-options.hook.d.ts +2 -2
  60. package/dist/components/password-field/src/password-field.d.ts +1 -1
  61. package/dist/components/password-field/src/password-strength-indicator.d.ts +2 -2
  62. package/dist/components/password-field/src/password-strength.d.ts +2 -2
  63. package/dist/components/popover/src/popover-button.d.ts +2 -2
  64. package/dist/components/product-card/src/product-card.d.ts +3 -3
  65. package/dist/components/promotion-card/src/promotion-card.d.ts +3 -3
  66. package/dist/components/quantity-selector/src/quantity-selector.d.ts +1 -1
  67. package/dist/components/radio-button-group/src/radio-button-group-root.d.ts +3 -3
  68. package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
  69. package/dist/components/rich-text/src/types.d.ts +1 -1
  70. package/dist/components/search-field/src/search-field-autocomplete.d.ts +7 -4
  71. package/dist/components/search-field/src/search-field-autocomplete.d.ts.map +1 -1
  72. package/dist/components/search-field/src/search-field-base.d.ts +4 -2
  73. package/dist/components/search-field/src/search-field-base.d.ts.map +1 -1
  74. package/dist/components/search-field/src/search-field.d.ts +12 -6
  75. package/dist/components/search-field/src/search-field.d.ts.map +1 -1
  76. package/dist/components/spinner/src/spinner.d.ts +1 -1
  77. package/dist/components/stepper/src/stepper-container.d.ts +2 -2
  78. package/dist/components/stepper/src/stepper-content.d.ts +2 -2
  79. package/dist/components/stepper/src/stepper-link.d.ts +1 -1
  80. package/dist/components/stepper/src/stepper.d.ts +1 -1
  81. package/dist/components/table/src/cell-types/button-group-cell.d.ts +3 -3
  82. package/dist/components/table/src/table-content.d.ts +2 -2
  83. package/dist/components/table/src/table.d.ts +2 -2
  84. package/dist/components/table/src/types.d.ts +4 -4
  85. package/dist/components/tabs/src/tab-content.d.ts +2 -2
  86. package/dist/components/text-field/src/text-field.d.ts +1 -1
  87. package/dist/components/text-spacing/src/text-spacing.d.ts +1 -1
  88. package/dist/components/toggle/src/toggle.d.ts +1 -1
  89. package/dist/components/tooltip/src/tooltip.d.ts +3 -3
  90. package/dist/components-metadata.js +1 -0
  91. package/dist/countdown-CdGFNLZq.js +2 -0
  92. package/dist/countdown-CdGFNLZq.js.map +1 -0
  93. package/dist/countdown-G7eg3CZj.mjs +188 -0
  94. package/dist/countdown-G7eg3CZj.mjs.map +1 -0
  95. package/dist/countdown.cjs.js +1 -1
  96. package/dist/countdown.es.js +1 -1
  97. package/dist/date-field-D8yGH1mw.js +2 -0
  98. package/dist/{date-field-CtpWDaSh.js.map → date-field-D8yGH1mw.js.map} +1 -1
  99. package/dist/{date-field-_rCuf15v.mjs → date-field-DVMPYoLT.mjs} +361 -311
  100. package/dist/{date-field-_rCuf15v.mjs.map → date-field-DVMPYoLT.mjs.map} +1 -1
  101. package/dist/date-field.cjs.js +1 -1
  102. package/dist/date-field.es.js +1 -1
  103. package/dist/{date-picker-sqcNAplg.mjs → date-picker-Ban9DLsx.mjs} +6 -6
  104. package/dist/{date-picker-sqcNAplg.mjs.map → date-picker-Ban9DLsx.mjs.map} +1 -1
  105. package/dist/{date-picker-BYlszX1W.js → date-picker-re3cPV_Z.js} +2 -2
  106. package/dist/{date-picker-BYlszX1W.js.map → date-picker-re3cPV_Z.js.map} +1 -1
  107. package/dist/date-picker.cjs.js +1 -1
  108. package/dist/date-picker.es.js +1 -1
  109. package/dist/date-range-field-8JmPw-Ei.js +2 -0
  110. package/dist/date-range-field-8JmPw-Ei.js.map +1 -0
  111. package/dist/{date-range-field-BmjQeiOv.mjs → date-range-field-dmJO66U_.mjs} +64 -61
  112. package/dist/date-range-field-dmJO66U_.mjs.map +1 -0
  113. package/dist/date-range-field.cjs.js +1 -1
  114. package/dist/date-range-field.es.js +1 -1
  115. package/dist/dismissable-chip-group-CVo3CS8K.js +2 -0
  116. package/dist/dismissable-chip-group-CVo3CS8K.js.map +1 -0
  117. package/dist/dismissable-chip-group-Dov2-9Fe.mjs +95 -0
  118. package/dist/dismissable-chip-group-Dov2-9Fe.mjs.map +1 -0
  119. package/dist/dismissable-chip-group.cjs.js +1 -1
  120. package/dist/dismissable-chip-group.es.js +1 -1
  121. package/dist/{drawer-oFJcxW58.js → drawer-CSagTJjN.js} +2 -2
  122. package/dist/{drawer-oFJcxW58.js.map → drawer-CSagTJjN.js.map} +1 -1
  123. package/dist/{drawer-Chx3H8EU.mjs → drawer-Cw-Y9XH9.mjs} +3 -3
  124. package/dist/{drawer-Chx3H8EU.mjs.map → drawer-Cw-Y9XH9.mjs.map} +1 -1
  125. package/dist/drawer.cjs.js +1 -1
  126. package/dist/drawer.es.js +1 -1
  127. package/dist/dropdown-BAM4nQhd.mjs +955 -0
  128. package/dist/dropdown-BAM4nQhd.mjs.map +1 -0
  129. package/dist/dropdown-Cr8DVw2T.js +2 -0
  130. package/dist/dropdown-Cr8DVw2T.js.map +1 -0
  131. package/dist/dropdown.cjs.js +1 -1
  132. package/dist/dropdown.es.js +1 -1
  133. package/dist/{file-upload-MvNuX4ks.js → file-upload-CdlYkCg8.js} +2 -2
  134. package/dist/{file-upload-MvNuX4ks.js.map → file-upload-CdlYkCg8.js.map} +1 -1
  135. package/dist/{file-upload-Ctw6LCTU.mjs → file-upload-ih5NqF67.mjs} +2 -2
  136. package/dist/{file-upload-Ctw6LCTU.mjs.map → file-upload-ih5NqF67.mjs.map} +1 -1
  137. package/dist/file-upload.cjs.js +1 -1
  138. package/dist/file-upload.es.js +1 -1
  139. package/dist/{footer-DkVmTd-f.mjs → footer-CVVt8hUE.mjs} +3 -3
  140. package/dist/{footer-DkVmTd-f.mjs.map → footer-CVVt8hUE.mjs.map} +1 -1
  141. package/dist/{footer-Bbemct3Z.js → footer-Cat9-v7l.js} +2 -2
  142. package/dist/{footer-Bbemct3Z.js.map → footer-Cat9-v7l.js.map} +1 -1
  143. package/dist/footer.cjs.js +1 -1
  144. package/dist/footer.es.js +1 -1
  145. package/dist/{hero-banner-Mag1OwL4.js → hero-banner-BNw3eNTs.js} +2 -2
  146. package/dist/{hero-banner-Mag1OwL4.js.map → hero-banner-BNw3eNTs.js.map} +1 -1
  147. package/dist/{hero-banner-ChDoFRhq.mjs → hero-banner-MnKuFSku.mjs} +2 -2
  148. package/dist/{hero-banner-ChDoFRhq.mjs.map → hero-banner-MnKuFSku.mjs.map} +1 -1
  149. package/dist/hero-banner.cjs.js +1 -1
  150. package/dist/hero-banner.es.js +1 -1
  151. package/dist/libraries/library/src/quantity-selector.d.ts +2 -2
  152. package/dist/libraries/library/src/toggle.d.ts +2 -2
  153. package/dist/libraries/theme/src/theme-props.d.ts +1 -0
  154. package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
  155. package/dist/libraries/tokens/dist/color/variables.d.ts +1 -0
  156. package/dist/libraries/tokens/dist/color/variables.dark.d.ts +1 -0
  157. package/dist/library.cjs.js +1 -1
  158. package/dist/library.es.js +293 -292
  159. package/dist/{modal-CXOYUsJm.js → modal-BSN-wIcN.js} +2 -2
  160. package/dist/{modal-CXOYUsJm.js.map → modal-BSN-wIcN.js.map} +1 -1
  161. package/dist/{modal-Pwvhrzn-.mjs → modal-CnzUgU97.mjs} +3 -3
  162. package/dist/{modal-Pwvhrzn-.mjs.map → modal-CnzUgU97.mjs.map} +1 -1
  163. package/dist/modal.cjs.js +1 -1
  164. package/dist/modal.es.js +1 -1
  165. package/dist/{popover-B6ntmuEK.mjs → popover-B-oWzP-0.mjs} +3 -3
  166. package/dist/{popover-B6ntmuEK.mjs.map → popover-B-oWzP-0.mjs.map} +1 -1
  167. package/dist/{popover-DJHMEFXP.js → popover-BzoAQW0i.js} +2 -2
  168. package/dist/{popover-DJHMEFXP.js.map → popover-BzoAQW0i.js.map} +1 -1
  169. package/dist/popover.cjs.js +1 -1
  170. package/dist/popover.es.js +1 -1
  171. package/dist/{promotion-card-B3mz__m7.js → promotion-card-B8bnNVZ-.js} +2 -2
  172. package/dist/{promotion-card-B3mz__m7.js.map → promotion-card-B8bnNVZ-.js.map} +1 -1
  173. package/dist/{promotion-card-Co6qAkTZ.mjs → promotion-card-DwNbzSK3.mjs} +2 -2
  174. package/dist/{promotion-card-Co6qAkTZ.mjs.map → promotion-card-DwNbzSK3.mjs.map} +1 -1
  175. package/dist/promotion-card.cjs.js +1 -1
  176. package/dist/promotion-card.es.js +1 -1
  177. package/dist/purpur.css +1 -1
  178. package/dist/rich-text.cjs.js +1 -1
  179. package/dist/rich-text.es.js +1 -1
  180. package/dist/search-field-BR4gETPP.js +2 -0
  181. package/dist/search-field-BR4gETPP.js.map +1 -0
  182. package/dist/search-field-DyBcoB9g.mjs +186 -0
  183. package/dist/search-field-DyBcoB9g.mjs.map +1 -0
  184. package/dist/search-field.cjs.js +1 -1
  185. package/dist/search-field.es.js +1 -1
  186. package/dist/{stepper-D59T-Y2_.mjs → stepper-CGBjyjVw.mjs} +2 -2
  187. package/dist/{stepper-D59T-Y2_.mjs.map → stepper-CGBjyjVw.mjs.map} +1 -1
  188. package/dist/{stepper-Dao4XaDV.js → stepper-CbcFVE3v.js} +2 -2
  189. package/dist/{stepper-Dao4XaDV.js.map → stepper-CbcFVE3v.js.map} +1 -1
  190. package/dist/stepper.cjs.js +1 -1
  191. package/dist/stepper.es.js +1 -1
  192. package/dist/{table-CllIkAkM.js → table-CFBK5Gv4.js} +3 -3
  193. package/dist/{table-CllIkAkM.js.map → table-CFBK5Gv4.js.map} +1 -1
  194. package/dist/{table-7-6k_wGH.mjs → table-PdfWMFks.mjs} +8 -8
  195. package/dist/{table-7-6k_wGH.mjs.map → table-PdfWMFks.mjs.map} +1 -1
  196. package/dist/table.cjs.js +1 -1
  197. package/dist/table.es.js +1 -1
  198. package/dist/{text-area-9RUldq6W.js → text-area-AHqUSmEE.js} +2 -2
  199. package/dist/{text-area-9RUldq6W.js.map → text-area-AHqUSmEE.js.map} +1 -1
  200. package/dist/{text-area-C58aZEPa.mjs → text-area-DabB5eo_.mjs} +3 -3
  201. package/dist/{text-area-C58aZEPa.mjs.map → text-area-DabB5eo_.mjs.map} +1 -1
  202. package/dist/text-area.cjs.js +1 -1
  203. package/dist/text-area.es.js +1 -1
  204. package/dist/{text-spacing-BU0mkEf9.mjs → text-spacing-Bmkv_rmc.mjs} +3 -3
  205. package/dist/{text-spacing-BU0mkEf9.mjs.map → text-spacing-Bmkv_rmc.mjs.map} +1 -1
  206. package/dist/{text-spacing-CiGPZHuB.js → text-spacing-CdnbUO6z.js} +2 -2
  207. package/dist/{text-spacing-CiGPZHuB.js.map → text-spacing-CdnbUO6z.js.map} +1 -1
  208. package/dist/text-spacing.cjs.js +1 -1
  209. package/dist/text-spacing.es.js +1 -1
  210. package/dist/theme.cjs.js +1 -1
  211. package/dist/theme.es.js +3 -3
  212. package/dist/tokens/color/variables.css +1 -0
  213. package/dist/tokens/color/variables.d.ts +1 -0
  214. package/dist/tokens/color/variables.dark.css +1 -0
  215. package/dist/tokens/color/variables.dark.d.ts +1 -0
  216. package/dist/tokens/color/variables.dark.js +1 -0
  217. package/dist/tokens/color/variables.dark.json +1 -0
  218. package/dist/tokens/color/variables.dark.scss +1 -0
  219. package/dist/tokens/color/variables.js +1 -0
  220. package/dist/tokens/color/variables.json +1 -0
  221. package/dist/tokens/color/variables.scss +1 -0
  222. package/dist/tokens.cjs.js +1 -1
  223. package/dist/tokens.es.js +167 -166
  224. package/dist/{tooltip-DeP1UsPW.js → tooltip-DRW4N9Z-.js} +2 -2
  225. package/dist/{tooltip-DeP1UsPW.js.map → tooltip-DRW4N9Z-.js.map} +1 -1
  226. package/dist/{tooltip-bqdd2lJL.mjs → tooltip-DzY9olpb.mjs} +3 -3
  227. package/dist/{tooltip-bqdd2lJL.mjs.map → tooltip-DzY9olpb.mjs.map} +1 -1
  228. package/dist/tooltip.cjs.js +1 -1
  229. package/dist/tooltip.es.js +1 -1
  230. package/dist/use-autocomplete.es-CoAeiJiu.mjs +155 -0
  231. package/dist/use-autocomplete.es-CoAeiJiu.mjs.map +1 -0
  232. package/dist/use-autocomplete.es-Djt1u2i8.js +2 -0
  233. package/dist/use-autocomplete.es-Djt1u2i8.js.map +1 -0
  234. package/dist/useColorScheme-BtOgJUTy.js +2 -0
  235. package/dist/{useColorScheme-BHhPgv9q.js.map → useColorScheme-BtOgJUTy.js.map} +1 -1
  236. package/dist/{useColorScheme-B7lGBSe4.mjs → useColorScheme-DXAxJPXW.mjs} +2 -2
  237. package/dist/{useColorScheme-B7lGBSe4.mjs.map → useColorScheme-DXAxJPXW.mjs.map} +1 -1
  238. package/dist/useThemePortalContainer-Cs1c-2AI.js +2 -0
  239. package/dist/{useThemePortalContainer-CUcqV327.js.map → useThemePortalContainer-Cs1c-2AI.js.map} +1 -1
  240. package/dist/useThemePortalContainer-DeKoE-E_.mjs +9 -0
  241. package/dist/{useThemePortalContainer-D13Xx24N.mjs.map → useThemePortalContainer-DeKoE-E_.mjs.map} +1 -1
  242. package/dist/variables-CTBx79yI.js +2 -0
  243. package/dist/{variables-D1vNo1lO.js.map → variables-CTBx79yI.js.map} +1 -1
  244. package/dist/variables-Do6SfyT0.mjs +258 -0
  245. package/dist/{variables-BrsAsWIF.mjs.map → variables-Do6SfyT0.mjs.map} +1 -1
  246. package/package.json +18 -18
  247. package/src/library.ts +72 -2
  248. package/tokens/color/variables.css +1 -0
  249. package/tokens/color/variables.d.ts +1 -0
  250. package/tokens/color/variables.dark.css +1 -0
  251. package/tokens/color/variables.dark.d.ts +1 -0
  252. package/tokens/color/variables.dark.js +1 -0
  253. package/tokens/color/variables.dark.json +1 -0
  254. package/tokens/color/variables.dark.scss +1 -0
  255. package/tokens/color/variables.js +1 -0
  256. package/tokens/color/variables.json +1 -0
  257. package/tokens/color/variables.scss +1 -0
  258. package/dist/countdown-5Ni6OlVY.mjs +0 -189
  259. package/dist/countdown-5Ni6OlVY.mjs.map +0 -1
  260. package/dist/countdown-CGXJyzB2.js +0 -2
  261. package/dist/countdown-CGXJyzB2.js.map +0 -1
  262. package/dist/date-field-CtpWDaSh.js +0 -2
  263. package/dist/date-range-field-B33XeBW8.js +0 -2
  264. package/dist/date-range-field-B33XeBW8.js.map +0 -1
  265. package/dist/date-range-field-BmjQeiOv.mjs.map +0 -1
  266. package/dist/dismissable-chip-group-5ALErhD2.js +0 -2
  267. package/dist/dismissable-chip-group-5ALErhD2.js.map +0 -1
  268. package/dist/dismissable-chip-group-DMNU7g5e.mjs +0 -94
  269. package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +0 -1
  270. package/dist/dropdown-B7W5fErJ.js +0 -2
  271. package/dist/dropdown-B7W5fErJ.js.map +0 -1
  272. package/dist/dropdown-CxEElxNf.mjs +0 -952
  273. package/dist/dropdown-CxEElxNf.mjs.map +0 -1
  274. package/dist/search-field-BTJtRyw5.mjs +0 -184
  275. package/dist/search-field-BTJtRyw5.mjs.map +0 -1
  276. package/dist/search-field-nzVXak1a.js +0 -2
  277. package/dist/search-field-nzVXak1a.js.map +0 -1
  278. package/dist/use-autocomplete.es-BwAzMcau.js +0 -2
  279. package/dist/use-autocomplete.es-BwAzMcau.js.map +0 -1
  280. package/dist/use-autocomplete.es-CKb0RHKG.mjs +0 -144
  281. package/dist/use-autocomplete.es-CKb0RHKG.mjs.map +0 -1
  282. package/dist/useColorScheme-BHhPgv9q.js +0 -2
  283. package/dist/useThemePortalContainer-CUcqV327.js +0 -2
  284. package/dist/useThemePortalContainer-D13Xx24N.mjs +0 -9
  285. package/dist/variables-BrsAsWIF.mjs +0 -257
  286. package/dist/variables-D1vNo1lO.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload-Ctw6LCTU.mjs","sources":["../../../components/icon/dist/components/remove.es.js","../../../components/icon/dist/components/attachment.es.js","../../../components/icon/dist/components/upload.es.js","../../../components/file-upload/src/file-upload-button.tsx","../../../components/illustrative-icon/dist/_commonjsHelpers-C6fGbg64.mjs","../../../components/illustrative-icon/dist/static-illustrative-icon-B1ddcvze.mjs","../../../components/illustrative-icon/dist/components/document-attach-duocolor-static.es.js","../../../components/illustrative-icon/dist/components/document-upload-duocolor-static.es.js","../../../components/file-upload/src/file-upload-drag-and-drop.tsx","../../../components/file-upload/src/file-upload-file-name-label.tsx","../../../components/icon/dist/components/doc.es.js","../../../components/icon/dist/components/document-doc.es.js","../../../components/icon/dist/components/document-excel.es.js","../../../components/icon/dist/components/document-pdf.es.js","../../../components/icon/dist/components/document-ppt.es.js","../../../components/icon/dist/components/image.es.js","../../../components/icon/dist/components/video.es.js","../../../components/icon/dist/components/volume.es.js","../../../components/file-upload/src/file-upload-icon.tsx","../../../components/file-upload/src/file-upload-utils.ts","../../../components/file-upload/src/file-upload.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst v = {\n name: \"remove\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M7.6 2.5a.9.9 0 0 1 .9-.9h7a.9.9 0 0 1 .9.9v2.6h4.1a.9.9 0 0 1 0 1.8h-17a.9.9 0 0 1 0-1.8h11.1V3.4H9.4v.1a.9.9 0 0 1-1.8 0v-1ZM5 8.1a.9.9 0 0 1 .9.9v11.6h12.2V9a.9.9 0 1 1 1.8 0v12.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V9a.9.9 0 0 1 .9-.9Zm4.5 1a.9.9 0 0 1 .9.9v8a.9.9 0 0 1-1.8 0v-8a.9.9 0 0 1 .9-.9Zm5 0a.9.9 0 0 1 .9.9v8a.9.9 0 0 1-1.8 0v-8a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"remove\"],\n category: \"action\"\n}, r = (o) => /* @__PURE__ */ a(e, { ...o, svg: v });\nr.displayName = \"IconRemove\";\nexport {\n r as IconRemove\n};\n//# sourceMappingURL=remove.es.js.map\n","import { jsx as a } from \"react/jsx-runtime\";\nimport { I as o } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"attachment\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M15.654 3.87a3.872 3.872 0 0 1 5.484 0 3.913 3.913 0 0 1 0 5.5L10.934 19.636a5.34 5.34 0 0 1-7.588 0l-.002-.002a5.42 5.42 0 0 1 0-7.613l.004-.004 8.016-8.015a.9.9 0 0 1 1.272 1.273l-8.013 8.013a3.62 3.62 0 0 0 0 5.08 3.54 3.54 0 0 0 5.035-.002L19.862 8.102a2.113 2.113 0 0 0 0-2.962 2.072 2.072 0 0 0-2.931 0l-9.396 9.456a.607.607 0 0 0 0 .847c.226.228.6.228.827 0l.002-.002 3-3a.9.9 0 0 1 1.272 1.273L9.638 16.71a2.386 2.386 0 0 1-3.38 0 2.406 2.406 0 0 1 0-3.385l9.396-9.456Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"attachment\"],\n category: \"action\"\n}, l = (t) => /* @__PURE__ */ a(o, { ...t, svg: e });\nl.displayName = \"IconAttachment\";\nexport {\n l as IconAttachment\n};\n//# sourceMappingURL=attachment.es.js.map\n","import { jsx as a } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"upload\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M1.6 2.5a.9.9 0 0 1 .9-.9h19a.9.9 0 0 1 .9.9V13a.9.9 0 0 1-1.8 0V3.4H3.4V13a.9.9 0 0 1-1.8 0V2.5Zm9.764 4.864a.9.9 0 0 1 1.272 0l5 5a.9.9 0 1 1-1.272 1.272L12.9 10.173V21.5a.9.9 0 0 1-1.8 0V10.173l-3.464 3.463a.9.9 0 0 1-1.272-1.272l5-5Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"upload\"],\n category: \"action\"\n}, r = (o) => /* @__PURE__ */ a(l, { ...o, svg: e });\nr.displayName = \"IconUpload\";\nexport {\n r as IconUpload\n};\n//# sourceMappingURL=upload.es.js.map\n","import React, { type ReactNode, useEffect, useId, useRef } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconAttachment } from \"@purpur/icon/attachment\";\nimport { IconUpload } from \"@purpur/icon/upload\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-button.module.scss\";\nimport type { FileUploadProps } from \"./file-upload-types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-button\";\n\ntype Props = {\n accept?: string;\n children: ReactNode;\n disabled?: boolean;\n /** The full, merged list of files currently shown, kept in sync with the input's own file list. */\n files: File[];\n /**\n * Whether the trigger renders as a real, focusable button. Set to `false` when the\n * whole surrounding area (e.g. the drag-and-drop drop zone) is the actual clickable\n * control, so the visible trigger is just a \"fake\" button used for styling only.\n */\n interactive?: boolean;\n multiple: boolean;\n onFilesChange: (files: FileList | null | undefined) => void;\n useMediaQueries?: boolean;\n variant: FileUploadProps[\"variant\"];\n};\n\nexport const FileUploadButton = ({\n accept,\n children,\n disabled = false,\n files,\n interactive = true,\n multiple,\n onFilesChange,\n useMediaQueries = false,\n variant,\n}: Props) => {\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const icon = variant === \"attach\" ? <IconAttachment size=\"xs\" /> : <IconUpload size=\"xs\" />;\n\n // Selections can be added via drag-and-drop or merged with previous ones, so the input's own\n // file list (used e.g. when submitting a form) is kept in sync with the full list shown to the user.\n useEffect(() => {\n // jsdom (used in tests) doesn't implement DataTransfer, so skip syncing there.\n if (!inputRef.current || typeof DataTransfer === \"undefined\") {\n return;\n }\n\n const dataTransfer = new DataTransfer();\n files.forEach((file) => dataTransfer.items.add(file));\n inputRef.current.files = dataTransfer.files;\n }, [files]);\n\n const responsiveWidthClasses = {\n [`${rootClassName}--use-media-queries`]: useMediaQueries,\n [`${rootClassName}--use-container-queries`]: !useMediaQueries,\n };\n\n return (\n <>\n <input\n id={inputId}\n ref={inputRef}\n className={cx(`${rootClassName}__input`)}\n type=\"file\"\n accept={accept}\n disabled={disabled}\n multiple={multiple}\n tabIndex={interactive ? -1 : undefined}\n onFocus={\n interactive\n ? () => {\n // The browser moves focus to the (visually hidden) file input once the\n // file selection dialog closes. Send it back to the visible trigger\n // button so keyboard/focus-visible styling stays on the upload area.\n buttonRef.current?.focus();\n }\n : undefined\n }\n onChange={(e) => {\n onFilesChange(e.target.files);\n e.target.value = \"\";\n }}\n name=\"upload\"\n />\n {interactive ? (\n <Button\n ref={buttonRef}\n variant=\"secondary\"\n aria-controls={inputId}\n className={cx(rootClassName, responsiveWidthClasses)}\n onClick={() => inputRef.current?.click()}\n disabled={disabled}\n fullWidth\n >\n {icon}\n {children}\n </Button>\n ) : (\n <span\n className={cx(\n [\n rootClassName,\n `${rootClassName}--fake`,\n `${rootClassName}--fake--secondary`,\n `${rootClassName}--fake--md`,\n ],\n { [`${rootClassName}--fake--disabled`]: disabled },\n responsiveWidthClasses\n )}\n >\n {children}\n </span>\n )}\n </>\n );\n};\n","function e(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nexport {\n e as g\n};\n//# sourceMappingURL=_commonjsHelpers-C6fGbg64.mjs.map\n","import { jsx as c } from \"react/jsx-runtime\";\nimport { forwardRef as p } from \"react\";\nimport { g as f } from \"./_commonjsHelpers-C6fGbg64.mjs\";\nvar u = { exports: {} };\nvar l;\nfunction v() {\n return l || (l = 1, (function(n) {\n (function() {\n var e = {}.hasOwnProperty;\n function i() {\n for (var t = \"\", r = 0; r < arguments.length; r++) {\n var s = arguments[r];\n s && (t = a(t, o.call(this, s)));\n }\n return t;\n }\n function o(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return i.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var r = \"\";\n for (var s in t)\n e.call(t, s) && t[s] && (r = a(r, this && this[s] || s));\n return r;\n }\n function a(t, r) {\n return r ? t ? t + \" \" + r : t + r : t;\n }\n n.exports ? (i.default = i, n.exports = i) : window.classNames = i;\n })();\n })(u)), u.exports;\n}\nvar m = v();\nconst d = /* @__PURE__ */ f(m), g = {\n \"purpur-illustrative-icon\": \"_purpur-illustrative-icon_64k5d_1\"\n}, h = d.bind(g), S = \"purpur-illustrative-icon\", x = (n) => n.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), b = ({ content: n = \"\", title: e } = {}) => {\n const i = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"none\" },\n { name: \"viewBox\", value: \"0 0 64 64\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], o = e ? `<title>${e}</title>` : \"\";\n return `<svg ${x(i)}>${o}${n}</svg>`;\n}, y = (n) => n.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), w = p(\n ({ svg: n, allyTitle: e, className: i, ...o }, a) => {\n const t = b({\n content: y(n),\n title: e\n });\n return /* @__PURE__ */ c(\n \"span\",\n {\n className: h(S, i),\n dangerouslySetInnerHTML: { __html: t },\n ref: a,\n ...o\n }\n );\n }\n);\nw.displayName = \"StaticIllustrativeIcon\";\nexport {\n w as S\n};\n//# sourceMappingURL=static-illustrative-icon-B1ddcvze.mjs.map\n","import { jsx as t } from \"react/jsx-runtime\";\nimport { S as c } from \"../static-illustrative-icon-B1ddcvze.mjs\";\nconst v = {\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 64 64\"><path fill=\"#990AE3\" d=\"M30.14 43.815a3.925 3.925 0 0 1-3.92-3.92v-10.21a2.953 2.953 0 0 1 2.95-2.95 2.953 2.953 0 0 1 2.95 2.95v6.67a.5.5 0 1 1-1 0v-6.67c0-1.075-.875-1.95-1.95-1.95-1.076 0-1.95.875-1.95 1.95v10.21c0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92v-11.93c0-2.09-1.7-3.79-3.79-3.79s-3.79 1.7-3.79 3.79v6.71a.5.5 0 1 1-1 0v-6.71a4.795 4.795 0 0 1 4.79-4.79 4.795 4.795 0 0 1 4.79 4.79v11.93a3.925 3.925 0 0 1-3.92 3.92Z\"/><path fill=\"#29003E\" d=\"M47.59 56.335H14.35c-.85 0-1.54-.69-1.54-1.54v-42.59c0-.85.69-1.54 1.54-1.54h24.5c.417 0 .805.158 1.093.446l7.7 7.7c.288.288.447.676.447 1.094v32.9a.5.5 0 1 1-1 0v-32.9a.541.541 0 0 0-.154-.387l-7.7-7.7a.534.534 0 0 0-.386-.153h-24.5a.534.534 0 0 0-.54.54v42.59c0 .302.238.54.54.54h33.24a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M47.33 20.255h-8.2a.5.5 0 0 1-.5-.5v-8.21a.5.5 0 1 1 1 0v7.71h7.7a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M50.69 51.495a.5.5 0 0 1-.5-.5v-34.09a.542.542 0 0 0-.154-.388l-7.7-7.699a.528.528 0 0 0-.386-.153h-24.5a.534.534 0 0 0-.54.54.5.5 0 1 1-1 0c0-.85.69-1.54 1.54-1.54h24.5c.416 0 .805.158 1.093.445l7.7 7.701c.289.29.447.678.447 1.094v34.09a.5.5 0 0 1-.5.5Z\"/></svg>'\n}, l = (a) => /* @__PURE__ */ t(c, { ...a, svg: v.svg });\nl.displayName = \"IllustrativeIconDocumentAttachDuocolorStatic\";\nexport {\n l as IllustrativeIconDocumentAttachDuocolorStatic\n};\n//# sourceMappingURL=document-attach-duocolor-static.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nimport { S as t } from \"../static-illustrative-icon-B1ddcvze.mjs\";\nconst o = {\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 64 64\"><path fill=\"#990AE3\" d=\"M30.45 43.685a.5.5 0 0 1-.5-.5v-11.41a.5.5 0 1 1 1 0v11.41a.5.5 0 0 1-.5.5Z\"/><path fill=\"#990AE3\" d=\"M26.44 36.215a.499.499 0 0 1-.354-.854l4.01-4.01a.5.5 0 0 1 .707 0l4.011 4.01a.5.5 0 1 1-.707.707l-3.657-3.656-3.656 3.656a.499.499 0 0 1-.354.147Z\"/><path fill=\"#990AE3\" d=\"M27.46 40.668a.395.395 0 0 1-.181-.045l-.107-.056c-2.303-1.271-3.682-3.604-3.682-6.132a6.958 6.958 0 0 1 6.95-6.95 6.959 6.959 0 0 1 6.95 6.95 6.976 6.976 0 0 1-3.696 6.15c-.242.124-.58.056-.711-.182-.13-.238-.088-.514.147-.65l.104-.056a5.974 5.974 0 0 0 3.156-5.262 5.957 5.957 0 0 0-5.95-5.95 5.956 5.956 0 0 0-5.95 5.95 5.96 5.96 0 0 0 3.082 5.212c.247.122.424.461.302.71-.091.185-.24.31-.415.31Z\"/><path fill=\"#29003E\" d=\"M47.59 56.335H14.35c-.85 0-1.54-.69-1.54-1.54v-42.59c0-.85.69-1.54 1.54-1.54h24.5c.418 0 .806.158 1.094.446l7.7 7.7c.287.288.446.677.446 1.094v32.9a.5.5 0 1 1-1 0v-32.9a.541.541 0 0 0-.154-.387l-7.7-7.7a.526.526 0 0 0-.386-.153h-24.5a.534.534 0 0 0-.54.54v42.59c0 .302.237.54.54.54h33.24a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M47.33 20.255h-8.2a.5.5 0 0 1-.5-.5v-8.21a.5.5 0 1 1 1 0v7.71h7.7a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M50.69 51.495a.5.5 0 0 1-.5-.5v-34.09a.541.541 0 0 0-.153-.387l-7.7-7.7a.526.526 0 0 0-.387-.153h-24.5a.534.534 0 0 0-.54.54.5.5 0 1 1-1 0c0-.85.69-1.54 1.54-1.54h24.5c.418 0 .805.158 1.093.446l7.7 7.7c.289.288.447.676.447 1.094v34.09a.5.5 0 0 1-.5.5Z\"/></svg>'\n}, c = (a) => /* @__PURE__ */ l(t, { ...a, svg: o.svg });\nc.displayName = \"IllustrativeIconDocumentUploadDuocolorStatic\";\nexport {\n c as IllustrativeIconDocumentUploadDuocolorStatic\n};\n//# sourceMappingURL=document-upload-duocolor-static.es.js.map\n","import React, { useId, useRef, useState } from \"react\";\nimport { DndContext, useDroppable } from \"@dnd-kit/core\";\nimport { IllustrativeIconDocumentAttachDuocolorStatic } from \"@purpur/illustrative-icon/document-attach-duocolor-static\";\nimport { IllustrativeIconDocumentUploadDuocolorStatic } from \"@purpur/illustrative-icon/document-upload-duocolor-static\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-drag-and-drop.module.scss\";\nimport type { FileUploadProps } from \"./file-upload-types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-drag-and-drop\";\n\ntype FileUploadDragAndDropProps = Pick<\n FileUploadProps,\n \"backgroundColor\" | \"dragAndDropLabel\" | \"variant\"\n> & {\n children: React.ReactNode;\n disabled?: boolean;\n onFilesChange: (files: FileList | null | undefined) => void;\n};\n\nexport const FileUploadDragAndDrop = ({\n backgroundColor,\n children,\n disabled = false,\n dragAndDropLabel,\n onFilesChange,\n variant,\n}: FileUploadDragAndDropProps) => {\n const dragAndDropId = useId();\n const dragDepthRef = useRef(0);\n const [isDragOver, setIsDragOver] = useState(false);\n const { setNodeRef } = useDroppable({ id: dragAndDropId });\n\n const isFileDragEvent = (event: React.DragEvent<HTMLDivElement>) => {\n return Array.from(event.dataTransfer?.types ?? []).includes(\"Files\");\n };\n\n const resetDragState = () => {\n dragDepthRef.current = 0;\n setIsDragOver(false);\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n dragDepthRef.current += 1;\n setIsDragOver(true);\n };\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = disabled ? \"none\" : \"copy\";\n\n if (disabled) {\n return;\n }\n\n setIsDragOver(true);\n };\n\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n dragDepthRef.current = Math.max(0, dragDepthRef.current - 1);\n\n if (dragDepthRef.current === 0) {\n setIsDragOver(false);\n }\n };\n\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n onFilesChange(event.dataTransfer.files);\n resetDragState();\n };\n\n return (\n <DndContext>\n <div\n ref={setNodeRef}\n className={cx(`${rootClassName}__hit-area`)}\n onDragEnter={handleDragEnter}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n >\n <label\n className={cx(rootClassName, {\n [`${rootClassName}--${backgroundColor}`]: backgroundColor,\n [`${rootClassName}--drag-over`]: isDragOver,\n [`${rootClassName}--disabled`]: disabled,\n })}\n >\n <div className={cx(`${rootClassName}__icon-and-text`)}>\n {variant === \"attach\" ? (\n <IllustrativeIconDocumentAttachDuocolorStatic\n className={cx(`${rootClassName}__icon`, {\n [`${rootClassName}__icon--disabled`]: disabled,\n })}\n />\n ) : (\n <IllustrativeIconDocumentUploadDuocolorStatic\n className={cx(`${rootClassName}__icon`, {\n [`${rootClassName}__icon--disabled`]: disabled,\n })}\n />\n )}\n <Paragraph variant=\"paragraph-100-medium\" disabled={disabled}>\n {dragAndDropLabel}\n </Paragraph>\n </div>\n {children}\n </label>\n </div>\n </DndContext>\n );\n};\n","import React, {\n type ComponentPropsWithoutRef,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-file-name-label.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-file-name-label\";\n\ntype FileNameLabelProps = {\n fileName: string;\n muted?: boolean;\n} & ComponentPropsWithoutRef<\"p\">;\n\ntype FileNameParts = {\n start: string;\n separator: string;\n end: string;\n};\n\nconst END_PART_WIDTH_RATIO = 0.4;\nconst MIN_END_PART_CHAR_LENGTH = 3;\nconst MAX_END_PART_CHAR_LENGTH = 28;\nconst MIN_START_CHAR_LENGTH = 3;\nconst FIRST_EXTENSION_DOT_MIN_INDEX = 1;\n\nconst splitFileName = (fileName: string) => {\n const lastDotIndex = fileName.lastIndexOf(\".\");\n\n const hasExtension =\n lastDotIndex >= FIRST_EXTENSION_DOT_MIN_INDEX && lastDotIndex < fileName.length - 1;\n\n return {\n baseName: hasExtension ? fileName.slice(0, lastDotIndex) : fileName,\n extension: hasExtension ? fileName.slice(lastDotIndex) : \"\",\n };\n};\n\nconst getTextWidth = (text: string, font: string) => {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n if (!context) {\n return 0;\n }\n\n context.font = font;\n\n return context.measureText(text).width;\n};\n\nconst extractBoundaryWhitespace = (start: string, end: string): FileNameParts => {\n const trailingWhitespace = start.match(/\\s+$/)?.[0] ?? \"\";\n const leadingWhitespace = end.match(/^\\s+/)?.[0] ?? \"\";\n\n const separator = `${trailingWhitespace}${leadingWhitespace}`;\n\n return {\n start: trailingWhitespace ? start.slice(0, -trailingWhitespace.length) : start,\n separator,\n end: leadingWhitespace ? end.slice(leadingWhitespace.length) : end,\n };\n};\n\nconst getFileNameParts = (fileName: string, labelWidth: number, font: string): FileNameParts => {\n const { baseName, extension } = splitFileName(fileName);\n\n if (!labelWidth || !baseName) {\n return extractBoundaryWhitespace(baseName, extension);\n }\n\n const maxEndPartWidth = labelWidth * END_PART_WIDTH_RATIO;\n\n // Never trim more of the base name than leaves fewer than MIN_START_CHAR_LENGTH characters visible at the start.\n const maxStartTrimLength = Math.max(baseName.length - MIN_START_CHAR_LENGTH, 0);\n const maxAllowedEndPartLength = Math.min(MAX_END_PART_CHAR_LENGTH, maxStartTrimLength);\n\n let bestEndPartLength = Math.min(MIN_END_PART_CHAR_LENGTH, maxAllowedEndPartLength);\n\n for (\n let endPartLength = MIN_END_PART_CHAR_LENGTH;\n endPartLength <= maxAllowedEndPartLength;\n endPartLength += 1\n ) {\n const endPart = `${baseName.slice(-endPartLength)}${extension}`;\n const endPartWidth = getTextWidth(endPart, font);\n\n if (endPartWidth <= maxEndPartWidth) {\n bestEndPartLength = endPartLength;\n } else {\n break;\n }\n }\n\n const endPartLength = Math.min(bestEndPartLength, baseName.length);\n\n const start = baseName.slice(0, baseName.length - endPartLength);\n const end = `${baseName.slice(-endPartLength)}${extension}`;\n\n return extractBoundaryWhitespace(start, end);\n};\n\nexport const FileNameLabel = ({ fileName, muted, ...props }: FileNameLabelProps) => {\n const labelRef = useRef<HTMLParagraphElement>(null);\n const [labelWidth, setLabelWidth] = useState(0);\n const [font, setFont] = useState(\"\");\n\n useLayoutEffect(() => {\n const labelElement = labelRef.current;\n\n if (!labelElement) {\n return;\n }\n\n const updateMeasurements = () => {\n const computedStyle = window.getComputedStyle(labelElement);\n\n setLabelWidth(labelElement.getBoundingClientRect().width);\n setFont(computedStyle.font);\n };\n\n updateMeasurements();\n\n const resizeObserver = new ResizeObserver(updateMeasurements);\n\n resizeObserver.observe(labelElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n const { start, separator, end } = useMemo(\n () => getFileNameParts(fileName, labelWidth, font),\n [fileName, labelWidth, font]\n );\n\n return (\n <Paragraph\n variant=\"paragraph-100-medium\"\n className={cx(rootClassName)}\n ref={labelRef}\n disabled={muted}\n {...props}\n >\n <span className={cx(`${rootClassName}__start`)}>{start}</span>\n\n {separator && (\n <span className={cx(`${rootClassName}__separator`)} aria-hidden=\"true\">\n {separator.replace(/ /g, \"\\u00A0\")}\n </span>\n )}\n\n <span className={cx(`${rootClassName}__end`)}>{end}</span>\n </Paragraph>\n );\n};\n","import { jsx as o } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst c = {\n name: \"doc\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M4.1 2.5a.9.9 0 0 1 .9-.9h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19.9 8v13.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9v-19Zm1.8.9v17.2h12.2V8.9H14a.9.9 0 0 1-.9-.9V3.4H5.9Zm9 1.428L16.965 7.1H14.9V4.828ZM8.1 7a.9.9 0 0 1 .9-.9h1.5a.9.9 0 0 1 0 1.8H9a.9.9 0 0 1-.9-.9Zm0 3.5a.9.9 0 0 1 .9-.9h6a.9.9 0 1 1 0 1.8H9a.9.9 0 0 1-.9-.9Zm0 3.5a.9.9 0 0 1 .9-.9h6a.9.9 0 0 1 0 1.8H9a.9.9 0 0 1-.9-.9Zm0 3.5a.9.9 0 0 1 .9-.9h6a.9.9 0 0 1 0 1.8H9a.9.9 0 0 1-.9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"doc\"],\n category: \"file\"\n}, r = (a) => /* @__PURE__ */ o(e, { ...a, svg: c });\nr.displayName = \"IconDoc\";\nexport {\n r as IconDoc\n};\n//# sourceMappingURL=doc.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nimport { I as o } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"document-doc\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-opacity=\".84\" fill-rule=\"evenodd\" d=\"M4.364 1.864A.9.9 0 0 1 5 1.6h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19 8.9h-5a.9.9 0 0 1-.9-.9V3.4H5.9V7a.9.9 0 0 1-1.8 0V2.5a.9.9 0 0 1 .264-.636ZM14.9 4.828 16.965 7.1H14.9V4.828ZM5 18.1a.9.9 0 0 1 .9.9v1.6h12.2V19a.9.9 0 0 1 1.8 0v2.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V19a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/><path d=\"M5.572 10.05H3.184V16h2.388c1.581 0 2.924-1.241 2.924-2.975S7.153 10.05 5.572 10.05Zm-1.24 4.981v-4.012h1.24c1.012 0 1.768.825 1.768 2.006 0 1.181-.756 2.006-1.768 2.006h-1.24Zm7.938 1.105c1.658 0 3.052-1.3 3.052-3.111 0-1.81-1.394-3.111-3.052-3.111-1.649 0-3.043 1.3-3.043 3.111 0 1.81 1.394 3.111 3.043 3.111Zm0-.969c-1.08 0-1.895-.884-1.895-2.142s.816-2.142 1.895-2.142c1.088 0 1.904.884 1.904 2.142s-.816 2.142-1.904 2.142Zm6.832.969c.927 0 1.734-.391 2.244-.977l-.773-.706a1.883 1.883 0 0 1-1.47.714c-1.089 0-1.905-.884-1.905-2.142s.816-2.142 1.904-2.142c.57 0 1.063.255 1.403.629l.756-.714c-.51-.527-1.283-.884-2.159-.884-1.657 0-3.051 1.3-3.051 3.111 0 1.81 1.394 3.111 3.051 3.111Z\"/><path fill-rule=\"evenodd\" d=\"M3.084 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H3.084V9.95Zm.1 6.05h2.388c1.581 0 2.924-1.241 2.924-2.975S7.153 10.05 5.572 10.05H3.184V16Zm1.247-4.881v3.812h1.141c.946 0 1.668-.769 1.668-1.906s-.722-1.906-1.668-1.906h-1.14Zm10.99 1.906c0 1.867-1.439 3.211-3.15 3.211-1.704 0-3.144-1.345-3.144-3.211 0-1.866 1.44-3.211 3.143-3.211 1.712 0 3.152 1.345 3.152 3.211Zm-4.946 0c0 1.213.781 2.042 1.795 2.042 1.023 0 1.804-.829 1.804-2.042 0-1.213-.78-2.042-1.804-2.042-1.014 0-1.795.829-1.795 2.042Zm11.01 2.125-.063.074c-.53.61-1.365 1.012-2.32 1.012-1.712 0-3.151-1.345-3.151-3.211 0-1.866 1.44-3.211 3.151-3.211.903 0 1.702.368 2.231.915l.07.072-.904.854-.068-.076a1.79 1.79 0 0 0-1.329-.596c-1.023 0-1.804.829-1.804 2.042 0 1.213.781 2.042 1.804 2.042.579 0 1.078-.281 1.392-.676l.067-.084.925.843Zm-.977-.62c.023-.025.044-.051.065-.077l.773.706c-.51.586-1.317.977-2.244.977-1.657 0-3.051-1.3-3.051-3.111 0-1.81 1.394-3.111 3.051-3.111a3.022 3.022 0 0 1 2.16.884l-.757.714a1.885 1.885 0 0 0-1.402-.629c-1.089 0-1.905.884-1.905 2.142s.816 2.142 1.904 2.142a1.88 1.88 0 0 0 1.406-.637Zm-16.177.501h1.241c1.012 0 1.768-.825 1.768-2.006 0-1.181-.756-2.006-1.768-2.006h-1.24v4.012Zm10.99-2.006c0 1.81-1.393 3.111-3.05 3.111-1.65 0-3.044-1.3-3.044-3.111 0-1.81 1.394-3.111 3.043-3.111 1.658 0 3.052 1.3 3.052 3.111Zm-4.946 0c0 1.258.816 2.142 1.895 2.142 1.088 0 1.904-.884 1.904-2.142s-.816-2.142-1.904-2.142c-1.08 0-1.895.884-1.895 2.142Z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.084 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H3.084V9.95Zm18.402 5.2-.064.074c-.53.61-1.365 1.012-2.32 1.012-1.712 0-3.151-1.345-3.151-3.211 0-1.866 1.44-3.211 3.151-3.211a3.122 3.122 0 0 1 2.231.915l.07.072-.904.854-.068-.076a1.825 1.825 0 0 0-.049-.05 1.786 1.786 0 0 0-1.28-.546c-1.023 0-1.804.829-1.804 2.042 0 1.213.781 2.042 1.804 2.042a1.78 1.78 0 0 0 1.392-.676l.067-.084.925.843ZM2.934 9.8h2.638c1.716 0 3.174 1.35 3.174 3.225S7.288 16.25 5.572 16.25H2.934V9.8Zm18.761 5.338-.16.185c-.56.642-1.436 1.063-2.433 1.063-1.794 0-3.301-1.41-3.301-3.361 0-1.95 1.507-3.361 3.301-3.361.943 0 1.782.384 2.339.96l.176.182-1.126 1.063-.171-.189a1.64 1.64 0 0 0-1.218-.547c-.926 0-1.654.747-1.654 1.892s.728 1.892 1.654 1.892c.529 0 .986-.257 1.275-.62l.167-.209 1.151 1.05ZM4.581 11.27v3.512h.991c.848 0 1.518-.685 1.518-1.756 0-1.07-.67-1.756-1.518-1.756h-.99Zm10.99 1.756c0 1.95-1.507 3.361-3.3 3.361-1.786 0-3.294-1.411-3.294-3.361 0-1.95 1.508-3.361 3.293-3.361 1.794 0 3.302 1.41 3.302 3.361Zm-4.946 0c0 1.146.729 1.892 1.645 1.892.926 0 1.654-.747 1.654-1.892s-.728-1.892-1.654-1.892c-.916 0-1.645.746-1.645 1.892ZM4.43 11.119h1.141c.946 0 1.668.769 1.668 1.906s-.722 1.906-1.668 1.906h-1.14v-3.812Zm7.84 5.117c1.711 0 3.15-1.345 3.15-3.211 0-1.866-1.439-3.211-3.15-3.211-1.704 0-3.144 1.345-3.144 3.211 0 1.866 1.44 3.211 3.143 3.211Zm0-1.169c-1.015 0-1.796-.829-1.796-2.042 0-1.213.781-2.042 1.795-2.042 1.023 0 1.804.829 1.804 2.042 0 1.213-.78 2.042-1.804 2.042Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"document-doc\"],\n category: \"file\"\n}, m = (c) => /* @__PURE__ */ l(o, { ...c, svg: e });\nm.displayName = \"IconDocumentDoc\";\nexport {\n m as IconDocumentDoc\n};\n//# sourceMappingURL=document-doc.es.js.map\n","import { jsx as L } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst H = {\n name: \"document-excel\",\n svg: '<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.09123 1.59961C4.85254 1.59961 4.62362 1.69443 4.45484 1.86321C4.28606 2.032 4.19123 2.26091 4.19123 2.49961V6.99961C4.19123 7.49667 4.59418 7.89961 5.09123 7.89961C5.58829 7.89961 5.99123 7.49667 5.99123 6.99961V3.39961H13.1912V7.99961C13.1912 8.49667 13.5942 8.89961 14.0912 8.89961H19.0912C19.4475 8.89961 19.7702 8.68949 19.9143 8.36371C20.0584 8.03793 19.9968 7.6578 19.7572 7.3942L14.7572 1.8942C14.5866 1.70658 14.3448 1.59961 14.0912 1.59961H5.09123ZM17.0567 7.09961L14.9912 4.82756V7.09961H17.0567Z\"/><path d=\"M5.99123 18.9996C5.99123 18.5026 5.58829 18.0996 5.09123 18.0996C4.59418 18.0996 4.19123 18.5026 4.19123 18.9996V21.4996C4.19123 21.9967 4.59418 22.3996 5.09123 22.3996H19.0912C19.5883 22.3996 19.9912 21.9967 19.9912 21.4996V18.9996C19.9912 18.5026 19.5883 18.0996 19.0912 18.0996C18.5942 18.0996 18.1912 18.5026 18.1912 18.9996V20.5996H5.99123V18.9996Z\"/><path d=\"M5.85772 9.94957L7.25113 11.9085L8.64454 9.94957H10.2271L8.10585 12.863L10.4653 16.0996H8.88269L7.25113 13.817L5.61957 16.0996H4.03655L6.40474 12.863L4.27464 9.94957H5.85772Z\"/><path d=\"M12.2278 14.9306V9.94957H10.8803V16.0996H14.9138V14.9306H12.2278Z\"/><path d=\"M15.7846 12.6443C16.0307 12.9326 16.4176 13.159 16.9777 13.3486L17.6572 13.5865C17.9185 13.6749 18.144 13.7729 18.3022 13.897C18.4568 14.0182 18.5423 14.1594 18.5423 14.3421C18.5423 14.5514 18.4498 14.7268 18.286 14.8524C18.1203 14.9795 17.8776 15.0581 17.5798 15.0581C17.0136 15.0581 16.4832 14.7468 16.1684 14.2463L16.1118 14.1563L15.137 14.8569L15.1804 14.9347C15.6612 15.7984 16.6434 16.2271 17.5628 16.2271C18.7539 16.2271 19.8048 15.4779 19.8048 14.2996C19.8048 13.8283 19.6726 13.452 19.3893 13.1458C19.1093 12.8432 18.6893 12.6175 18.1303 12.4283L17.5103 12.216C17.2511 12.1268 17.0456 12.0416 16.9053 11.9371C16.7702 11.8365 16.7023 11.7236 16.7023 11.5711C16.7023 11.2846 16.9787 10.9911 17.5628 10.9911C18.0557 10.9911 18.4859 11.1849 18.7539 11.4923L18.8168 11.5644L19.7256 10.8395L19.6645 10.7614C19.1826 10.1456 18.3599 9.82207 17.5628 9.82207C16.4054 9.82207 15.4398 10.5544 15.4398 11.6051C15.4398 12.0089 15.5358 12.3529 15.7846 12.6443Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.85772 9.94957L7.25113 11.9085L8.64454 9.94957H10.2271L8.10585 12.863L10.4653 16.0996H8.88269L7.25113 13.817L5.61957 16.0996H4.03655L6.40474 12.863L4.27464 9.94957H5.85772ZM6.25606 12.863L4.03826 9.82957H5.91962L7.25113 11.7015L8.58264 9.82957H10.4629L8.25432 12.863L10.7013 16.2196H8.82096L7.25113 14.0234L5.6813 16.2196H3.80005L6.25606 12.863ZM12.3478 9.82957V14.8106H14.9959L16.1454 13.9843L16.27 14.1824C16.5648 14.6511 17.0584 14.9381 17.5798 14.9381C17.8577 14.9381 18.0728 14.8647 18.213 14.7572C18.3489 14.6529 18.4223 14.512 18.4223 14.3421C18.4223 14.2053 18.3617 14.0961 18.2282 13.9914C18.0867 13.8805 17.8773 13.7877 17.6187 13.7001L17.6176 13.6997L16.9393 13.4623C16.9391 13.4622 16.9394 13.4624 16.9393 13.4623C16.3699 13.2695 15.9594 13.0339 15.6933 12.7222C15.4213 12.4036 15.3198 12.0293 15.3198 11.6051C15.3198 10.4663 16.3633 9.70207 17.5628 9.70207C18.3883 9.70207 19.2496 10.0365 19.759 10.6875L19.8933 10.8591L18.8018 11.7299L18.6634 11.5711C18.4207 11.2928 18.0249 11.1111 17.5628 11.1111C17.0137 11.1111 16.8223 11.3783 16.8223 11.5711C16.8223 11.6772 16.8648 11.7574 16.977 11.8409C17.1008 11.9331 17.29 12.0133 17.5493 12.1025C17.5493 12.1025 17.5492 12.1025 17.5493 12.1025L18.1688 12.3147C18.1688 12.3147 18.1687 12.3147 18.1688 12.3147C18.7355 12.5065 19.1776 12.7403 19.4774 13.0643C19.7846 13.3963 19.9248 13.8033 19.9248 14.2996C19.9248 15.5662 18.7958 16.3471 17.5628 16.3471C16.6113 16.3471 15.5826 15.9038 15.0755 14.9931L15.0338 14.9181V16.2196H10.7603V9.82957H12.3478ZM18.1303 12.4283L17.5103 12.216C17.2511 12.1268 17.0456 12.0416 16.9053 11.9371C16.7702 11.8365 16.7023 11.7236 16.7023 11.5711C16.7023 11.2846 16.9787 10.9911 17.5628 10.9911C18.0557 10.9911 18.4859 11.1849 18.7539 11.4923L18.8168 11.5644L19.7256 10.8395L19.6645 10.7614C19.1826 10.1456 18.3599 9.82207 17.5628 9.82207C16.4054 9.82207 15.4398 10.5544 15.4398 11.6051C15.4398 12.0089 15.5358 12.3529 15.7846 12.6443C16.0307 12.9326 16.4176 13.159 16.9777 13.3486L17.6572 13.5865C17.9185 13.6749 18.144 13.7729 18.3022 13.897C18.4568 14.0182 18.5423 14.1594 18.5423 14.3421C18.5423 14.5514 18.4498 14.7268 18.286 14.8524C18.1203 14.9795 17.8776 15.0581 17.5798 15.0581C17.018 15.0581 16.4915 14.7517 16.1758 14.258C16.1733 14.2541 16.1709 14.2502 16.1684 14.2463L16.1118 14.1563L15.137 14.8569L15.1804 14.9347C15.6612 15.7984 16.6434 16.2271 17.5628 16.2271C18.7539 16.2271 19.8048 15.4779 19.8048 14.2996C19.8048 13.8283 19.6726 13.452 19.3893 13.1458C19.1093 12.8432 18.6893 12.6175 18.1303 12.4283ZM12.2278 14.9306V9.94957H10.8803V16.0996H14.9138V14.9306H12.2278Z\"/></svg>',\n keywords: [\"document-excel\"],\n category: \"file\"\n}, o = (C) => /* @__PURE__ */ L(e, { ...C, svg: H });\no.displayName = \"IconDocumentExcel\";\nexport {\n o as IconDocumentExcel\n};\n//# sourceMappingURL=document-excel.es.js.map\n","import { jsx as v } from \"react/jsx-runtime\";\nimport { I as c } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"document-pdf\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-opacity=\".84\" fill-rule=\"evenodd\" d=\"M4.364 1.864A.9.9 0 0 1 5 1.6h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19 8.9h-5a.9.9 0 0 1-.9-.9V3.4H5.9V7a.9.9 0 0 1-1.8 0V2.5a.9.9 0 0 1 .264-.636ZM14.9 4.828 16.965 7.1H14.9V4.828ZM5 18.1a.9.9 0 0 1 .9.9v1.6h12.2V19a.9.9 0 1 1 1.8 0v2.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V19a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/><path d=\"M6.765 10.05H4.487V16h1.139v-2.074h1.139c1.113 0 2.048-.799 2.048-1.93 0-1.139-.935-1.946-2.048-1.946Zm-1.14 2.907v-1.938h1.03c.594 0 1.01.408 1.01.977 0 .57-.416.961-1.01.961h-1.03Zm6.488-2.907H9.725V16h2.388c1.581 0 2.924-1.241 2.924-2.975s-1.343-2.975-2.924-2.975Zm-1.24 4.981v-4.012h1.24c1.012 0 1.768.825 1.768 2.006 0 1.181-.756 2.006-1.768 2.006h-1.24Zm9.112-4.981h-3.927V16h1.148v-2.49h2.218v-.97h-2.218v-1.52h2.78v-.969Z\"/><path fill-rule=\"evenodd\" d=\"M4.387 9.95h2.378c1.161 0 2.148.845 2.148 2.046 0 1.194-.988 2.03-2.148 2.03h-1.04V16.1H4.388V9.95ZM5.626 16h-1.14v-5.95h2.279c1.113 0 2.048.807 2.048 1.946 0 1.131-.935 1.93-2.048 1.93h-1.14V16Zm.1-4.881v1.738h.928c.276 0 .503-.09.66-.24a.833.833 0 0 0 .252-.62.86.86 0 0 0-.252-.631.928.928 0 0 0-.66-.247h-.928ZM9.625 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H9.625V9.95Zm.1 6.05h2.388c1.581 0 2.924-1.241 2.924-2.975s-1.343-2.975-2.924-2.975H9.725V16Zm1.247-4.881v3.812h1.141c.946 0 1.668-.769 1.668-1.906s-.722-1.906-1.668-1.906h-1.14Zm9.113-1.169v1.169h-2.78v1.322h2.22v1.168h-2.22V16.1h-1.347V9.95h4.127ZM17.205 16h-1.147v-5.95h3.927v.969h-2.78v1.521h2.22v.97h-2.22V16Zm-11.58-3.043h1.03c.594 0 1.01-.391 1.01-.96 0-.57-.416-.978-1.01-.978h-1.03v1.938Zm5.247 2.074h1.241c1.012 0 1.768-.825 1.768-2.006 0-1.181-.756-2.006-1.768-2.006h-1.24v4.012Z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.387 9.95h2.378c1.161 0 2.148.845 2.148 2.046 0 1.194-.988 2.03-2.148 2.03h-1.04V16.1H4.388V9.95Zm1.489 4.226v2.074h-1.64V9.8h2.529c1.232 0 2.298.9 2.298 2.196 0 1.29-1.068 2.18-2.298 2.18h-.89ZM9.625 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H9.625V9.95Zm10.46 0v1.169h-2.78v1.322h2.22v1.168h-2.22V16.1h-1.347V9.95h4.127Zm-2.63 3.81v2.49h-1.647V9.8h4.427v1.469h-2.78v1.021h2.22v1.47h-2.22ZM9.476 9.8h2.638c1.716 0 3.174 1.35 3.174 3.225s-1.458 3.225-3.174 3.225H9.475V9.8Zm-3.6 1.469v1.438h.78c.242 0 .43-.079.556-.198a.684.684 0 0 0 .205-.513.71.71 0 0 0-.207-.522.779.779 0 0 0-.555-.205h-.778Zm5.247 0v3.512h.991c.848 0 1.518-.685 1.518-1.756 0-1.07-.67-1.756-1.518-1.756h-.99Zm-5.396-.15h.928a.93.93 0 0 1 .66.247.86.86 0 0 1 .252.63c0 .26-.094.473-.251.622a.942.942 0 0 1-.66.239h-.93v-1.738Zm5.246 0h1.141c.946 0 1.668.769 1.668 1.906s-.722 1.906-1.668 1.906h-1.14v-3.812Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"document-pdf\"],\n category: \"file\"\n}, m = (h) => /* @__PURE__ */ v(c, { ...h, svg: e });\nm.displayName = \"IconDocumentPdf\";\nexport {\n m as IconDocumentPdf\n};\n//# sourceMappingURL=document-pdf.es.js.map\n","import { jsx as v } from \"react/jsx-runtime\";\nimport { I as c } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"document-ppt\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-opacity=\".84\" fill-rule=\"evenodd\" d=\"M4.364 1.864A.9.9 0 0 1 5 1.6h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19 8.9h-5a.9.9 0 0 1-.9-.9V3.4H5.9V7a.9.9 0 0 1-1.8 0V2.5a.9.9 0 0 1 .264-.636ZM14.9 4.828 16.965 7.1H14.9V4.828ZM5 18.1a.9.9 0 0 1 .9.9v1.6h12.2V19a.9.9 0 1 1 1.8 0v2.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V19a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/><path d=\"M7.11 10.05H4.83V16h1.14v-2.074h1.138c1.114 0 2.049-.799 2.049-1.93 0-1.139-.935-1.946-2.049-1.946Zm-1.14 2.907v-1.938H7c.595 0 1.011.408 1.011.977 0 .57-.416.961-1.011.961H5.97Zm6.377-2.907H10.07V16h1.14v-2.074h1.138c1.114 0 2.049-.799 2.049-1.93 0-1.139-.935-1.946-2.049-1.946Zm-1.139 2.907v-1.938h1.029c.595 0 1.011.408 1.011.977 0 .57-.416.961-1.011.961h-1.029Zm8.366-2.907h-4.675v.969h1.785V16h1.122v-4.981h1.768v-.969Z\"/><path fill-rule=\"evenodd\" d=\"M4.731 9.95H7.11c1.161 0 2.149.845 2.149 2.046 0 1.194-.988 2.03-2.149 2.03H6.07V16.1H4.731V9.95ZM5.971 16H4.83v-5.95h2.28c1.114 0 2.049.807 2.049 1.946 0 1.131-.935 1.93-2.049 1.93H5.97V16Zm.1-4.881v1.738h.928a.94.94 0 0 0 .66-.24.833.833 0 0 0 .251-.62.86.86 0 0 0-.252-.631.928.928 0 0 0-.66-.247H6.07ZM9.968 9.95h2.378c1.161 0 2.149.845 2.149 2.046 0 1.194-.989 2.03-2.149 2.03h-1.039V16.1H9.97V9.95ZM11.21 16h-1.14v-5.95h2.278c1.114 0 2.049.807 2.049 1.946 0 1.131-.935 1.93-2.049 1.93h-1.139V16Zm.1-4.881v1.738h.928a.94.94 0 0 0 .66-.24.833.833 0 0 0 .251-.62.86.86 0 0 0-.252-.631.928.928 0 0 0-.66-.247h-.928Zm8.365-1.169v1.169h-1.768V16.1h-1.322v-4.981H14.8V9.95h4.875ZM14.9 11.019v-.969h4.675v.969h-1.768V16h-1.122v-4.981H14.9Zm-8.93 1.938H7c.595 0 1.011-.391 1.011-.96 0-.57-.416-.978-1.011-.978H5.97v1.938Zm5.238 0h1.029c.595 0 1.011-.391 1.011-.96 0-.57-.416-.978-1.011-.978h-1.029v1.938Z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.731 9.95H7.11c1.161 0 2.149.845 2.149 2.046 0 1.194-.988 2.03-2.149 2.03H6.07V16.1H4.731V9.95Zm1.49 4.226v2.074H4.58V9.8h2.53c1.233 0 2.299.9 2.299 2.196 0 1.29-1.069 2.18-2.299 2.18h-.89ZM9.968 9.95h2.378c1.161 0 2.149.845 2.149 2.046 0 1.194-.989 2.03-2.149 2.03h-1.039V16.1H9.97V9.95Zm1.49 4.226v2.074h-1.64V9.8h2.528c1.232 0 2.299.9 2.299 2.196 0 1.29-1.069 2.18-2.299 2.18h-.889Zm8.215-4.226v1.169h-1.768V16.1h-1.322v-4.981h-1.785V9.95h4.875Zm-3.24 1.319h-1.785V9.8h5.175v1.469h-1.768v4.981h-1.622v-4.981Zm-10.214 0v1.438H7c.242 0 .43-.079.557-.198a.684.684 0 0 0 .204-.513.71.71 0 0 0-.206-.522.779.779 0 0 0-.555-.205h-.78Zm5.238 0v1.438h.779c.242 0 .43-.079.557-.198a.684.684 0 0 0 .204-.513.71.71 0 0 0-.207-.522.779.779 0 0 0-.554-.205h-.779Zm-5.388-.15H7c.274 0 .501.094.66.247a.86.86 0 0 1 .251.63c0 .26-.094.473-.251.622a.942.942 0 0 1-.66.239h-.93v-1.738Zm5.238 0h.929c.274 0 .5.094.659.247a.86.86 0 0 1 .252.63c0 .26-.094.473-.251.622a.941.941 0 0 1-.66.239h-.929v-1.738Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"document-ppt\"],\n category: \"file\"\n}, m = (h) => /* @__PURE__ */ v(c, { ...h, svg: e });\nm.displayName = \"IconDocumentPpt\";\nexport {\n m as IconDocumentPpt\n};\n//# sourceMappingURL=document-ppt.es.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as o } from \"../icon-DNHpBTHs.mjs\";\nconst m = {\n name: \"image\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 25\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M1.6 4.5a.9.9 0 0 1 .9-.9h19a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9h-19a.9.9 0 0 1-.9-.9v-16Zm1.8.9v14.2h17.2V5.4H3.4Zm4.1 2.5a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2ZM4.1 9.5a3.4 3.4 0 1 1 6.8 0 3.4 3.4 0 0 1-6.8 0Zm11.264.864a.9.9 0 0 1 1.272 0l3 3a.9.9 0 1 1-1.272 1.272L16 12.273l-5.364 5.363a.9.9 0 0 1-1.272 0L8 16.273l-2.364 2.363a.9.9 0 1 1-1.272-1.272l3-3a.9.9 0 0 1 1.272 0L10 15.727l5.364-5.363Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"image\"],\n category: \"media\"\n}, l = (a) => /* @__PURE__ */ e(o, { ...a, svg: m });\nl.displayName = \"IconImage\";\nexport {\n l as IconImage\n};\n//# sourceMappingURL=image.es.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as v } from \"../icon-DNHpBTHs.mjs\";\nconst a = {\n name: \"video\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 25\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M1.6 6a.9.9 0 0 1 .9-.9h19a.9.9 0 0 1 .9.9v14a.9.9 0 0 1-.9.9h-19a.9.9 0 0 1-.9-.9V6Zm1.8.9v12.2h17.2V6.9H3.4Zm6.167 1.811a.9.9 0 0 1 .916.03l5.5 3.5a.9.9 0 0 1 0 1.518l-5.5 3.5A.9.9 0 0 1 9.1 16.5v-7a.9.9 0 0 1 .467-.789ZM10.9 11.14v3.722L13.824 13 10.9 11.14Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"video\"],\n category: \"media\"\n}, d = (o) => /* @__PURE__ */ e(v, { ...o, svg: a });\nd.displayName = \"IconVideo\";\nexport {\n d as IconVideo\n};\n//# sourceMappingURL=video.es.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst a = {\n name: \"volume\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12.864 3.177A.9.9 0 0 1 13.4 4v16a.9.9 0 0 1-1.505.666L6.652 15.9H4A1.9 1.9 0 0 1 2.1 14v-4c0-1.05.85-1.9 1.9-1.9h2.652l5.243-4.766a.9.9 0 0 1 .97-.157ZM11.6 6.034 7.605 9.666A.9.9 0 0 1 7 9.9H4a.1.1 0 0 0-.1.1v4a.1.1 0 0 0 .1.1h3a.9.9 0 0 1 .605.234l3.995 3.631V6.035Zm6.835-1.741a.9.9 0 0 1 1.273 0c4.256 4.256 4.256 11.158 0 15.414a.9.9 0 1 1-1.273-1.272 9.1 9.1 0 0 0 0-12.87.9.9 0 0 1 0-1.272Zm-3.071 3.07a.9.9 0 0 1 1.272 0 6.557 6.557 0 0 1 0 9.273.9.9 0 1 1-1.272-1.272 4.757 4.757 0 0 0 0-6.728.9.9 0 0 1 0-1.272Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"volume\"],\n category: \"action\"\n}, m = (o) => /* @__PURE__ */ e(l, { ...o, svg: a });\nm.displayName = \"IconVolume\";\nexport {\n m as IconVolume\n};\n//# sourceMappingURL=volume.es.js.map\n","import React from \"react\";\nimport { IconDoc } from \"@purpur/icon/doc\";\nimport { IconDocumentDoc } from \"@purpur/icon/document-doc\";\nimport { IconDocumentExcel } from \"@purpur/icon/document-excel\";\nimport { IconDocumentPdf } from \"@purpur/icon/document-pdf\";\nimport { IconDocumentPpt } from \"@purpur/icon/document-ppt\";\nimport { IconImage } from \"@purpur/icon/image\";\nimport { IconVideo } from \"@purpur/icon/video\";\nimport { IconVolume } from \"@purpur/icon/volume\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-icon.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-icon\";\n\ntype Props = {\n filetype: string;\n muted?: boolean;\n};\n\nexport const FileUploadIcon = ({ filetype, muted }: Props) => {\n const props = {\n size: \"sm\",\n className: cx(rootClassName, { [`${rootClassName}--muted`]: muted }),\n } as const;\n\n if (filetype.startsWith(\"image/\")) {\n return <IconImage {...props} />;\n }\n if (filetype.startsWith(\"video/\")) {\n return <IconVideo {...props} />;\n }\n if (filetype.startsWith(\"audio/\")) {\n return <IconVolume {...props} />;\n }\n if (filetype.includes(\"powerpoint\") || filetype.includes(\"presentationml\")) {\n return <IconDocumentPpt {...props} />;\n }\n if (\n filetype.includes(\"msword\") ||\n filetype.includes(\"ms-word\") ||\n filetype.includes(\"wordprocessingml\")\n ) {\n return <IconDocumentDoc {...props} />;\n }\n if (filetype.includes(\"excel\") || filetype.includes(\"spreadsheetml\")) {\n return <IconDocumentExcel {...props} />;\n }\n if (filetype === \"application/pdf\") {\n return <IconDocumentPdf {...props} />;\n }\n return <IconDoc {...props} />;\n};\n","const isSameFile = (a: File, b: File) =>\n a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;\n\n// Merges new files into the existing list, replacing rather than duplicating files that match an existing one.\nexport const mergeFiles = (existingFiles: File[], newFiles: File[]) => {\n const merged = [...existingFiles];\n\n newFiles.forEach((file) => {\n const existingIndex = merged.findIndex((existingFile) => isSameFile(existingFile, file));\n\n if (existingIndex === -1) {\n merged.push(file);\n } else {\n merged[existingIndex] = file;\n }\n });\n\n return merged;\n};\n\nconst isFileTypeAccepted = (file: File, acceptedFileTypes: string[]) => {\n return acceptedFileTypes.some((type) => {\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n\n if (type.endsWith(\"/*\")) {\n return file.type.startsWith(type.slice(0, -1));\n }\n\n return file.type === type;\n });\n};\n\nexport const getAcceptedFiles = (\n files: FileList | File[] | null | undefined,\n maxFileSizeBytes?: number,\n acceptedFileTypes?: string[]\n) => {\n if (!files) {\n return { acceptedFiles: [], hasOversizedFiles: false, hasInvalidFileType: false };\n }\n\n const allFiles = Array.from(files);\n const sizeAcceptedFiles = maxFileSizeBytes\n ? allFiles.filter((file) => file.size <= maxFileSizeBytes)\n : allFiles;\n\n const acceptedFiles =\n acceptedFileTypes && acceptedFileTypes.length > 0\n ? sizeAcceptedFiles.filter((file) => isFileTypeAccepted(file, acceptedFileTypes))\n : sizeAcceptedFiles;\n\n return {\n acceptedFiles,\n hasOversizedFiles: sizeAcceptedFiles.length !== allFiles.length,\n hasInvalidFileType: acceptedFiles.length !== sizeAcceptedFiles.length,\n };\n};\n","import React, { forwardRef, useId, useState } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { FieldErrorText } from \"@purpur/field-error-text\";\nimport { FieldHelperText } from \"@purpur/field-helper-text\";\nimport { Heading } from \"@purpur/heading\";\nimport { IconRemove } from \"@purpur/icon/remove\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { Tooltip } from \"@purpur/tooltip\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload.module.scss\";\nimport { FileUploadButton } from \"./file-upload-button\";\nimport { FileUploadDragAndDrop } from \"./file-upload-drag-and-drop\";\nimport { FileNameLabel } from \"./file-upload-file-name-label\";\nimport { FileUploadIcon } from \"./file-upload-icon\";\nimport type { FileUploadProps } from \"./file-upload-types\";\nimport { getAcceptedFiles, mergeFiles } from \"./file-upload-utils\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload\";\n\nexport const FileUpload = forwardRef<HTMLDivElement, FileUploadProps>(\n (\n {\n acceptedFileTypes,\n acceptedFileTypesErrorText,\n backgroundColor = \"primary\",\n buttonLabel,\n disabled = false,\n dragAndDrop = false,\n dragAndDropLabel,\n errorText,\n helperText,\n label,\n labelTag = \"h2\",\n maxFiles,\n maxFilesErrorText,\n maxFileSizeBytes,\n maxFileSizeErrorText,\n removeFileButtonLabel,\n tooltipText,\n useMediaQueries = false,\n variant = \"attach\",\n ...uploadProps\n },\n ref\n ) => {\n const labelId = useId();\n const helperTextId = useId();\n const errorTextId = useId();\n const [files, setFiles] = useState<File[]>([]);\n const [maxFilesExceeded, setMaxFilesExceeded] = useState(false);\n const [maxFileSizeExceeded, setMaxFileSizeExceeded] = useState(false);\n const [invalidFileType, setInvalidFileType] = useState(false);\n const isFileUploading = \"onFileSelect\" in uploadProps ? uploadProps.isUploading : undefined;\n const uploadingText = \"onFileSelect\" in uploadProps ? uploadProps.uploadingText : undefined;\n const isFileRemoving = \"onFileSelect\" in uploadProps ? uploadProps.isRemoving : undefined;\n const removingText = \"onFileSelect\" in uploadProps ? uploadProps.removingText : undefined;\n\n const handleFilesChange = (nextFiles: FileList | File[] | null | undefined) => {\n if (disabled) {\n return;\n }\n\n const { acceptedFiles, hasOversizedFiles, hasInvalidFileType } = getAcceptedFiles(\n nextFiles,\n maxFileSizeBytes,\n acceptedFileTypes\n );\n setMaxFileSizeExceeded(hasOversizedFiles);\n setInvalidFileType(hasInvalidFileType);\n\n const combinedFiles = mergeFiles(files, acceptedFiles);\n\n if (maxFiles && combinedFiles.length > maxFiles) {\n setMaxFilesExceeded(true);\n return;\n }\n\n setMaxFilesExceeded(false);\n setFiles(combinedFiles);\n\n if (\"onFileSelect\" in uploadProps) {\n acceptedFiles.forEach((file) => {\n Promise.resolve(uploadProps.onFileSelect(file)).then((accepted) => {\n if (!accepted) {\n setFiles((currentFiles) =>\n currentFiles.filter((currentFile) => currentFile !== file)\n );\n }\n });\n });\n }\n };\n\n const handleRemoveFile = (file: File) => {\n if (disabled) {\n return;\n }\n\n if (\"onFileSelect\" in uploadProps) {\n Promise.resolve(uploadProps.onFileRemove(file)).then((removed) => {\n if (!removed) {\n return;\n }\n\n setFiles((currentFiles) => currentFiles.filter((currentFile) => currentFile !== file));\n setMaxFilesExceeded(false);\n setMaxFileSizeExceeded(false);\n setInvalidFileType(false);\n });\n return;\n }\n\n setFiles((currentFiles) => currentFiles.filter((currentFile) => currentFile !== file));\n setMaxFilesExceeded(false);\n setMaxFileSizeExceeded(false);\n setInvalidFileType(false);\n };\n\n const button = (\n <FileUploadButton\n accept={acceptedFileTypes?.join(\",\")}\n disabled={disabled}\n files={files}\n interactive={!dragAndDrop}\n multiple={maxFiles !== 1}\n onFilesChange={handleFilesChange}\n useMediaQueries={useMediaQueries}\n variant={variant}\n >\n {buttonLabel}\n </FileUploadButton>\n );\n\n const errorContent = maxFilesExceeded\n ? maxFilesErrorText\n : maxFileSizeExceeded\n ? maxFileSizeErrorText\n : invalidFileType\n ? acceptedFileTypesErrorText\n : errorText;\n\n return (\n <div\n ref={ref}\n className={cx(rootClassName)}\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n >\n <div className={cx(`${rootClassName}__content`)}>\n {label && (\n <Heading\n tag={labelTag}\n variant=\"subsection-100\"\n id={labelId}\n className={cx(`${rootClassName}__label`, {\n [`${rootClassName}__label--disabled`]: disabled,\n })}\n >\n {label}\n </Heading>\n )}\n {dragAndDrop ? (\n <FileUploadDragAndDrop\n backgroundColor={backgroundColor}\n disabled={disabled}\n dragAndDropLabel={dragAndDropLabel}\n onFilesChange={handleFilesChange}\n variant={variant}\n >\n {button}\n </FileUploadDragAndDrop>\n ) : (\n button\n )}\n {(helperText !== undefined || errorContent) && (\n <div className={cx(`${rootClassName}__messages`)}>\n {helperText !== undefined && (\n <div className={cx(`${rootClassName}__helper-text-row`)}>\n {helperText && <FieldHelperText id={helperTextId}>{helperText}</FieldHelperText>}\n {tooltipText && (\n <Tooltip buttonSize=\"xs\" iconSize=\"xs\" triggerAriaLabel={tooltipText}>\n {tooltipText}\n </Tooltip>\n )}\n </div>\n )}\n {errorContent && <FieldErrorText id={errorTextId}>{errorContent}</FieldErrorText>}\n </div>\n )}\n </div>\n {files.length > 0 && (\n <ul className={cx(`${rootClassName}__files`)}>\n {files.map((file, index) => {\n const isBusy = isFileUploading?.(file) || isFileRemoving?.(file);\n const busyText = isFileUploading?.(file) ? uploadingText : removingText;\n const muted = isBusy || disabled;\n\n return (\n <li\n key={`${file.name}-${index}`}\n className={cx(\n `${rootClassName}__file`,\n `${rootClassName}__file--${backgroundColor}`,\n {\n [`${rootClassName}__file--disabled`]: disabled,\n }\n )}\n >\n <FileUploadIcon filetype={file.type} muted={muted} />\n <FileNameLabel fileName={file.name} muted={muted} />\n {isBusy ? (\n <span className={cx(`${rootClassName}__spinner`)}>\n <Spinner size=\"xxs\" aria-hidden=\"true\" disabled />\n <VisuallyHidden aria-live=\"polite\">{`${busyText} ${file.name}`}</VisuallyHidden>\n </span>\n ) : (\n <Button\n iconOnly\n variant=\"text\"\n aria-label={`${removeFileButtonLabel} ${file.name}`}\n onClick={() => handleRemoveFile(file)}\n className={cx(`${rootClassName}__remove-button`)}\n disabled={disabled}\n >\n <IconRemove size=\"xs\" />\n </Button>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n }\n);\n\nFileUpload.displayName = \"FileUpload\";\n\nexport type { FileUploadProps };\nexport type {\n FileUploadAttachProps,\n FileUploadUploadProps,\n FileUploadWithAcceptedFileTypesProps,\n FileUploadWithDndProps,\n FileUploadWithMaxFileSizeProps,\n FileUploadWithMaxFilesProps,\n FileUploadWithoutAcceptedFileTypesProps,\n FileUploadWithoutDndProps,\n FileUploadWithoutMaxFileSizeProps,\n FileUploadWithoutMaxFilesProps,\n FileUploadWithoutTooltipProps,\n FileUploadWithTooltipProps,\n} from \"./file-upload-types\";\n"],"names":["v","r","o","a","e","l","t","cx","c","styles","rootClassName","FileUploadButton","accept","children","disabled","files","interactive","multiple","onFilesChange","useMediaQueries","variant","inputId","useId","inputRef","useRef","buttonRef","icon","jsx","IconAttachment","IconUpload","useEffect","dataTransfer","file","responsiveWidthClasses","jsxs","Fragment","Button","u","n","i","m","d","f","g","h","S","x","b","y","w","p","FileUploadDragAndDrop","backgroundColor","dragAndDropLabel","dragAndDropId","dragDepthRef","isDragOver","setIsDragOver","useState","setNodeRef","useDroppable","isFileDragEvent","event","resetDragState","handleDragEnter","handleDragOver","handleDragLeave","handleDrop","DndContext","IllustrativeIconDocumentAttachDuocolorStatic","IllustrativeIconDocumentUploadDuocolorStatic","Paragraph","END_PART_WIDTH_RATIO","MIN_END_PART_CHAR_LENGTH","MAX_END_PART_CHAR_LENGTH","MIN_START_CHAR_LENGTH","FIRST_EXTENSION_DOT_MIN_INDEX","splitFileName","fileName","lastDotIndex","hasExtension","getTextWidth","text","font","context","extractBoundaryWhitespace","start","end","trailingWhitespace","leadingWhitespace","separator","getFileNameParts","labelWidth","baseName","extension","maxEndPartWidth","maxStartTrimLength","maxAllowedEndPartLength","bestEndPartLength","endPartLength","endPart","FileNameLabel","muted","props","labelRef","setLabelWidth","setFont","useLayoutEffect","labelElement","updateMeasurements","computedStyle","resizeObserver","useMemo","H","C","L","FileUploadIcon","filetype","IconImage","IconVideo","IconVolume","IconDocumentPpt","IconDocumentDoc","IconDocumentExcel","IconDocumentPdf","IconDoc","isSameFile","mergeFiles","existingFiles","newFiles","merged","existingIndex","existingFile","isFileTypeAccepted","acceptedFileTypes","type","getAcceptedFiles","maxFileSizeBytes","allFiles","sizeAcceptedFiles","acceptedFiles","FileUpload","forwardRef","acceptedFileTypesErrorText","buttonLabel","dragAndDrop","errorText","helperText","label","labelTag","maxFiles","maxFilesErrorText","maxFileSizeErrorText","removeFileButtonLabel","tooltipText","uploadProps","ref","labelId","helperTextId","errorTextId","setFiles","maxFilesExceeded","setMaxFilesExceeded","maxFileSizeExceeded","setMaxFileSizeExceeded","invalidFileType","setInvalidFileType","isFileUploading","uploadingText","isFileRemoving","removingText","handleFilesChange","nextFiles","hasOversizedFiles","hasInvalidFileType","combinedFiles","accepted","currentFiles","currentFile","handleRemoveFile","removed","button","errorContent","Heading","FieldHelperText","Tooltip","FieldErrorText","index","isBusy","busyText","Spinner","VisuallyHidden","IconRemove"],"mappings":"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"}
1
+ {"version":3,"file":"file-upload-ih5NqF67.mjs","sources":["../../../components/icon/dist/components/remove.es.js","../../../components/icon/dist/components/attachment.es.js","../../../components/icon/dist/components/upload.es.js","../../../components/file-upload/src/file-upload-button.tsx","../../../components/illustrative-icon/dist/_commonjsHelpers-C6fGbg64.mjs","../../../components/illustrative-icon/dist/static-illustrative-icon-B1ddcvze.mjs","../../../components/illustrative-icon/dist/components/document-attach-duocolor-static.es.js","../../../components/illustrative-icon/dist/components/document-upload-duocolor-static.es.js","../../../components/file-upload/src/file-upload-drag-and-drop.tsx","../../../components/file-upload/src/file-upload-file-name-label.tsx","../../../components/icon/dist/components/doc.es.js","../../../components/icon/dist/components/document-doc.es.js","../../../components/icon/dist/components/document-excel.es.js","../../../components/icon/dist/components/document-pdf.es.js","../../../components/icon/dist/components/document-ppt.es.js","../../../components/icon/dist/components/image.es.js","../../../components/icon/dist/components/video.es.js","../../../components/icon/dist/components/volume.es.js","../../../components/file-upload/src/file-upload-icon.tsx","../../../components/file-upload/src/file-upload-utils.ts","../../../components/file-upload/src/file-upload.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst v = {\n name: \"remove\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M7.6 2.5a.9.9 0 0 1 .9-.9h7a.9.9 0 0 1 .9.9v2.6h4.1a.9.9 0 0 1 0 1.8h-17a.9.9 0 0 1 0-1.8h11.1V3.4H9.4v.1a.9.9 0 0 1-1.8 0v-1ZM5 8.1a.9.9 0 0 1 .9.9v11.6h12.2V9a.9.9 0 1 1 1.8 0v12.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V9a.9.9 0 0 1 .9-.9Zm4.5 1a.9.9 0 0 1 .9.9v8a.9.9 0 0 1-1.8 0v-8a.9.9 0 0 1 .9-.9Zm5 0a.9.9 0 0 1 .9.9v8a.9.9 0 0 1-1.8 0v-8a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"remove\"],\n category: \"action\"\n}, r = (o) => /* @__PURE__ */ a(e, { ...o, svg: v });\nr.displayName = \"IconRemove\";\nexport {\n r as IconRemove\n};\n//# sourceMappingURL=remove.es.js.map\n","import { jsx as a } from \"react/jsx-runtime\";\nimport { I as o } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"attachment\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M15.654 3.87a3.872 3.872 0 0 1 5.484 0 3.913 3.913 0 0 1 0 5.5L10.934 19.636a5.34 5.34 0 0 1-7.588 0l-.002-.002a5.42 5.42 0 0 1 0-7.613l.004-.004 8.016-8.015a.9.9 0 0 1 1.272 1.273l-8.013 8.013a3.62 3.62 0 0 0 0 5.08 3.54 3.54 0 0 0 5.035-.002L19.862 8.102a2.113 2.113 0 0 0 0-2.962 2.072 2.072 0 0 0-2.931 0l-9.396 9.456a.607.607 0 0 0 0 .847c.226.228.6.228.827 0l.002-.002 3-3a.9.9 0 0 1 1.272 1.273L9.638 16.71a2.386 2.386 0 0 1-3.38 0 2.406 2.406 0 0 1 0-3.385l9.396-9.456Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"attachment\"],\n category: \"action\"\n}, l = (t) => /* @__PURE__ */ a(o, { ...t, svg: e });\nl.displayName = \"IconAttachment\";\nexport {\n l as IconAttachment\n};\n//# sourceMappingURL=attachment.es.js.map\n","import { jsx as a } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"upload\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M1.6 2.5a.9.9 0 0 1 .9-.9h19a.9.9 0 0 1 .9.9V13a.9.9 0 0 1-1.8 0V3.4H3.4V13a.9.9 0 0 1-1.8 0V2.5Zm9.764 4.864a.9.9 0 0 1 1.272 0l5 5a.9.9 0 1 1-1.272 1.272L12.9 10.173V21.5a.9.9 0 0 1-1.8 0V10.173l-3.464 3.463a.9.9 0 0 1-1.272-1.272l5-5Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"upload\"],\n category: \"action\"\n}, r = (o) => /* @__PURE__ */ a(l, { ...o, svg: e });\nr.displayName = \"IconUpload\";\nexport {\n r as IconUpload\n};\n//# sourceMappingURL=upload.es.js.map\n","import React, { type ReactNode, useEffect, useId, useRef } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconAttachment } from \"@purpur/icon/attachment\";\nimport { IconUpload } from \"@purpur/icon/upload\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-button.module.scss\";\nimport type { FileUploadProps } from \"./file-upload-types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-button\";\n\ntype Props = {\n accept?: string;\n children: ReactNode;\n disabled?: boolean;\n /** The full, merged list of files currently shown, kept in sync with the input's own file list. */\n files: File[];\n /**\n * Whether the trigger renders as a real, focusable button. Set to `false` when the\n * whole surrounding area (e.g. the drag-and-drop drop zone) is the actual clickable\n * control, so the visible trigger is just a \"fake\" button used for styling only.\n */\n interactive?: boolean;\n multiple: boolean;\n onFilesChange: (files: FileList | null | undefined) => void;\n useMediaQueries?: boolean;\n variant: FileUploadProps[\"variant\"];\n};\n\nexport const FileUploadButton = ({\n accept,\n children,\n disabled = false,\n files,\n interactive = true,\n multiple,\n onFilesChange,\n useMediaQueries = false,\n variant,\n}: Props) => {\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const icon = variant === \"attach\" ? <IconAttachment size=\"xs\" /> : <IconUpload size=\"xs\" />;\n\n // Selections can be added via drag-and-drop or merged with previous ones, so the input's own\n // file list (used e.g. when submitting a form) is kept in sync with the full list shown to the user.\n useEffect(() => {\n // jsdom (used in tests) doesn't implement DataTransfer, so skip syncing there.\n if (!inputRef.current || typeof DataTransfer === \"undefined\") {\n return;\n }\n\n const dataTransfer = new DataTransfer();\n files.forEach((file) => dataTransfer.items.add(file));\n inputRef.current.files = dataTransfer.files;\n }, [files]);\n\n const responsiveWidthClasses = {\n [`${rootClassName}--use-media-queries`]: useMediaQueries,\n [`${rootClassName}--use-container-queries`]: !useMediaQueries,\n };\n\n return (\n <>\n <input\n id={inputId}\n ref={inputRef}\n className={cx(`${rootClassName}__input`)}\n type=\"file\"\n accept={accept}\n disabled={disabled}\n multiple={multiple}\n tabIndex={interactive ? -1 : undefined}\n onFocus={\n interactive\n ? () => {\n // The browser moves focus to the (visually hidden) file input once the\n // file selection dialog closes. Send it back to the visible trigger\n // button so keyboard/focus-visible styling stays on the upload area.\n buttonRef.current?.focus();\n }\n : undefined\n }\n onChange={(e) => {\n onFilesChange(e.target.files);\n e.target.value = \"\";\n }}\n name=\"upload\"\n />\n {interactive ? (\n <Button\n ref={buttonRef}\n variant=\"secondary\"\n aria-controls={inputId}\n className={cx(rootClassName, responsiveWidthClasses)}\n onClick={() => inputRef.current?.click()}\n disabled={disabled}\n fullWidth\n >\n {icon}\n {children}\n </Button>\n ) : (\n <span\n className={cx(\n [\n rootClassName,\n `${rootClassName}--fake`,\n `${rootClassName}--fake--secondary`,\n `${rootClassName}--fake--md`,\n ],\n { [`${rootClassName}--fake--disabled`]: disabled },\n responsiveWidthClasses\n )}\n >\n {children}\n </span>\n )}\n </>\n );\n};\n","function e(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nexport {\n e as g\n};\n//# sourceMappingURL=_commonjsHelpers-C6fGbg64.mjs.map\n","import { jsx as c } from \"react/jsx-runtime\";\nimport { forwardRef as p } from \"react\";\nimport { g as f } from \"./_commonjsHelpers-C6fGbg64.mjs\";\nvar u = { exports: {} };\nvar l;\nfunction v() {\n return l || (l = 1, (function(n) {\n (function() {\n var e = {}.hasOwnProperty;\n function i() {\n for (var t = \"\", r = 0; r < arguments.length; r++) {\n var s = arguments[r];\n s && (t = a(t, o.call(this, s)));\n }\n return t;\n }\n function o(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return i.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var r = \"\";\n for (var s in t)\n e.call(t, s) && t[s] && (r = a(r, this && this[s] || s));\n return r;\n }\n function a(t, r) {\n return r ? t ? t + \" \" + r : t + r : t;\n }\n n.exports ? (i.default = i, n.exports = i) : window.classNames = i;\n })();\n })(u)), u.exports;\n}\nvar m = v();\nconst d = /* @__PURE__ */ f(m), g = {\n \"purpur-illustrative-icon\": \"_purpur-illustrative-icon_64k5d_1\"\n}, h = d.bind(g), S = \"purpur-illustrative-icon\", x = (n) => n.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), b = ({ content: n = \"\", title: e } = {}) => {\n const i = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"none\" },\n { name: \"viewBox\", value: \"0 0 64 64\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], o = e ? `<title>${e}</title>` : \"\";\n return `<svg ${x(i)}>${o}${n}</svg>`;\n}, y = (n) => n.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), w = p(\n ({ svg: n, allyTitle: e, className: i, ...o }, a) => {\n const t = b({\n content: y(n),\n title: e\n });\n return /* @__PURE__ */ c(\n \"span\",\n {\n className: h(S, i),\n dangerouslySetInnerHTML: { __html: t },\n ref: a,\n ...o\n }\n );\n }\n);\nw.displayName = \"StaticIllustrativeIcon\";\nexport {\n w as S\n};\n//# sourceMappingURL=static-illustrative-icon-B1ddcvze.mjs.map\n","import { jsx as t } from \"react/jsx-runtime\";\nimport { S as c } from \"../static-illustrative-icon-B1ddcvze.mjs\";\nconst v = {\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 64 64\"><path fill=\"#990AE3\" d=\"M30.14 43.815a3.925 3.925 0 0 1-3.92-3.92v-10.21a2.953 2.953 0 0 1 2.95-2.95 2.953 2.953 0 0 1 2.95 2.95v6.67a.5.5 0 1 1-1 0v-6.67c0-1.075-.875-1.95-1.95-1.95-1.076 0-1.95.875-1.95 1.95v10.21c0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92v-11.93c0-2.09-1.7-3.79-3.79-3.79s-3.79 1.7-3.79 3.79v6.71a.5.5 0 1 1-1 0v-6.71a4.795 4.795 0 0 1 4.79-4.79 4.795 4.795 0 0 1 4.79 4.79v11.93a3.925 3.925 0 0 1-3.92 3.92Z\"/><path fill=\"#29003E\" d=\"M47.59 56.335H14.35c-.85 0-1.54-.69-1.54-1.54v-42.59c0-.85.69-1.54 1.54-1.54h24.5c.417 0 .805.158 1.093.446l7.7 7.7c.288.288.447.676.447 1.094v32.9a.5.5 0 1 1-1 0v-32.9a.541.541 0 0 0-.154-.387l-7.7-7.7a.534.534 0 0 0-.386-.153h-24.5a.534.534 0 0 0-.54.54v42.59c0 .302.238.54.54.54h33.24a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M47.33 20.255h-8.2a.5.5 0 0 1-.5-.5v-8.21a.5.5 0 1 1 1 0v7.71h7.7a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M50.69 51.495a.5.5 0 0 1-.5-.5v-34.09a.542.542 0 0 0-.154-.388l-7.7-7.699a.528.528 0 0 0-.386-.153h-24.5a.534.534 0 0 0-.54.54.5.5 0 1 1-1 0c0-.85.69-1.54 1.54-1.54h24.5c.416 0 .805.158 1.093.445l7.7 7.701c.289.29.447.678.447 1.094v34.09a.5.5 0 0 1-.5.5Z\"/></svg>'\n}, l = (a) => /* @__PURE__ */ t(c, { ...a, svg: v.svg });\nl.displayName = \"IllustrativeIconDocumentAttachDuocolorStatic\";\nexport {\n l as IllustrativeIconDocumentAttachDuocolorStatic\n};\n//# sourceMappingURL=document-attach-duocolor-static.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nimport { S as t } from \"../static-illustrative-icon-B1ddcvze.mjs\";\nconst o = {\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 64 64\"><path fill=\"#990AE3\" d=\"M30.45 43.685a.5.5 0 0 1-.5-.5v-11.41a.5.5 0 1 1 1 0v11.41a.5.5 0 0 1-.5.5Z\"/><path fill=\"#990AE3\" d=\"M26.44 36.215a.499.499 0 0 1-.354-.854l4.01-4.01a.5.5 0 0 1 .707 0l4.011 4.01a.5.5 0 1 1-.707.707l-3.657-3.656-3.656 3.656a.499.499 0 0 1-.354.147Z\"/><path fill=\"#990AE3\" d=\"M27.46 40.668a.395.395 0 0 1-.181-.045l-.107-.056c-2.303-1.271-3.682-3.604-3.682-6.132a6.958 6.958 0 0 1 6.95-6.95 6.959 6.959 0 0 1 6.95 6.95 6.976 6.976 0 0 1-3.696 6.15c-.242.124-.58.056-.711-.182-.13-.238-.088-.514.147-.65l.104-.056a5.974 5.974 0 0 0 3.156-5.262 5.957 5.957 0 0 0-5.95-5.95 5.956 5.956 0 0 0-5.95 5.95 5.96 5.96 0 0 0 3.082 5.212c.247.122.424.461.302.71-.091.185-.24.31-.415.31Z\"/><path fill=\"#29003E\" d=\"M47.59 56.335H14.35c-.85 0-1.54-.69-1.54-1.54v-42.59c0-.85.69-1.54 1.54-1.54h24.5c.418 0 .806.158 1.094.446l7.7 7.7c.287.288.446.677.446 1.094v32.9a.5.5 0 1 1-1 0v-32.9a.541.541 0 0 0-.154-.387l-7.7-7.7a.526.526 0 0 0-.386-.153h-24.5a.534.534 0 0 0-.54.54v42.59c0 .302.237.54.54.54h33.24a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M47.33 20.255h-8.2a.5.5 0 0 1-.5-.5v-8.21a.5.5 0 1 1 1 0v7.71h7.7a.5.5 0 1 1 0 1Z\"/><path fill=\"#29003E\" d=\"M50.69 51.495a.5.5 0 0 1-.5-.5v-34.09a.541.541 0 0 0-.153-.387l-7.7-7.7a.526.526 0 0 0-.387-.153h-24.5a.534.534 0 0 0-.54.54.5.5 0 1 1-1 0c0-.85.69-1.54 1.54-1.54h24.5c.418 0 .805.158 1.093.446l7.7 7.7c.289.288.447.676.447 1.094v34.09a.5.5 0 0 1-.5.5Z\"/></svg>'\n}, c = (a) => /* @__PURE__ */ l(t, { ...a, svg: o.svg });\nc.displayName = \"IllustrativeIconDocumentUploadDuocolorStatic\";\nexport {\n c as IllustrativeIconDocumentUploadDuocolorStatic\n};\n//# sourceMappingURL=document-upload-duocolor-static.es.js.map\n","import React, { useId, useRef, useState } from \"react\";\nimport { DndContext, useDroppable } from \"@dnd-kit/core\";\nimport { IllustrativeIconDocumentAttachDuocolorStatic } from \"@purpur/illustrative-icon/document-attach-duocolor-static\";\nimport { IllustrativeIconDocumentUploadDuocolorStatic } from \"@purpur/illustrative-icon/document-upload-duocolor-static\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-drag-and-drop.module.scss\";\nimport type { FileUploadProps } from \"./file-upload-types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-drag-and-drop\";\n\ntype FileUploadDragAndDropProps = Pick<\n FileUploadProps,\n \"backgroundColor\" | \"dragAndDropLabel\" | \"variant\"\n> & {\n children: React.ReactNode;\n disabled?: boolean;\n onFilesChange: (files: FileList | null | undefined) => void;\n};\n\nexport const FileUploadDragAndDrop = ({\n backgroundColor,\n children,\n disabled = false,\n dragAndDropLabel,\n onFilesChange,\n variant,\n}: FileUploadDragAndDropProps) => {\n const dragAndDropId = useId();\n const dragDepthRef = useRef(0);\n const [isDragOver, setIsDragOver] = useState(false);\n const { setNodeRef } = useDroppable({ id: dragAndDropId });\n\n const isFileDragEvent = (event: React.DragEvent<HTMLDivElement>) => {\n return Array.from(event.dataTransfer?.types ?? []).includes(\"Files\");\n };\n\n const resetDragState = () => {\n dragDepthRef.current = 0;\n setIsDragOver(false);\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n dragDepthRef.current += 1;\n setIsDragOver(true);\n };\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = disabled ? \"none\" : \"copy\";\n\n if (disabled) {\n return;\n }\n\n setIsDragOver(true);\n };\n\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n dragDepthRef.current = Math.max(0, dragDepthRef.current - 1);\n\n if (dragDepthRef.current === 0) {\n setIsDragOver(false);\n }\n };\n\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\n if (!isFileDragEvent(event)) {\n return;\n }\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n onFilesChange(event.dataTransfer.files);\n resetDragState();\n };\n\n return (\n <DndContext>\n <div\n ref={setNodeRef}\n className={cx(`${rootClassName}__hit-area`)}\n onDragEnter={handleDragEnter}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n >\n <label\n className={cx(rootClassName, {\n [`${rootClassName}--${backgroundColor}`]: backgroundColor,\n [`${rootClassName}--drag-over`]: isDragOver,\n [`${rootClassName}--disabled`]: disabled,\n })}\n >\n <div className={cx(`${rootClassName}__icon-and-text`)}>\n {variant === \"attach\" ? (\n <IllustrativeIconDocumentAttachDuocolorStatic\n className={cx(`${rootClassName}__icon`, {\n [`${rootClassName}__icon--disabled`]: disabled,\n })}\n />\n ) : (\n <IllustrativeIconDocumentUploadDuocolorStatic\n className={cx(`${rootClassName}__icon`, {\n [`${rootClassName}__icon--disabled`]: disabled,\n })}\n />\n )}\n <Paragraph variant=\"paragraph-100-medium\" disabled={disabled}>\n {dragAndDropLabel}\n </Paragraph>\n </div>\n {children}\n </label>\n </div>\n </DndContext>\n );\n};\n","import React, {\n type ComponentPropsWithoutRef,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-file-name-label.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-file-name-label\";\n\ntype FileNameLabelProps = {\n fileName: string;\n muted?: boolean;\n} & ComponentPropsWithoutRef<\"p\">;\n\ntype FileNameParts = {\n start: string;\n separator: string;\n end: string;\n};\n\nconst END_PART_WIDTH_RATIO = 0.4;\nconst MIN_END_PART_CHAR_LENGTH = 3;\nconst MAX_END_PART_CHAR_LENGTH = 28;\nconst MIN_START_CHAR_LENGTH = 3;\nconst FIRST_EXTENSION_DOT_MIN_INDEX = 1;\n\nconst splitFileName = (fileName: string) => {\n const lastDotIndex = fileName.lastIndexOf(\".\");\n\n const hasExtension =\n lastDotIndex >= FIRST_EXTENSION_DOT_MIN_INDEX && lastDotIndex < fileName.length - 1;\n\n return {\n baseName: hasExtension ? fileName.slice(0, lastDotIndex) : fileName,\n extension: hasExtension ? fileName.slice(lastDotIndex) : \"\",\n };\n};\n\nconst getTextWidth = (text: string, font: string) => {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n if (!context) {\n return 0;\n }\n\n context.font = font;\n\n return context.measureText(text).width;\n};\n\nconst extractBoundaryWhitespace = (start: string, end: string): FileNameParts => {\n const trailingWhitespace = start.match(/\\s+$/)?.[0] ?? \"\";\n const leadingWhitespace = end.match(/^\\s+/)?.[0] ?? \"\";\n\n const separator = `${trailingWhitespace}${leadingWhitespace}`;\n\n return {\n start: trailingWhitespace ? start.slice(0, -trailingWhitespace.length) : start,\n separator,\n end: leadingWhitespace ? end.slice(leadingWhitespace.length) : end,\n };\n};\n\nconst getFileNameParts = (fileName: string, labelWidth: number, font: string): FileNameParts => {\n const { baseName, extension } = splitFileName(fileName);\n\n if (!labelWidth || !baseName) {\n return extractBoundaryWhitespace(baseName, extension);\n }\n\n const maxEndPartWidth = labelWidth * END_PART_WIDTH_RATIO;\n\n // Never trim more of the base name than leaves fewer than MIN_START_CHAR_LENGTH characters visible at the start.\n const maxStartTrimLength = Math.max(baseName.length - MIN_START_CHAR_LENGTH, 0);\n const maxAllowedEndPartLength = Math.min(MAX_END_PART_CHAR_LENGTH, maxStartTrimLength);\n\n let bestEndPartLength = Math.min(MIN_END_PART_CHAR_LENGTH, maxAllowedEndPartLength);\n\n for (\n let endPartLength = MIN_END_PART_CHAR_LENGTH;\n endPartLength <= maxAllowedEndPartLength;\n endPartLength += 1\n ) {\n const endPart = `${baseName.slice(-endPartLength)}${extension}`;\n const endPartWidth = getTextWidth(endPart, font);\n\n if (endPartWidth <= maxEndPartWidth) {\n bestEndPartLength = endPartLength;\n } else {\n break;\n }\n }\n\n const endPartLength = Math.min(bestEndPartLength, baseName.length);\n\n const start = baseName.slice(0, baseName.length - endPartLength);\n const end = `${baseName.slice(-endPartLength)}${extension}`;\n\n return extractBoundaryWhitespace(start, end);\n};\n\nexport const FileNameLabel = ({ fileName, muted, ...props }: FileNameLabelProps) => {\n const labelRef = useRef<HTMLParagraphElement>(null);\n const [labelWidth, setLabelWidth] = useState(0);\n const [font, setFont] = useState(\"\");\n\n useLayoutEffect(() => {\n const labelElement = labelRef.current;\n\n if (!labelElement) {\n return;\n }\n\n const updateMeasurements = () => {\n const computedStyle = window.getComputedStyle(labelElement);\n\n setLabelWidth(labelElement.getBoundingClientRect().width);\n setFont(computedStyle.font);\n };\n\n updateMeasurements();\n\n const resizeObserver = new ResizeObserver(updateMeasurements);\n\n resizeObserver.observe(labelElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n const { start, separator, end } = useMemo(\n () => getFileNameParts(fileName, labelWidth, font),\n [fileName, labelWidth, font]\n );\n\n return (\n <Paragraph\n variant=\"paragraph-100-medium\"\n className={cx(rootClassName)}\n ref={labelRef}\n disabled={muted}\n {...props}\n >\n <span className={cx(`${rootClassName}__start`)}>{start}</span>\n\n {separator && (\n <span className={cx(`${rootClassName}__separator`)} aria-hidden=\"true\">\n {separator.replace(/ /g, \"\\u00A0\")}\n </span>\n )}\n\n <span className={cx(`${rootClassName}__end`)}>{end}</span>\n </Paragraph>\n );\n};\n","import { jsx as o } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst c = {\n name: \"doc\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M4.1 2.5a.9.9 0 0 1 .9-.9h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19.9 8v13.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9v-19Zm1.8.9v17.2h12.2V8.9H14a.9.9 0 0 1-.9-.9V3.4H5.9Zm9 1.428L16.965 7.1H14.9V4.828ZM8.1 7a.9.9 0 0 1 .9-.9h1.5a.9.9 0 0 1 0 1.8H9a.9.9 0 0 1-.9-.9Zm0 3.5a.9.9 0 0 1 .9-.9h6a.9.9 0 1 1 0 1.8H9a.9.9 0 0 1-.9-.9Zm0 3.5a.9.9 0 0 1 .9-.9h6a.9.9 0 0 1 0 1.8H9a.9.9 0 0 1-.9-.9Zm0 3.5a.9.9 0 0 1 .9-.9h6a.9.9 0 0 1 0 1.8H9a.9.9 0 0 1-.9-.9Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"doc\"],\n category: \"file\"\n}, r = (a) => /* @__PURE__ */ o(e, { ...a, svg: c });\nr.displayName = \"IconDoc\";\nexport {\n r as IconDoc\n};\n//# sourceMappingURL=doc.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nimport { I as o } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"document-doc\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-opacity=\".84\" fill-rule=\"evenodd\" d=\"M4.364 1.864A.9.9 0 0 1 5 1.6h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19 8.9h-5a.9.9 0 0 1-.9-.9V3.4H5.9V7a.9.9 0 0 1-1.8 0V2.5a.9.9 0 0 1 .264-.636ZM14.9 4.828 16.965 7.1H14.9V4.828ZM5 18.1a.9.9 0 0 1 .9.9v1.6h12.2V19a.9.9 0 0 1 1.8 0v2.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V19a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/><path d=\"M5.572 10.05H3.184V16h2.388c1.581 0 2.924-1.241 2.924-2.975S7.153 10.05 5.572 10.05Zm-1.24 4.981v-4.012h1.24c1.012 0 1.768.825 1.768 2.006 0 1.181-.756 2.006-1.768 2.006h-1.24Zm7.938 1.105c1.658 0 3.052-1.3 3.052-3.111 0-1.81-1.394-3.111-3.052-3.111-1.649 0-3.043 1.3-3.043 3.111 0 1.81 1.394 3.111 3.043 3.111Zm0-.969c-1.08 0-1.895-.884-1.895-2.142s.816-2.142 1.895-2.142c1.088 0 1.904.884 1.904 2.142s-.816 2.142-1.904 2.142Zm6.832.969c.927 0 1.734-.391 2.244-.977l-.773-.706a1.883 1.883 0 0 1-1.47.714c-1.089 0-1.905-.884-1.905-2.142s.816-2.142 1.904-2.142c.57 0 1.063.255 1.403.629l.756-.714c-.51-.527-1.283-.884-2.159-.884-1.657 0-3.051 1.3-3.051 3.111 0 1.81 1.394 3.111 3.051 3.111Z\"/><path fill-rule=\"evenodd\" d=\"M3.084 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H3.084V9.95Zm.1 6.05h2.388c1.581 0 2.924-1.241 2.924-2.975S7.153 10.05 5.572 10.05H3.184V16Zm1.247-4.881v3.812h1.141c.946 0 1.668-.769 1.668-1.906s-.722-1.906-1.668-1.906h-1.14Zm10.99 1.906c0 1.867-1.439 3.211-3.15 3.211-1.704 0-3.144-1.345-3.144-3.211 0-1.866 1.44-3.211 3.143-3.211 1.712 0 3.152 1.345 3.152 3.211Zm-4.946 0c0 1.213.781 2.042 1.795 2.042 1.023 0 1.804-.829 1.804-2.042 0-1.213-.78-2.042-1.804-2.042-1.014 0-1.795.829-1.795 2.042Zm11.01 2.125-.063.074c-.53.61-1.365 1.012-2.32 1.012-1.712 0-3.151-1.345-3.151-3.211 0-1.866 1.44-3.211 3.151-3.211.903 0 1.702.368 2.231.915l.07.072-.904.854-.068-.076a1.79 1.79 0 0 0-1.329-.596c-1.023 0-1.804.829-1.804 2.042 0 1.213.781 2.042 1.804 2.042.579 0 1.078-.281 1.392-.676l.067-.084.925.843Zm-.977-.62c.023-.025.044-.051.065-.077l.773.706c-.51.586-1.317.977-2.244.977-1.657 0-3.051-1.3-3.051-3.111 0-1.81 1.394-3.111 3.051-3.111a3.022 3.022 0 0 1 2.16.884l-.757.714a1.885 1.885 0 0 0-1.402-.629c-1.089 0-1.905.884-1.905 2.142s.816 2.142 1.904 2.142a1.88 1.88 0 0 0 1.406-.637Zm-16.177.501h1.241c1.012 0 1.768-.825 1.768-2.006 0-1.181-.756-2.006-1.768-2.006h-1.24v4.012Zm10.99-2.006c0 1.81-1.393 3.111-3.05 3.111-1.65 0-3.044-1.3-3.044-3.111 0-1.81 1.394-3.111 3.043-3.111 1.658 0 3.052 1.3 3.052 3.111Zm-4.946 0c0 1.258.816 2.142 1.895 2.142 1.088 0 1.904-.884 1.904-2.142s-.816-2.142-1.904-2.142c-1.08 0-1.895.884-1.895 2.142Z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.084 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H3.084V9.95Zm18.402 5.2-.064.074c-.53.61-1.365 1.012-2.32 1.012-1.712 0-3.151-1.345-3.151-3.211 0-1.866 1.44-3.211 3.151-3.211a3.122 3.122 0 0 1 2.231.915l.07.072-.904.854-.068-.076a1.825 1.825 0 0 0-.049-.05 1.786 1.786 0 0 0-1.28-.546c-1.023 0-1.804.829-1.804 2.042 0 1.213.781 2.042 1.804 2.042a1.78 1.78 0 0 0 1.392-.676l.067-.084.925.843ZM2.934 9.8h2.638c1.716 0 3.174 1.35 3.174 3.225S7.288 16.25 5.572 16.25H2.934V9.8Zm18.761 5.338-.16.185c-.56.642-1.436 1.063-2.433 1.063-1.794 0-3.301-1.41-3.301-3.361 0-1.95 1.507-3.361 3.301-3.361.943 0 1.782.384 2.339.96l.176.182-1.126 1.063-.171-.189a1.64 1.64 0 0 0-1.218-.547c-.926 0-1.654.747-1.654 1.892s.728 1.892 1.654 1.892c.529 0 .986-.257 1.275-.62l.167-.209 1.151 1.05ZM4.581 11.27v3.512h.991c.848 0 1.518-.685 1.518-1.756 0-1.07-.67-1.756-1.518-1.756h-.99Zm10.99 1.756c0 1.95-1.507 3.361-3.3 3.361-1.786 0-3.294-1.411-3.294-3.361 0-1.95 1.508-3.361 3.293-3.361 1.794 0 3.302 1.41 3.302 3.361Zm-4.946 0c0 1.146.729 1.892 1.645 1.892.926 0 1.654-.747 1.654-1.892s-.728-1.892-1.654-1.892c-.916 0-1.645.746-1.645 1.892ZM4.43 11.119h1.141c.946 0 1.668.769 1.668 1.906s-.722 1.906-1.668 1.906h-1.14v-3.812Zm7.84 5.117c1.711 0 3.15-1.345 3.15-3.211 0-1.866-1.439-3.211-3.15-3.211-1.704 0-3.144 1.345-3.144 3.211 0 1.866 1.44 3.211 3.143 3.211Zm0-1.169c-1.015 0-1.796-.829-1.796-2.042 0-1.213.781-2.042 1.795-2.042 1.023 0 1.804.829 1.804 2.042 0 1.213-.78 2.042-1.804 2.042Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"document-doc\"],\n category: \"file\"\n}, m = (c) => /* @__PURE__ */ l(o, { ...c, svg: e });\nm.displayName = \"IconDocumentDoc\";\nexport {\n m as IconDocumentDoc\n};\n//# sourceMappingURL=document-doc.es.js.map\n","import { jsx as L } from \"react/jsx-runtime\";\nimport { I as e } from \"../icon-DNHpBTHs.mjs\";\nconst H = {\n name: \"document-excel\",\n svg: '<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.09123 1.59961C4.85254 1.59961 4.62362 1.69443 4.45484 1.86321C4.28606 2.032 4.19123 2.26091 4.19123 2.49961V6.99961C4.19123 7.49667 4.59418 7.89961 5.09123 7.89961C5.58829 7.89961 5.99123 7.49667 5.99123 6.99961V3.39961H13.1912V7.99961C13.1912 8.49667 13.5942 8.89961 14.0912 8.89961H19.0912C19.4475 8.89961 19.7702 8.68949 19.9143 8.36371C20.0584 8.03793 19.9968 7.6578 19.7572 7.3942L14.7572 1.8942C14.5866 1.70658 14.3448 1.59961 14.0912 1.59961H5.09123ZM17.0567 7.09961L14.9912 4.82756V7.09961H17.0567Z\"/><path d=\"M5.99123 18.9996C5.99123 18.5026 5.58829 18.0996 5.09123 18.0996C4.59418 18.0996 4.19123 18.5026 4.19123 18.9996V21.4996C4.19123 21.9967 4.59418 22.3996 5.09123 22.3996H19.0912C19.5883 22.3996 19.9912 21.9967 19.9912 21.4996V18.9996C19.9912 18.5026 19.5883 18.0996 19.0912 18.0996C18.5942 18.0996 18.1912 18.5026 18.1912 18.9996V20.5996H5.99123V18.9996Z\"/><path d=\"M5.85772 9.94957L7.25113 11.9085L8.64454 9.94957H10.2271L8.10585 12.863L10.4653 16.0996H8.88269L7.25113 13.817L5.61957 16.0996H4.03655L6.40474 12.863L4.27464 9.94957H5.85772Z\"/><path d=\"M12.2278 14.9306V9.94957H10.8803V16.0996H14.9138V14.9306H12.2278Z\"/><path d=\"M15.7846 12.6443C16.0307 12.9326 16.4176 13.159 16.9777 13.3486L17.6572 13.5865C17.9185 13.6749 18.144 13.7729 18.3022 13.897C18.4568 14.0182 18.5423 14.1594 18.5423 14.3421C18.5423 14.5514 18.4498 14.7268 18.286 14.8524C18.1203 14.9795 17.8776 15.0581 17.5798 15.0581C17.0136 15.0581 16.4832 14.7468 16.1684 14.2463L16.1118 14.1563L15.137 14.8569L15.1804 14.9347C15.6612 15.7984 16.6434 16.2271 17.5628 16.2271C18.7539 16.2271 19.8048 15.4779 19.8048 14.2996C19.8048 13.8283 19.6726 13.452 19.3893 13.1458C19.1093 12.8432 18.6893 12.6175 18.1303 12.4283L17.5103 12.216C17.2511 12.1268 17.0456 12.0416 16.9053 11.9371C16.7702 11.8365 16.7023 11.7236 16.7023 11.5711C16.7023 11.2846 16.9787 10.9911 17.5628 10.9911C18.0557 10.9911 18.4859 11.1849 18.7539 11.4923L18.8168 11.5644L19.7256 10.8395L19.6645 10.7614C19.1826 10.1456 18.3599 9.82207 17.5628 9.82207C16.4054 9.82207 15.4398 10.5544 15.4398 11.6051C15.4398 12.0089 15.5358 12.3529 15.7846 12.6443Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.85772 9.94957L7.25113 11.9085L8.64454 9.94957H10.2271L8.10585 12.863L10.4653 16.0996H8.88269L7.25113 13.817L5.61957 16.0996H4.03655L6.40474 12.863L4.27464 9.94957H5.85772ZM6.25606 12.863L4.03826 9.82957H5.91962L7.25113 11.7015L8.58264 9.82957H10.4629L8.25432 12.863L10.7013 16.2196H8.82096L7.25113 14.0234L5.6813 16.2196H3.80005L6.25606 12.863ZM12.3478 9.82957V14.8106H14.9959L16.1454 13.9843L16.27 14.1824C16.5648 14.6511 17.0584 14.9381 17.5798 14.9381C17.8577 14.9381 18.0728 14.8647 18.213 14.7572C18.3489 14.6529 18.4223 14.512 18.4223 14.3421C18.4223 14.2053 18.3617 14.0961 18.2282 13.9914C18.0867 13.8805 17.8773 13.7877 17.6187 13.7001L17.6176 13.6997L16.9393 13.4623C16.9391 13.4622 16.9394 13.4624 16.9393 13.4623C16.3699 13.2695 15.9594 13.0339 15.6933 12.7222C15.4213 12.4036 15.3198 12.0293 15.3198 11.6051C15.3198 10.4663 16.3633 9.70207 17.5628 9.70207C18.3883 9.70207 19.2496 10.0365 19.759 10.6875L19.8933 10.8591L18.8018 11.7299L18.6634 11.5711C18.4207 11.2928 18.0249 11.1111 17.5628 11.1111C17.0137 11.1111 16.8223 11.3783 16.8223 11.5711C16.8223 11.6772 16.8648 11.7574 16.977 11.8409C17.1008 11.9331 17.29 12.0133 17.5493 12.1025C17.5493 12.1025 17.5492 12.1025 17.5493 12.1025L18.1688 12.3147C18.1688 12.3147 18.1687 12.3147 18.1688 12.3147C18.7355 12.5065 19.1776 12.7403 19.4774 13.0643C19.7846 13.3963 19.9248 13.8033 19.9248 14.2996C19.9248 15.5662 18.7958 16.3471 17.5628 16.3471C16.6113 16.3471 15.5826 15.9038 15.0755 14.9931L15.0338 14.9181V16.2196H10.7603V9.82957H12.3478ZM18.1303 12.4283L17.5103 12.216C17.2511 12.1268 17.0456 12.0416 16.9053 11.9371C16.7702 11.8365 16.7023 11.7236 16.7023 11.5711C16.7023 11.2846 16.9787 10.9911 17.5628 10.9911C18.0557 10.9911 18.4859 11.1849 18.7539 11.4923L18.8168 11.5644L19.7256 10.8395L19.6645 10.7614C19.1826 10.1456 18.3599 9.82207 17.5628 9.82207C16.4054 9.82207 15.4398 10.5544 15.4398 11.6051C15.4398 12.0089 15.5358 12.3529 15.7846 12.6443C16.0307 12.9326 16.4176 13.159 16.9777 13.3486L17.6572 13.5865C17.9185 13.6749 18.144 13.7729 18.3022 13.897C18.4568 14.0182 18.5423 14.1594 18.5423 14.3421C18.5423 14.5514 18.4498 14.7268 18.286 14.8524C18.1203 14.9795 17.8776 15.0581 17.5798 15.0581C17.018 15.0581 16.4915 14.7517 16.1758 14.258C16.1733 14.2541 16.1709 14.2502 16.1684 14.2463L16.1118 14.1563L15.137 14.8569L15.1804 14.9347C15.6612 15.7984 16.6434 16.2271 17.5628 16.2271C18.7539 16.2271 19.8048 15.4779 19.8048 14.2996C19.8048 13.8283 19.6726 13.452 19.3893 13.1458C19.1093 12.8432 18.6893 12.6175 18.1303 12.4283ZM12.2278 14.9306V9.94957H10.8803V16.0996H14.9138V14.9306H12.2278Z\"/></svg>',\n keywords: [\"document-excel\"],\n category: \"file\"\n}, o = (C) => /* @__PURE__ */ L(e, { ...C, svg: H });\no.displayName = \"IconDocumentExcel\";\nexport {\n o as IconDocumentExcel\n};\n//# sourceMappingURL=document-excel.es.js.map\n","import { jsx as v } from \"react/jsx-runtime\";\nimport { I as c } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"document-pdf\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-opacity=\".84\" fill-rule=\"evenodd\" d=\"M4.364 1.864A.9.9 0 0 1 5 1.6h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19 8.9h-5a.9.9 0 0 1-.9-.9V3.4H5.9V7a.9.9 0 0 1-1.8 0V2.5a.9.9 0 0 1 .264-.636ZM14.9 4.828 16.965 7.1H14.9V4.828ZM5 18.1a.9.9 0 0 1 .9.9v1.6h12.2V19a.9.9 0 1 1 1.8 0v2.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V19a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/><path d=\"M6.765 10.05H4.487V16h1.139v-2.074h1.139c1.113 0 2.048-.799 2.048-1.93 0-1.139-.935-1.946-2.048-1.946Zm-1.14 2.907v-1.938h1.03c.594 0 1.01.408 1.01.977 0 .57-.416.961-1.01.961h-1.03Zm6.488-2.907H9.725V16h2.388c1.581 0 2.924-1.241 2.924-2.975s-1.343-2.975-2.924-2.975Zm-1.24 4.981v-4.012h1.24c1.012 0 1.768.825 1.768 2.006 0 1.181-.756 2.006-1.768 2.006h-1.24Zm9.112-4.981h-3.927V16h1.148v-2.49h2.218v-.97h-2.218v-1.52h2.78v-.969Z\"/><path fill-rule=\"evenodd\" d=\"M4.387 9.95h2.378c1.161 0 2.148.845 2.148 2.046 0 1.194-.988 2.03-2.148 2.03h-1.04V16.1H4.388V9.95ZM5.626 16h-1.14v-5.95h2.279c1.113 0 2.048.807 2.048 1.946 0 1.131-.935 1.93-2.048 1.93h-1.14V16Zm.1-4.881v1.738h.928c.276 0 .503-.09.66-.24a.833.833 0 0 0 .252-.62.86.86 0 0 0-.252-.631.928.928 0 0 0-.66-.247h-.928ZM9.625 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H9.625V9.95Zm.1 6.05h2.388c1.581 0 2.924-1.241 2.924-2.975s-1.343-2.975-2.924-2.975H9.725V16Zm1.247-4.881v3.812h1.141c.946 0 1.668-.769 1.668-1.906s-.722-1.906-1.668-1.906h-1.14Zm9.113-1.169v1.169h-2.78v1.322h2.22v1.168h-2.22V16.1h-1.347V9.95h4.127ZM17.205 16h-1.147v-5.95h3.927v.969h-2.78v1.521h2.22v.97h-2.22V16Zm-11.58-3.043h1.03c.594 0 1.01-.391 1.01-.96 0-.57-.416-.978-1.01-.978h-1.03v1.938Zm5.247 2.074h1.241c1.012 0 1.768-.825 1.768-2.006 0-1.181-.756-2.006-1.768-2.006h-1.24v4.012Z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.387 9.95h2.378c1.161 0 2.148.845 2.148 2.046 0 1.194-.988 2.03-2.148 2.03h-1.04V16.1H4.388V9.95Zm1.489 4.226v2.074h-1.64V9.8h2.529c1.232 0 2.298.9 2.298 2.196 0 1.29-1.068 2.18-2.298 2.18h-.89ZM9.625 9.95h2.488c1.635 0 3.024 1.285 3.024 3.075 0 1.79-1.389 3.075-3.024 3.075H9.625V9.95Zm10.46 0v1.169h-2.78v1.322h2.22v1.168h-2.22V16.1h-1.347V9.95h4.127Zm-2.63 3.81v2.49h-1.647V9.8h4.427v1.469h-2.78v1.021h2.22v1.47h-2.22ZM9.476 9.8h2.638c1.716 0 3.174 1.35 3.174 3.225s-1.458 3.225-3.174 3.225H9.475V9.8Zm-3.6 1.469v1.438h.78c.242 0 .43-.079.556-.198a.684.684 0 0 0 .205-.513.71.71 0 0 0-.207-.522.779.779 0 0 0-.555-.205h-.778Zm5.247 0v3.512h.991c.848 0 1.518-.685 1.518-1.756 0-1.07-.67-1.756-1.518-1.756h-.99Zm-5.396-.15h.928a.93.93 0 0 1 .66.247.86.86 0 0 1 .252.63c0 .26-.094.473-.251.622a.942.942 0 0 1-.66.239h-.93v-1.738Zm5.246 0h1.141c.946 0 1.668.769 1.668 1.906s-.722 1.906-1.668 1.906h-1.14v-3.812Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"document-pdf\"],\n category: \"file\"\n}, m = (h) => /* @__PURE__ */ v(c, { ...h, svg: e });\nm.displayName = \"IconDocumentPdf\";\nexport {\n m as IconDocumentPdf\n};\n//# sourceMappingURL=document-pdf.es.js.map\n","import { jsx as v } from \"react/jsx-runtime\";\nimport { I as c } from \"../icon-DNHpBTHs.mjs\";\nconst e = {\n name: \"document-ppt\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-opacity=\".84\" fill-rule=\"evenodd\" d=\"M4.364 1.864A.9.9 0 0 1 5 1.6h9a.9.9 0 0 1 .666.295l5 5.5A.9.9 0 0 1 19 8.9h-5a.9.9 0 0 1-.9-.9V3.4H5.9V7a.9.9 0 0 1-1.8 0V2.5a.9.9 0 0 1 .264-.636ZM14.9 4.828 16.965 7.1H14.9V4.828ZM5 18.1a.9.9 0 0 1 .9.9v1.6h12.2V19a.9.9 0 1 1 1.8 0v2.5a.9.9 0 0 1-.9.9H5a.9.9 0 0 1-.9-.9V19a.9.9 0 0 1 .9-.9Z\" clip-rule=\"evenodd\"/><path d=\"M7.11 10.05H4.83V16h1.14v-2.074h1.138c1.114 0 2.049-.799 2.049-1.93 0-1.139-.935-1.946-2.049-1.946Zm-1.14 2.907v-1.938H7c.595 0 1.011.408 1.011.977 0 .57-.416.961-1.011.961H5.97Zm6.377-2.907H10.07V16h1.14v-2.074h1.138c1.114 0 2.049-.799 2.049-1.93 0-1.139-.935-1.946-2.049-1.946Zm-1.139 2.907v-1.938h1.029c.595 0 1.011.408 1.011.977 0 .57-.416.961-1.011.961h-1.029Zm8.366-2.907h-4.675v.969h1.785V16h1.122v-4.981h1.768v-.969Z\"/><path fill-rule=\"evenodd\" d=\"M4.731 9.95H7.11c1.161 0 2.149.845 2.149 2.046 0 1.194-.988 2.03-2.149 2.03H6.07V16.1H4.731V9.95ZM5.971 16H4.83v-5.95h2.28c1.114 0 2.049.807 2.049 1.946 0 1.131-.935 1.93-2.049 1.93H5.97V16Zm.1-4.881v1.738h.928a.94.94 0 0 0 .66-.24.833.833 0 0 0 .251-.62.86.86 0 0 0-.252-.631.928.928 0 0 0-.66-.247H6.07ZM9.968 9.95h2.378c1.161 0 2.149.845 2.149 2.046 0 1.194-.989 2.03-2.149 2.03h-1.039V16.1H9.97V9.95ZM11.21 16h-1.14v-5.95h2.278c1.114 0 2.049.807 2.049 1.946 0 1.131-.935 1.93-2.049 1.93h-1.139V16Zm.1-4.881v1.738h.928a.94.94 0 0 0 .66-.24.833.833 0 0 0 .251-.62.86.86 0 0 0-.252-.631.928.928 0 0 0-.66-.247h-.928Zm8.365-1.169v1.169h-1.768V16.1h-1.322v-4.981H14.8V9.95h4.875ZM14.9 11.019v-.969h4.675v.969h-1.768V16h-1.122v-4.981H14.9Zm-8.93 1.938H7c.595 0 1.011-.391 1.011-.96 0-.57-.416-.978-1.011-.978H5.97v1.938Zm5.238 0h1.029c.595 0 1.011-.391 1.011-.96 0-.57-.416-.978-1.011-.978h-1.029v1.938Z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.731 9.95H7.11c1.161 0 2.149.845 2.149 2.046 0 1.194-.988 2.03-2.149 2.03H6.07V16.1H4.731V9.95Zm1.49 4.226v2.074H4.58V9.8h2.53c1.233 0 2.299.9 2.299 2.196 0 1.29-1.069 2.18-2.299 2.18h-.89ZM9.968 9.95h2.378c1.161 0 2.149.845 2.149 2.046 0 1.194-.989 2.03-2.149 2.03h-1.039V16.1H9.97V9.95Zm1.49 4.226v2.074h-1.64V9.8h2.528c1.232 0 2.299.9 2.299 2.196 0 1.29-1.069 2.18-2.299 2.18h-.889Zm8.215-4.226v1.169h-1.768V16.1h-1.322v-4.981h-1.785V9.95h4.875Zm-3.24 1.319h-1.785V9.8h5.175v1.469h-1.768v4.981h-1.622v-4.981Zm-10.214 0v1.438H7c.242 0 .43-.079.557-.198a.684.684 0 0 0 .204-.513.71.71 0 0 0-.206-.522.779.779 0 0 0-.555-.205h-.78Zm5.238 0v1.438h.779c.242 0 .43-.079.557-.198a.684.684 0 0 0 .204-.513.71.71 0 0 0-.207-.522.779.779 0 0 0-.554-.205h-.779Zm-5.388-.15H7c.274 0 .501.094.66.247a.86.86 0 0 1 .251.63c0 .26-.094.473-.251.622a.942.942 0 0 1-.66.239h-.93v-1.738Zm5.238 0h.929c.274 0 .5.094.659.247a.86.86 0 0 1 .252.63c0 .26-.094.473-.251.622a.941.941 0 0 1-.66.239h-.929v-1.738Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"document-ppt\"],\n category: \"file\"\n}, m = (h) => /* @__PURE__ */ v(c, { ...h, svg: e });\nm.displayName = \"IconDocumentPpt\";\nexport {\n m as IconDocumentPpt\n};\n//# sourceMappingURL=document-ppt.es.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as o } from \"../icon-DNHpBTHs.mjs\";\nconst m = {\n name: \"image\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 25\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M1.6 4.5a.9.9 0 0 1 .9-.9h19a.9.9 0 0 1 .9.9v16a.9.9 0 0 1-.9.9h-19a.9.9 0 0 1-.9-.9v-16Zm1.8.9v14.2h17.2V5.4H3.4Zm4.1 2.5a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2ZM4.1 9.5a3.4 3.4 0 1 1 6.8 0 3.4 3.4 0 0 1-6.8 0Zm11.264.864a.9.9 0 0 1 1.272 0l3 3a.9.9 0 1 1-1.272 1.272L16 12.273l-5.364 5.363a.9.9 0 0 1-1.272 0L8 16.273l-2.364 2.363a.9.9 0 1 1-1.272-1.272l3-3a.9.9 0 0 1 1.272 0L10 15.727l5.364-5.363Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"image\"],\n category: \"media\"\n}, l = (a) => /* @__PURE__ */ e(o, { ...a, svg: m });\nl.displayName = \"IconImage\";\nexport {\n l as IconImage\n};\n//# sourceMappingURL=image.es.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as v } from \"../icon-DNHpBTHs.mjs\";\nconst a = {\n name: \"video\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 25\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M1.6 6a.9.9 0 0 1 .9-.9h19a.9.9 0 0 1 .9.9v14a.9.9 0 0 1-.9.9h-19a.9.9 0 0 1-.9-.9V6Zm1.8.9v12.2h17.2V6.9H3.4Zm6.167 1.811a.9.9 0 0 1 .916.03l5.5 3.5a.9.9 0 0 1 0 1.518l-5.5 3.5A.9.9 0 0 1 9.1 16.5v-7a.9.9 0 0 1 .467-.789ZM10.9 11.14v3.722L13.824 13 10.9 11.14Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"video\"],\n category: \"media\"\n}, d = (o) => /* @__PURE__ */ e(v, { ...o, svg: a });\nd.displayName = \"IconVideo\";\nexport {\n d as IconVideo\n};\n//# sourceMappingURL=video.es.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as l } from \"../icon-DNHpBTHs.mjs\";\nconst a = {\n name: \"volume\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12.864 3.177A.9.9 0 0 1 13.4 4v16a.9.9 0 0 1-1.505.666L6.652 15.9H4A1.9 1.9 0 0 1 2.1 14v-4c0-1.05.85-1.9 1.9-1.9h2.652l5.243-4.766a.9.9 0 0 1 .97-.157ZM11.6 6.034 7.605 9.666A.9.9 0 0 1 7 9.9H4a.1.1 0 0 0-.1.1v4a.1.1 0 0 0 .1.1h3a.9.9 0 0 1 .605.234l3.995 3.631V6.035Zm6.835-1.741a.9.9 0 0 1 1.273 0c4.256 4.256 4.256 11.158 0 15.414a.9.9 0 1 1-1.273-1.272 9.1 9.1 0 0 0 0-12.87.9.9 0 0 1 0-1.272Zm-3.071 3.07a.9.9 0 0 1 1.272 0 6.557 6.557 0 0 1 0 9.273.9.9 0 1 1-1.272-1.272 4.757 4.757 0 0 0 0-6.728.9.9 0 0 1 0-1.272Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"volume\"],\n category: \"action\"\n}, m = (o) => /* @__PURE__ */ e(l, { ...o, svg: a });\nm.displayName = \"IconVolume\";\nexport {\n m as IconVolume\n};\n//# sourceMappingURL=volume.es.js.map\n","import React from \"react\";\nimport { IconDoc } from \"@purpur/icon/doc\";\nimport { IconDocumentDoc } from \"@purpur/icon/document-doc\";\nimport { IconDocumentExcel } from \"@purpur/icon/document-excel\";\nimport { IconDocumentPdf } from \"@purpur/icon/document-pdf\";\nimport { IconDocumentPpt } from \"@purpur/icon/document-ppt\";\nimport { IconImage } from \"@purpur/icon/image\";\nimport { IconVideo } from \"@purpur/icon/video\";\nimport { IconVolume } from \"@purpur/icon/volume\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload-icon.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload-icon\";\n\ntype Props = {\n filetype: string;\n muted?: boolean;\n};\n\nexport const FileUploadIcon = ({ filetype, muted }: Props) => {\n const props = {\n size: \"sm\",\n className: cx(rootClassName, { [`${rootClassName}--muted`]: muted }),\n } as const;\n\n if (filetype.startsWith(\"image/\")) {\n return <IconImage {...props} />;\n }\n if (filetype.startsWith(\"video/\")) {\n return <IconVideo {...props} />;\n }\n if (filetype.startsWith(\"audio/\")) {\n return <IconVolume {...props} />;\n }\n if (filetype.includes(\"powerpoint\") || filetype.includes(\"presentationml\")) {\n return <IconDocumentPpt {...props} />;\n }\n if (\n filetype.includes(\"msword\") ||\n filetype.includes(\"ms-word\") ||\n filetype.includes(\"wordprocessingml\")\n ) {\n return <IconDocumentDoc {...props} />;\n }\n if (filetype.includes(\"excel\") || filetype.includes(\"spreadsheetml\")) {\n return <IconDocumentExcel {...props} />;\n }\n if (filetype === \"application/pdf\") {\n return <IconDocumentPdf {...props} />;\n }\n return <IconDoc {...props} />;\n};\n","const isSameFile = (a: File, b: File) =>\n a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;\n\n// Merges new files into the existing list, replacing rather than duplicating files that match an existing one.\nexport const mergeFiles = (existingFiles: File[], newFiles: File[]) => {\n const merged = [...existingFiles];\n\n newFiles.forEach((file) => {\n const existingIndex = merged.findIndex((existingFile) => isSameFile(existingFile, file));\n\n if (existingIndex === -1) {\n merged.push(file);\n } else {\n merged[existingIndex] = file;\n }\n });\n\n return merged;\n};\n\nconst isFileTypeAccepted = (file: File, acceptedFileTypes: string[]) => {\n return acceptedFileTypes.some((type) => {\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n\n if (type.endsWith(\"/*\")) {\n return file.type.startsWith(type.slice(0, -1));\n }\n\n return file.type === type;\n });\n};\n\nexport const getAcceptedFiles = (\n files: FileList | File[] | null | undefined,\n maxFileSizeBytes?: number,\n acceptedFileTypes?: string[]\n) => {\n if (!files) {\n return { acceptedFiles: [], hasOversizedFiles: false, hasInvalidFileType: false };\n }\n\n const allFiles = Array.from(files);\n const sizeAcceptedFiles = maxFileSizeBytes\n ? allFiles.filter((file) => file.size <= maxFileSizeBytes)\n : allFiles;\n\n const acceptedFiles =\n acceptedFileTypes && acceptedFileTypes.length > 0\n ? sizeAcceptedFiles.filter((file) => isFileTypeAccepted(file, acceptedFileTypes))\n : sizeAcceptedFiles;\n\n return {\n acceptedFiles,\n hasOversizedFiles: sizeAcceptedFiles.length !== allFiles.length,\n hasInvalidFileType: acceptedFiles.length !== sizeAcceptedFiles.length,\n };\n};\n","import React, { forwardRef, useId, useState } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { FieldErrorText } from \"@purpur/field-error-text\";\nimport { FieldHelperText } from \"@purpur/field-helper-text\";\nimport { Heading } from \"@purpur/heading\";\nimport { IconRemove } from \"@purpur/icon/remove\";\nimport { Spinner } from \"@purpur/spinner\";\nimport { Tooltip } from \"@purpur/tooltip\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./file-upload.module.scss\";\nimport { FileUploadButton } from \"./file-upload-button\";\nimport { FileUploadDragAndDrop } from \"./file-upload-drag-and-drop\";\nimport { FileNameLabel } from \"./file-upload-file-name-label\";\nimport { FileUploadIcon } from \"./file-upload-icon\";\nimport type { FileUploadProps } from \"./file-upload-types\";\nimport { getAcceptedFiles, mergeFiles } from \"./file-upload-utils\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-file-upload\";\n\nexport const FileUpload = forwardRef<HTMLDivElement, FileUploadProps>(\n (\n {\n acceptedFileTypes,\n acceptedFileTypesErrorText,\n backgroundColor = \"primary\",\n buttonLabel,\n disabled = false,\n dragAndDrop = false,\n dragAndDropLabel,\n errorText,\n helperText,\n label,\n labelTag = \"h2\",\n maxFiles,\n maxFilesErrorText,\n maxFileSizeBytes,\n maxFileSizeErrorText,\n removeFileButtonLabel,\n tooltipText,\n useMediaQueries = false,\n variant = \"attach\",\n ...uploadProps\n },\n ref\n ) => {\n const labelId = useId();\n const helperTextId = useId();\n const errorTextId = useId();\n const [files, setFiles] = useState<File[]>([]);\n const [maxFilesExceeded, setMaxFilesExceeded] = useState(false);\n const [maxFileSizeExceeded, setMaxFileSizeExceeded] = useState(false);\n const [invalidFileType, setInvalidFileType] = useState(false);\n const isFileUploading = \"onFileSelect\" in uploadProps ? uploadProps.isUploading : undefined;\n const uploadingText = \"onFileSelect\" in uploadProps ? uploadProps.uploadingText : undefined;\n const isFileRemoving = \"onFileSelect\" in uploadProps ? uploadProps.isRemoving : undefined;\n const removingText = \"onFileSelect\" in uploadProps ? uploadProps.removingText : undefined;\n\n const handleFilesChange = (nextFiles: FileList | File[] | null | undefined) => {\n if (disabled) {\n return;\n }\n\n const { acceptedFiles, hasOversizedFiles, hasInvalidFileType } = getAcceptedFiles(\n nextFiles,\n maxFileSizeBytes,\n acceptedFileTypes\n );\n setMaxFileSizeExceeded(hasOversizedFiles);\n setInvalidFileType(hasInvalidFileType);\n\n const combinedFiles = mergeFiles(files, acceptedFiles);\n\n if (maxFiles && combinedFiles.length > maxFiles) {\n setMaxFilesExceeded(true);\n return;\n }\n\n setMaxFilesExceeded(false);\n setFiles(combinedFiles);\n\n if (\"onFileSelect\" in uploadProps) {\n acceptedFiles.forEach((file) => {\n Promise.resolve(uploadProps.onFileSelect(file)).then((accepted) => {\n if (!accepted) {\n setFiles((currentFiles) =>\n currentFiles.filter((currentFile) => currentFile !== file)\n );\n }\n });\n });\n }\n };\n\n const handleRemoveFile = (file: File) => {\n if (disabled) {\n return;\n }\n\n if (\"onFileSelect\" in uploadProps) {\n Promise.resolve(uploadProps.onFileRemove(file)).then((removed) => {\n if (!removed) {\n return;\n }\n\n setFiles((currentFiles) => currentFiles.filter((currentFile) => currentFile !== file));\n setMaxFilesExceeded(false);\n setMaxFileSizeExceeded(false);\n setInvalidFileType(false);\n });\n return;\n }\n\n setFiles((currentFiles) => currentFiles.filter((currentFile) => currentFile !== file));\n setMaxFilesExceeded(false);\n setMaxFileSizeExceeded(false);\n setInvalidFileType(false);\n };\n\n const button = (\n <FileUploadButton\n accept={acceptedFileTypes?.join(\",\")}\n disabled={disabled}\n files={files}\n interactive={!dragAndDrop}\n multiple={maxFiles !== 1}\n onFilesChange={handleFilesChange}\n useMediaQueries={useMediaQueries}\n variant={variant}\n >\n {buttonLabel}\n </FileUploadButton>\n );\n\n const errorContent = maxFilesExceeded\n ? maxFilesErrorText\n : maxFileSizeExceeded\n ? maxFileSizeErrorText\n : invalidFileType\n ? acceptedFileTypesErrorText\n : errorText;\n\n return (\n <div\n ref={ref}\n className={cx(rootClassName)}\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n >\n <div className={cx(`${rootClassName}__content`)}>\n {label && (\n <Heading\n tag={labelTag}\n variant=\"subsection-100\"\n id={labelId}\n className={cx(`${rootClassName}__label`, {\n [`${rootClassName}__label--disabled`]: disabled,\n })}\n >\n {label}\n </Heading>\n )}\n {dragAndDrop ? (\n <FileUploadDragAndDrop\n backgroundColor={backgroundColor}\n disabled={disabled}\n dragAndDropLabel={dragAndDropLabel}\n onFilesChange={handleFilesChange}\n variant={variant}\n >\n {button}\n </FileUploadDragAndDrop>\n ) : (\n button\n )}\n {(helperText !== undefined || errorContent) && (\n <div className={cx(`${rootClassName}__messages`)}>\n {helperText !== undefined && (\n <div className={cx(`${rootClassName}__helper-text-row`)}>\n {helperText && <FieldHelperText id={helperTextId}>{helperText}</FieldHelperText>}\n {tooltipText && (\n <Tooltip buttonSize=\"xs\" iconSize=\"xs\" triggerAriaLabel={tooltipText}>\n {tooltipText}\n </Tooltip>\n )}\n </div>\n )}\n {errorContent && <FieldErrorText id={errorTextId}>{errorContent}</FieldErrorText>}\n </div>\n )}\n </div>\n {files.length > 0 && (\n <ul className={cx(`${rootClassName}__files`)}>\n {files.map((file, index) => {\n const isBusy = isFileUploading?.(file) || isFileRemoving?.(file);\n const busyText = isFileUploading?.(file) ? uploadingText : removingText;\n const muted = isBusy || disabled;\n\n return (\n <li\n key={`${file.name}-${index}`}\n className={cx(\n `${rootClassName}__file`,\n `${rootClassName}__file--${backgroundColor}`,\n {\n [`${rootClassName}__file--disabled`]: disabled,\n }\n )}\n >\n <FileUploadIcon filetype={file.type} muted={muted} />\n <FileNameLabel fileName={file.name} muted={muted} />\n {isBusy ? (\n <span className={cx(`${rootClassName}__spinner`)}>\n <Spinner size=\"xxs\" aria-hidden=\"true\" disabled />\n <VisuallyHidden aria-live=\"polite\">{`${busyText} ${file.name}`}</VisuallyHidden>\n </span>\n ) : (\n <Button\n iconOnly\n variant=\"text\"\n aria-label={`${removeFileButtonLabel} ${file.name}`}\n onClick={() => handleRemoveFile(file)}\n className={cx(`${rootClassName}__remove-button`)}\n disabled={disabled}\n >\n <IconRemove size=\"xs\" />\n </Button>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n }\n);\n\nFileUpload.displayName = \"FileUpload\";\n\nexport type { FileUploadProps };\nexport type {\n FileUploadAttachProps,\n FileUploadUploadProps,\n FileUploadWithAcceptedFileTypesProps,\n FileUploadWithDndProps,\n FileUploadWithMaxFileSizeProps,\n FileUploadWithMaxFilesProps,\n FileUploadWithoutAcceptedFileTypesProps,\n FileUploadWithoutDndProps,\n FileUploadWithoutMaxFileSizeProps,\n FileUploadWithoutMaxFilesProps,\n FileUploadWithoutTooltipProps,\n FileUploadWithTooltipProps,\n} from \"./file-upload-types\";\n"],"names":["v","r","o","a","e","l","t","cx","c","styles","rootClassName","FileUploadButton","accept","children","disabled","files","interactive","multiple","onFilesChange","useMediaQueries","variant","inputId","useId","inputRef","useRef","buttonRef","icon","jsx","IconAttachment","IconUpload","useEffect","dataTransfer","file","responsiveWidthClasses","jsxs","Fragment","Button","u","n","i","m","d","f","g","h","S","x","b","y","w","p","FileUploadDragAndDrop","backgroundColor","dragAndDropLabel","dragAndDropId","dragDepthRef","isDragOver","setIsDragOver","useState","setNodeRef","useDroppable","isFileDragEvent","event","resetDragState","handleDragEnter","handleDragOver","handleDragLeave","handleDrop","DndContext","IllustrativeIconDocumentAttachDuocolorStatic","IllustrativeIconDocumentUploadDuocolorStatic","Paragraph","END_PART_WIDTH_RATIO","MIN_END_PART_CHAR_LENGTH","MAX_END_PART_CHAR_LENGTH","MIN_START_CHAR_LENGTH","FIRST_EXTENSION_DOT_MIN_INDEX","splitFileName","fileName","lastDotIndex","hasExtension","getTextWidth","text","font","context","extractBoundaryWhitespace","start","end","trailingWhitespace","leadingWhitespace","separator","getFileNameParts","labelWidth","baseName","extension","maxEndPartWidth","maxStartTrimLength","maxAllowedEndPartLength","bestEndPartLength","endPartLength","endPart","FileNameLabel","muted","props","labelRef","setLabelWidth","setFont","useLayoutEffect","labelElement","updateMeasurements","computedStyle","resizeObserver","useMemo","H","C","L","FileUploadIcon","filetype","IconImage","IconVideo","IconVolume","IconDocumentPpt","IconDocumentDoc","IconDocumentExcel","IconDocumentPdf","IconDoc","isSameFile","mergeFiles","existingFiles","newFiles","merged","existingIndex","existingFile","isFileTypeAccepted","acceptedFileTypes","type","getAcceptedFiles","maxFileSizeBytes","allFiles","sizeAcceptedFiles","acceptedFiles","FileUpload","forwardRef","acceptedFileTypesErrorText","buttonLabel","dragAndDrop","errorText","helperText","label","labelTag","maxFiles","maxFilesErrorText","maxFileSizeErrorText","removeFileButtonLabel","tooltipText","uploadProps","ref","labelId","helperTextId","errorTextId","setFiles","maxFilesExceeded","setMaxFilesExceeded","maxFileSizeExceeded","setMaxFileSizeExceeded","invalidFileType","setInvalidFileType","isFileUploading","uploadingText","isFileRemoving","removingText","handleFilesChange","nextFiles","hasOversizedFiles","hasInvalidFileType","combinedFiles","accepted","currentFiles","currentFile","handleRemoveFile","removed","button","errorContent","Heading","FieldHelperText","Tooltip","FieldErrorText","index","isBusy","busyText","Spinner","VisuallyHidden","IconRemove"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./file-upload-MvNuX4ks.js");exports.FileUpload=e.FileUpload;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./file-upload-CdlYkCg8.js");exports.FileUpload=e.FileUpload;
2
2
  //# sourceMappingURL=file-upload.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { F as e } from "./file-upload-Ctw6LCTU.mjs";
1
+ import { F as e } from "./file-upload-ih5NqF67.mjs";
2
2
  export {
3
3
  e as FileUpload
4
4
  };
@@ -3,8 +3,8 @@ import { createElement as f } from "react";
3
3
  import { C as w } from "./container-DLjBTB_w.mjs";
4
4
  import { a as $ } from "./link-ccCdDvBc.mjs";
5
5
  import { S as x } from "./select-XNPtpZhh.mjs";
6
- import { a as F } from "./ThemeProvider-BJ25_asg.mjs";
7
- import { u as S } from "./useColorScheme-B7lGBSe4.mjs";
6
+ import { a as F } from "./ThemeProvider-BrAZhasG.mjs";
7
+ import { u as S } from "./useColorScheme-DXAxJPXW.mjs";
8
8
  import { c as g } from "./bind-CU-R61T-.mjs";
9
9
  import { A as y } from "./accordion-aEZas0k1.mjs";
10
10
  import { b as T } from "./icon.es-CZcKxTaM.mjs";
@@ -298,4 +298,4 @@ E.displayName = "Footer";
298
298
  export {
299
299
  E as F
300
300
  };
301
- //# sourceMappingURL=footer-DkVmTd-f.mjs.map
301
+ //# sourceMappingURL=footer-CVVt8hUE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer-DkVmTd-f.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 headingTag=\"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 width=\"81\" height=\"32\" viewBox=\"0 0 81 32\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\">\n <title>Telia</title>\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
+ {"version":3,"file":"footer-CVVt8hUE.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 headingTag=\"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 width=\"81\" height=\"32\" viewBox=\"0 0 81 32\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\">\n <title>Telia</title>\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,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),m=require("react"),Z=require("./container-DRwKIAjh.js"),y=require("./link-Dzqd0QuD.js"),H=require("./select-D6R7I5b5.js"),L=require("./ThemeProvider-BJGm3zai.js"),w=require("./useColorScheme-BHhPgv9q.js"),g=require("./bind-DeUYJ6m9.js"),x=require("./accordion-zwsF1oUj.js"),F=require("./icon.es-j3eRib6d.js"),r="purpur-footer",C={"purpur-footer":"_purpur-footer_yqb4h_1","purpur-footer__container":"_purpur-footer__container_yqb4h_8","purpur-footer__logo":"_purpur-footer__logo_yqb4h_30","purpur-footer__logo--telia":"_purpur-footer__logo--telia_yqb4h_34","purpur-footer__social":"_purpur-footer__social_yqb4h_54","purpur-footer__social--md":"_purpur-footer__social--md_yqb4h_70","purpur-footer__social--sm":"_purpur-footer__social--sm_yqb4h_78","purpur-footer__social-link":"_purpur-footer__social-link_yqb4h_87","purpur-footer__navigation":"_purpur-footer__navigation_yqb4h_107","purpur-footer__navigation-section":"_purpur-footer__navigation-section_yqb4h_116","purpur-footer__navigation-section-heading":"_purpur-footer__navigation-section-heading_yqb4h_119","purpur-footer__navigation--lg":"_purpur-footer__navigation--lg_yqb4h_142","purpur-footer__navigation--sm":"_purpur-footer__navigation--sm_yqb4h_156","purpur-footer__custom-link-navigation":"_purpur-footer__custom-link-navigation_yqb4h_180","purpur-footer__payments":"_purpur-footer__payments_yqb4h_202","purpur-footer__payments-image":"_purpur-footer__payments-image_yqb4h_219","purpur-footer__contacts":"_purpur-footer__contacts_yqb4h_223","purpur-footer__contacts-copyright":"_purpur-footer__contacts-copyright_yqb4h_238","purpur-footer__contacts-address":"_purpur-footer__contacts-address_yqb4h_243","purpur-footer__theme-select":"_purpur-footer__theme-select_yqb4h_247","purpur-footer__additional":"_purpur-footer__additional_yqb4h_263","purpur-footer__additional-links":"_purpur-footer__additional-links_yqb4h_280","purpur-footer__custom-content":"_purpur-footer__custom-content_yqb4h_292"},p=g.c.bind(C),j=({links:c,customLink:t})=>e.jsx("ul",{children:c.map(({href:s,text:o,..._},l)=>e.jsx("li",{children:t?e.jsx(t,{..._,href:s,className:p(`${r}__custom-link-navigation`),children:o}):e.jsx(y.Link,{..._,variant:"navigation",negative:!0,href:s,disableVisited:!0,children:o})},l))}),S=({navigationLinks:c,sectionProps:t,customLink:s})=>e.jsxs(e.Fragment,{children:[e.jsx("section",{...t,className:p(`${r}__navigation`,`${r}__navigation--lg`,t?.className),children:c.map((o,_)=>e.jsxs("div",{className:p(`${r}__navigation-section`),children:[e.jsx("h3",{className:p(`${r}__navigation-section-heading`),children:o.heading}),e.jsx(j,{links:o.links,customLink:s})]},_))}),e.jsx("section",{...t,className:p(`${r}__navigation`,`${r}__navigation--sm`,t?.className),children:e.jsx(x.Accordion,{negative:!0,children:c.map((o,_)=>e.jsx(x.Accordion.Item,{title:o.heading,headingTag:"h2",className:p(`${r}__navigation-section`),children:e.jsx(j,{links:o.links,customLink:s})},_))})})]}),T=g.c.bind(C),v=({icon:c,href:t,...s})=>e.jsx("a",{...s,href:t,className:T(`${r}__social-link`),rel:"noreferrer",target:"_blank",children:e.jsx(F.b,{svg:c})}),E=()=>e.jsxs("svg",{width:"81",height:"32",viewBox:"0 0 81 32",xmlns:"http://www.w3.org/2000/svg",role:"img",children:[e.jsx("title",{children:"Telia"}),e.jsxs("g",{clipPath:"url(#clip0_5309_7721)",children:[e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{d:"M48.6359 11.2971H43.69V25.2064H40.5518V11.2971H35.5589V8.59093H48.6359V11.2971Z",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"})]}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0_5309_7721",children:e.jsx("rect",{width:"81",height:"32",fill:"currentColor"})})})]}),i=g.c.bind(C),N=({className:c,navigation:t,social:s,contacts:o,additional:_,custom:l,payments:u,logo:f,themeSelect:h,forceColorScheme:b,...q})=>{const $=i(c,r),{options:k}=L.useTheme(),[P,V]=w.useColorScheme(),M=b??k?.footerColorScheme;return e.jsx("footer",{"data-color-scheme":M,className:$,...q,children:e.jsx(Z.Container,{children:e.jsxs("div",{className:i(`${r}__container`),children:[e.jsx("div",{className:i(`${r}__logo`,{[`${r}__logo--telia`]:!f}),children:f??e.jsx(E,{})}),s&&e.jsx("section",{...s.sectionProps,className:i(`${r}__social`,`${r}__social--md`,s.sectionProps?.className),children:s.links.map(({icon:n,href:a,...d})=>m.createElement(v,{...d,icon:n,href:a,key:a}))}),t&&e.jsx(S,{customLink:t.customLink,navigationLinks:t.links,sectionProps:t.sectionProps}),u&&e.jsxs("section",{...u.sectionProps,className:i(`${r}__payments`,u.sectionProps?.className),children:[u.content,u.images?.map(({alt:n,src:a})=>e.jsx("img",{className:i(`${r}__payments-image`),src:a,alt:n},a))]}),h&&e.jsx("section",{className:i(`${r}__theme-select`),children:e.jsx(H.Select,{value:P,label:h.label,options:h.options,negative:!0,onChange:n=>{V(n.target.value)}})}),o&&e.jsxs("section",{...o.sectionProps,className:i(`${r}__contacts`,o.sectionProps?.className),children:[o.copyright&&e.jsx("div",{className:i(`${r}__contacts-copyright`),children:o.copyright}),o.address&&e.jsx("address",{...o.address.addressProps,className:i(`${r}__contacts-address`,o.address.addressProps?.className),children:o.address.content})]}),(l||_)&&e.jsxs("div",{className:i(`${r}__additional`),children:[l&&e.jsx("section",{...l.sectionProps,className:i(`${r}__custom-content`,l.sectionProps?.className),children:l.content}),_&&e.jsx("section",{..._.sectionProps,className:i(`${r}__additional-links`,_.sectionProps?.className),children:_?.links?.map(({href:n,text:a,...d})=>m.createElement(y.Link,{...d,variant:"standalone",negative:!0,href:n,key:n,disableVisited:!0},a))})]}),s&&e.jsx("section",{...s.sectionProps,className:i(`${r}__social`,`${r}__social--sm`,s.sectionProps?.className),children:s.links.map(({icon:n,href:a,...d})=>m.createElement(v,{...d,icon:n,href:a,key:a}))})]})})})};N.displayName="Footer";exports.Footer=N;
2
- //# sourceMappingURL=footer-Bbemct3Z.js.map
1
+ "use strict";const e=require("react/jsx-runtime"),m=require("react"),Z=require("./container-DRwKIAjh.js"),y=require("./link-Dzqd0QuD.js"),H=require("./select-D6R7I5b5.js"),L=require("./ThemeProvider-BGep6X_i.js"),w=require("./useColorScheme-BtOgJUTy.js"),g=require("./bind-DeUYJ6m9.js"),x=require("./accordion-zwsF1oUj.js"),F=require("./icon.es-j3eRib6d.js"),r="purpur-footer",C={"purpur-footer":"_purpur-footer_yqb4h_1","purpur-footer__container":"_purpur-footer__container_yqb4h_8","purpur-footer__logo":"_purpur-footer__logo_yqb4h_30","purpur-footer__logo--telia":"_purpur-footer__logo--telia_yqb4h_34","purpur-footer__social":"_purpur-footer__social_yqb4h_54","purpur-footer__social--md":"_purpur-footer__social--md_yqb4h_70","purpur-footer__social--sm":"_purpur-footer__social--sm_yqb4h_78","purpur-footer__social-link":"_purpur-footer__social-link_yqb4h_87","purpur-footer__navigation":"_purpur-footer__navigation_yqb4h_107","purpur-footer__navigation-section":"_purpur-footer__navigation-section_yqb4h_116","purpur-footer__navigation-section-heading":"_purpur-footer__navigation-section-heading_yqb4h_119","purpur-footer__navigation--lg":"_purpur-footer__navigation--lg_yqb4h_142","purpur-footer__navigation--sm":"_purpur-footer__navigation--sm_yqb4h_156","purpur-footer__custom-link-navigation":"_purpur-footer__custom-link-navigation_yqb4h_180","purpur-footer__payments":"_purpur-footer__payments_yqb4h_202","purpur-footer__payments-image":"_purpur-footer__payments-image_yqb4h_219","purpur-footer__contacts":"_purpur-footer__contacts_yqb4h_223","purpur-footer__contacts-copyright":"_purpur-footer__contacts-copyright_yqb4h_238","purpur-footer__contacts-address":"_purpur-footer__contacts-address_yqb4h_243","purpur-footer__theme-select":"_purpur-footer__theme-select_yqb4h_247","purpur-footer__additional":"_purpur-footer__additional_yqb4h_263","purpur-footer__additional-links":"_purpur-footer__additional-links_yqb4h_280","purpur-footer__custom-content":"_purpur-footer__custom-content_yqb4h_292"},p=g.c.bind(C),j=({links:c,customLink:t})=>e.jsx("ul",{children:c.map(({href:s,text:o,..._},l)=>e.jsx("li",{children:t?e.jsx(t,{..._,href:s,className:p(`${r}__custom-link-navigation`),children:o}):e.jsx(y.Link,{..._,variant:"navigation",negative:!0,href:s,disableVisited:!0,children:o})},l))}),S=({navigationLinks:c,sectionProps:t,customLink:s})=>e.jsxs(e.Fragment,{children:[e.jsx("section",{...t,className:p(`${r}__navigation`,`${r}__navigation--lg`,t?.className),children:c.map((o,_)=>e.jsxs("div",{className:p(`${r}__navigation-section`),children:[e.jsx("h3",{className:p(`${r}__navigation-section-heading`),children:o.heading}),e.jsx(j,{links:o.links,customLink:s})]},_))}),e.jsx("section",{...t,className:p(`${r}__navigation`,`${r}__navigation--sm`,t?.className),children:e.jsx(x.Accordion,{negative:!0,children:c.map((o,_)=>e.jsx(x.Accordion.Item,{title:o.heading,headingTag:"h2",className:p(`${r}__navigation-section`),children:e.jsx(j,{links:o.links,customLink:s})},_))})})]}),T=g.c.bind(C),v=({icon:c,href:t,...s})=>e.jsx("a",{...s,href:t,className:T(`${r}__social-link`),rel:"noreferrer",target:"_blank",children:e.jsx(F.b,{svg:c})}),E=()=>e.jsxs("svg",{width:"81",height:"32",viewBox:"0 0 81 32",xmlns:"http://www.w3.org/2000/svg",role:"img",children:[e.jsx("title",{children:"Telia"}),e.jsxs("g",{clipPath:"url(#clip0_5309_7721)",children:[e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{d:"M48.6359 11.2971H43.69V25.2064H40.5518V11.2971H35.5589V8.59093H48.6359V11.2971Z",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"}),e.jsx("path",{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",fill:"currentColor"})]}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0_5309_7721",children:e.jsx("rect",{width:"81",height:"32",fill:"currentColor"})})})]}),i=g.c.bind(C),N=({className:c,navigation:t,social:s,contacts:o,additional:_,custom:l,payments:u,logo:f,themeSelect:h,forceColorScheme:b,...q})=>{const $=i(c,r),{options:k}=L.useTheme(),[P,V]=w.useColorScheme(),M=b??k?.footerColorScheme;return e.jsx("footer",{"data-color-scheme":M,className:$,...q,children:e.jsx(Z.Container,{children:e.jsxs("div",{className:i(`${r}__container`),children:[e.jsx("div",{className:i(`${r}__logo`,{[`${r}__logo--telia`]:!f}),children:f??e.jsx(E,{})}),s&&e.jsx("section",{...s.sectionProps,className:i(`${r}__social`,`${r}__social--md`,s.sectionProps?.className),children:s.links.map(({icon:n,href:a,...d})=>m.createElement(v,{...d,icon:n,href:a,key:a}))}),t&&e.jsx(S,{customLink:t.customLink,navigationLinks:t.links,sectionProps:t.sectionProps}),u&&e.jsxs("section",{...u.sectionProps,className:i(`${r}__payments`,u.sectionProps?.className),children:[u.content,u.images?.map(({alt:n,src:a})=>e.jsx("img",{className:i(`${r}__payments-image`),src:a,alt:n},a))]}),h&&e.jsx("section",{className:i(`${r}__theme-select`),children:e.jsx(H.Select,{value:P,label:h.label,options:h.options,negative:!0,onChange:n=>{V(n.target.value)}})}),o&&e.jsxs("section",{...o.sectionProps,className:i(`${r}__contacts`,o.sectionProps?.className),children:[o.copyright&&e.jsx("div",{className:i(`${r}__contacts-copyright`),children:o.copyright}),o.address&&e.jsx("address",{...o.address.addressProps,className:i(`${r}__contacts-address`,o.address.addressProps?.className),children:o.address.content})]}),(l||_)&&e.jsxs("div",{className:i(`${r}__additional`),children:[l&&e.jsx("section",{...l.sectionProps,className:i(`${r}__custom-content`,l.sectionProps?.className),children:l.content}),_&&e.jsx("section",{..._.sectionProps,className:i(`${r}__additional-links`,_.sectionProps?.className),children:_?.links?.map(({href:n,text:a,...d})=>m.createElement(y.Link,{...d,variant:"standalone",negative:!0,href:n,key:n,disableVisited:!0},a))})]}),s&&e.jsx("section",{...s.sectionProps,className:i(`${r}__social`,`${r}__social--sm`,s.sectionProps?.className),children:s.links.map(({icon:n,href:a,...d})=>m.createElement(v,{...d,icon:n,href:a,key:a}))})]})})})};N.displayName="Footer";exports.Footer=N;
2
+ //# sourceMappingURL=footer-Cat9-v7l.js.map