@dnb/eufemia 10.44.0 → 10.46.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 (830) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/CopyOnClick.d.ts +12 -0
  3. package/cjs/components/CopyOnClick.js +24 -0
  4. package/cjs/components/CopyOnClick.js.map +1 -0
  5. package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
  6. package/cjs/components/copy-on-click/CopyOnClick.d.ts +9 -0
  7. package/cjs/components/copy-on-click/CopyOnClick.js +72 -0
  8. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -0
  9. package/cjs/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  10. package/cjs/components/copy-on-click/CopyOnClickDocs.js +25 -0
  11. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  12. package/cjs/components/copy-on-click/index.d.ts +7 -0
  13. package/cjs/components/copy-on-click/index.js +24 -0
  14. package/cjs/components/copy-on-click/index.js.map +1 -0
  15. package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  16. package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  17. package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  18. package/cjs/components/copy-on-click/style/index.d.ts +5 -0
  19. package/cjs/components/copy-on-click/style/index.js +4 -0
  20. package/cjs/components/copy-on-click/style/index.js.map +1 -0
  21. package/cjs/components/copy-on-click/style.d.ts +5 -0
  22. package/cjs/components/copy-on-click/style.js +4 -0
  23. package/cjs/components/copy-on-click/style.js.map +1 -0
  24. package/cjs/components/copy-on-click/types.d.ts +19 -0
  25. package/cjs/components/copy-on-click/types.js +1 -0
  26. package/cjs/components/copy-on-click/types.js.map +1 -0
  27. package/cjs/components/index.d.ts +2 -1
  28. package/cjs/components/index.js +7 -0
  29. package/cjs/components/index.js.map +1 -1
  30. package/cjs/components/lib.d.ts +6 -1
  31. package/cjs/components/lib.js +8 -0
  32. package/cjs/components/lib.js.map +1 -1
  33. package/cjs/components/pagination/Pagination.d.ts +27 -1
  34. package/cjs/components/pagination/Pagination.js +3 -1
  35. package/cjs/components/pagination/Pagination.js.map +1 -1
  36. package/cjs/components/pagination/PaginationInfinity.js +20 -8
  37. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  38. package/cjs/components/radio/style/dnb-radio.scss +1 -1
  39. package/cjs/components/table/TableStickyHeader.js.map +1 -1
  40. package/cjs/components/upload/Upload.js +2 -1
  41. package/cjs/components/upload/Upload.js.map +1 -1
  42. package/cjs/components/upload/UploadDocs.d.ts +1 -0
  43. package/cjs/components/upload/UploadDocs.js +17 -4
  44. package/cjs/components/upload/UploadDocs.js.map +1 -1
  45. package/cjs/components/upload/UploadInfo.js +57 -5
  46. package/cjs/components/upload/UploadInfo.js.map +1 -1
  47. package/cjs/components/upload/UploadVerify.d.ts +4 -2
  48. package/cjs/components/upload/UploadVerify.js +32 -5
  49. package/cjs/components/upload/UploadVerify.js.map +1 -1
  50. package/cjs/components/upload/style/dnb-upload.css +15 -0
  51. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  52. package/cjs/components/upload/style/dnb-upload.scss +17 -0
  53. package/cjs/components/upload/types.d.ts +7 -1
  54. package/cjs/components/upload/types.js.map +1 -1
  55. package/cjs/extensions/forms/DataContext/Context.d.ts +10 -5
  56. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  57. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  58. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  59. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +8 -0
  60. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  61. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  62. package/cjs/extensions/forms/DataContext/Provider/Provider.js +48 -26
  63. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  64. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  65. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  66. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
  67. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +38 -24
  68. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  69. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  70. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  71. package/cjs/extensions/forms/Field/Email/Email.js +1 -1
  72. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  73. package/cjs/extensions/forms/Field/Name/Name.js +2 -2
  74. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  75. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +22 -3
  76. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  77. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  78. package/cjs/extensions/forms/Field/Number/Number.js +33 -31
  79. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  80. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  81. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +11 -3
  82. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  83. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +4 -1
  84. package/cjs/extensions/forms/Field/Selection/Selection.js +28 -20
  85. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  86. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  87. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  88. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  89. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  90. package/cjs/extensions/forms/Form/Element/Element.js +11 -9
  91. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  93. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -3
  94. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  95. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  96. package/cjs/extensions/forms/Form/Isolation/Isolation.js +25 -7
  97. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  98. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  99. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  101. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  102. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -13
  103. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  104. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  105. package/cjs/extensions/forms/Form/data-context/useData.js +9 -7
  106. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  108. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  109. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  110. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/Array/Array.js +7 -5
  112. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  114. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +25 -19
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  117. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  119. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/{IterateElementContext.d.ts → IterateItemContext.d.ts} +3 -3
  121. package/cjs/extensions/forms/Iterate/{IterateElementContext.js → IterateItemContext.js} +3 -3
  122. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  123. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  124. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  125. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  126. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  127. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  128. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +42 -0
  129. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  130. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  131. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +95 -0
  132. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  133. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  134. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js +12 -0
  135. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  136. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  137. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +42 -0
  138. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  139. package/cjs/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Iterate/PushContainer/index.js +27 -0
  141. package/cjs/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  142. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  143. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  145. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +13 -5
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  152. package/cjs/extensions/forms/Iterate/hooks/useItem.js +15 -0
  153. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  154. package/cjs/extensions/forms/Iterate/index.d.ts +3 -1
  155. package/cjs/extensions/forms/Iterate/index.js +17 -3
  156. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  157. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  158. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +81 -0
  159. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  160. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  161. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +15 -0
  162. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  163. package/cjs/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  164. package/cjs/extensions/forms/Value/ArraySelection/index.js +27 -0
  165. package/cjs/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  166. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  167. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +54 -0
  168. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  169. package/cjs/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  170. package/cjs/extensions/forms/Value/SelectCountry/index.js +27 -0
  171. package/cjs/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  172. package/cjs/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  173. package/cjs/extensions/forms/Value/Selection/Selection.js +58 -0
  174. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -0
  175. package/cjs/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  176. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +15 -0
  177. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  178. package/cjs/extensions/forms/Value/Selection/index.d.ts +2 -0
  179. package/cjs/extensions/forms/Value/Selection/index.js +27 -0
  180. package/cjs/extensions/forms/Value/Selection/index.js.map +1 -0
  181. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  182. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  183. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  184. package/cjs/extensions/forms/Value/index.js +21 -0
  185. package/cjs/extensions/forms/Value/index.js.map +1 -1
  186. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +7 -6
  187. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  188. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  189. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  190. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  191. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  192. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  193. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  194. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  195. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  196. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  197. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  198. package/cjs/extensions/forms/constants/locales/en-GB.js +6 -1
  199. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  200. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
  201. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
  202. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  203. package/cjs/extensions/forms/constants/locales/nb-NO.js +6 -1
  204. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  205. package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
  206. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  207. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
  208. package/cjs/extensions/forms/hooks/useDataValue.js +11 -4
  209. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  210. package/cjs/extensions/forms/hooks/useExternalValue.js +4 -4
  211. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  212. package/cjs/extensions/forms/hooks/useFieldProps.js +11 -9
  213. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  214. package/cjs/extensions/forms/hooks/usePath.js +3 -3
  215. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useValueProps.js +4 -1
  217. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  218. package/cjs/extensions/forms/style/dnb-forms.css +3 -0
  219. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  220. package/cjs/extensions/forms/types.d.ts +9 -2
  221. package/cjs/extensions/forms/types.js.map +1 -1
  222. package/cjs/index.d.ts +2 -1
  223. package/cjs/index.js +7 -0
  224. package/cjs/index.js.map +1 -1
  225. package/cjs/shared/Context.js +4 -6
  226. package/cjs/shared/Context.js.map +1 -1
  227. package/cjs/shared/Eufemia.d.ts +1 -1
  228. package/cjs/shared/Eufemia.js +2 -2
  229. package/cjs/shared/Eufemia.js.map +1 -1
  230. package/cjs/shared/locales/en-GB.d.ts +4 -0
  231. package/cjs/shared/locales/en-GB.js +4 -0
  232. package/cjs/shared/locales/en-GB.js.map +1 -1
  233. package/cjs/shared/locales/en-US.d.ts +4 -0
  234. package/cjs/shared/locales/index.d.ts +8 -0
  235. package/cjs/shared/locales/nb-NO.d.ts +4 -0
  236. package/cjs/shared/locales/nb-NO.js +5 -1
  237. package/cjs/shared/locales/nb-NO.js.map +1 -1
  238. package/cjs/shared/useTheme.d.ts +4 -10
  239. package/cjs/shared/useTheme.js +7 -5
  240. package/cjs/shared/useTheme.js.map +1 -1
  241. package/cjs/style/core/scopes.scss +1 -1
  242. package/cjs/style/dnb-ui-basis.css +1 -1
  243. package/cjs/style/dnb-ui-basis.min.css +1 -1
  244. package/cjs/style/dnb-ui-body.css +1 -1
  245. package/cjs/style/dnb-ui-body.min.css +1 -1
  246. package/cjs/style/dnb-ui-components.css +26 -0
  247. package/cjs/style/dnb-ui-components.min.css +3 -3
  248. package/cjs/style/dnb-ui-components.scss +1 -0
  249. package/cjs/style/dnb-ui-core.css +1 -1
  250. package/cjs/style/dnb-ui-core.min.css +1 -1
  251. package/cjs/style/dnb-ui-extensions.css +3 -0
  252. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  253. package/cjs/style/dnb-ui-forms.css +3 -0
  254. package/cjs/style/dnb-ui-forms.min.css +1 -1
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  261. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
  262. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  264. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  267. package/cjs/style/themes/theme-ui/ui-theme-components.css +29 -0
  268. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  269. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  270. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  271. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
  272. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  273. package/components/CopyOnClick.d.ts +12 -0
  274. package/components/CopyOnClick.js +4 -0
  275. package/components/CopyOnClick.js.map +1 -0
  276. package/components/checkbox/style/dnb-checkbox.scss +1 -1
  277. package/components/copy-on-click/CopyOnClick.d.ts +9 -0
  278. package/components/copy-on-click/CopyOnClick.js +62 -0
  279. package/components/copy-on-click/CopyOnClick.js.map +1 -0
  280. package/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  281. package/components/copy-on-click/CopyOnClickDocs.js +18 -0
  282. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  283. package/components/copy-on-click/index.d.ts +7 -0
  284. package/components/copy-on-click/index.js +4 -0
  285. package/components/copy-on-click/index.js.map +1 -0
  286. package/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  287. package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  288. package/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  289. package/components/copy-on-click/style/index.d.ts +5 -0
  290. package/components/copy-on-click/style/index.js +1 -0
  291. package/components/copy-on-click/style/index.js.map +1 -0
  292. package/components/copy-on-click/style.d.ts +5 -0
  293. package/components/copy-on-click/style.js +1 -0
  294. package/components/copy-on-click/style.js.map +1 -0
  295. package/components/copy-on-click/types.d.ts +19 -0
  296. package/components/copy-on-click/types.js +1 -0
  297. package/components/copy-on-click/types.js.map +1 -0
  298. package/components/index.d.ts +2 -1
  299. package/components/index.js +2 -1
  300. package/components/index.js.map +1 -1
  301. package/components/lib.d.ts +6 -1
  302. package/components/lib.js +3 -1
  303. package/components/lib.js.map +1 -1
  304. package/components/pagination/Pagination.d.ts +27 -1
  305. package/components/pagination/Pagination.js +3 -1
  306. package/components/pagination/Pagination.js.map +1 -1
  307. package/components/pagination/PaginationInfinity.js +20 -8
  308. package/components/pagination/PaginationInfinity.js.map +1 -1
  309. package/components/radio/style/dnb-radio.scss +1 -1
  310. package/components/table/TableStickyHeader.js.map +1 -1
  311. package/components/upload/Upload.js +2 -1
  312. package/components/upload/Upload.js.map +1 -1
  313. package/components/upload/UploadDocs.d.ts +1 -0
  314. package/components/upload/UploadDocs.js +15 -3
  315. package/components/upload/UploadDocs.js.map +1 -1
  316. package/components/upload/UploadInfo.js +57 -5
  317. package/components/upload/UploadInfo.js.map +1 -1
  318. package/components/upload/UploadVerify.d.ts +4 -2
  319. package/components/upload/UploadVerify.js +30 -5
  320. package/components/upload/UploadVerify.js.map +1 -1
  321. package/components/upload/style/dnb-upload.css +15 -0
  322. package/components/upload/style/dnb-upload.min.css +1 -1
  323. package/components/upload/style/dnb-upload.scss +17 -0
  324. package/components/upload/types.d.ts +7 -1
  325. package/components/upload/types.js.map +1 -1
  326. package/es/components/CopyOnClick.d.ts +12 -0
  327. package/es/components/CopyOnClick.js +4 -0
  328. package/es/components/CopyOnClick.js.map +1 -0
  329. package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
  330. package/es/components/copy-on-click/CopyOnClick.d.ts +9 -0
  331. package/es/components/copy-on-click/CopyOnClick.js +62 -0
  332. package/es/components/copy-on-click/CopyOnClick.js.map +1 -0
  333. package/es/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  334. package/es/components/copy-on-click/CopyOnClickDocs.js +18 -0
  335. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  336. package/es/components/copy-on-click/index.d.ts +7 -0
  337. package/es/components/copy-on-click/index.js +4 -0
  338. package/es/components/copy-on-click/index.js.map +1 -0
  339. package/es/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  340. package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  341. package/es/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  342. package/es/components/copy-on-click/style/index.d.ts +5 -0
  343. package/es/components/copy-on-click/style/index.js +1 -0
  344. package/es/components/copy-on-click/style/index.js.map +1 -0
  345. package/es/components/copy-on-click/style.d.ts +5 -0
  346. package/es/components/copy-on-click/style.js +1 -0
  347. package/es/components/copy-on-click/style.js.map +1 -0
  348. package/es/components/copy-on-click/types.d.ts +19 -0
  349. package/es/components/copy-on-click/types.js +1 -0
  350. package/es/components/copy-on-click/types.js.map +1 -0
  351. package/es/components/index.d.ts +2 -1
  352. package/es/components/index.js +2 -1
  353. package/es/components/index.js.map +1 -1
  354. package/es/components/lib.d.ts +6 -1
  355. package/es/components/lib.js +3 -1
  356. package/es/components/lib.js.map +1 -1
  357. package/es/components/pagination/Pagination.d.ts +27 -1
  358. package/es/components/pagination/Pagination.js +3 -1
  359. package/es/components/pagination/Pagination.js.map +1 -1
  360. package/es/components/pagination/PaginationInfinity.js +20 -8
  361. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  362. package/es/components/radio/style/dnb-radio.scss +1 -1
  363. package/es/components/table/TableStickyHeader.js.map +1 -1
  364. package/es/components/upload/Upload.js +2 -1
  365. package/es/components/upload/Upload.js.map +1 -1
  366. package/es/components/upload/UploadDocs.d.ts +1 -0
  367. package/es/components/upload/UploadDocs.js +15 -3
  368. package/es/components/upload/UploadDocs.js.map +1 -1
  369. package/es/components/upload/UploadInfo.js +57 -5
  370. package/es/components/upload/UploadInfo.js.map +1 -1
  371. package/es/components/upload/UploadVerify.d.ts +4 -2
  372. package/es/components/upload/UploadVerify.js +30 -5
  373. package/es/components/upload/UploadVerify.js.map +1 -1
  374. package/es/components/upload/style/dnb-upload.css +15 -0
  375. package/es/components/upload/style/dnb-upload.min.css +1 -1
  376. package/es/components/upload/style/dnb-upload.scss +17 -0
  377. package/es/components/upload/types.d.ts +7 -1
  378. package/es/components/upload/types.js.map +1 -1
  379. package/es/extensions/forms/DataContext/Context.d.ts +10 -5
  380. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  381. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  382. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  383. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  384. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  385. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  386. package/es/extensions/forms/DataContext/Provider/Provider.js +47 -25
  387. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  388. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  389. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  390. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
  391. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +37 -24
  392. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  393. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  394. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  395. package/es/extensions/forms/Field/Email/Email.js +1 -1
  396. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  397. package/es/extensions/forms/Field/Name/Name.js +2 -2
  398. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  399. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  400. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  401. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  402. package/es/extensions/forms/Field/Number/Number.js +33 -31
  403. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  404. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  405. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  406. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  407. package/es/extensions/forms/Field/Selection/Selection.d.ts +4 -1
  408. package/es/extensions/forms/Field/Selection/Selection.js +22 -16
  409. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  410. package/es/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  411. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  412. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  413. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  414. package/es/extensions/forms/Form/Element/Element.js +9 -9
  415. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  416. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  417. package/es/extensions/forms/Form/Handler/Handler.js +1 -3
  418. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  419. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  420. package/es/extensions/forms/Form/Isolation/Isolation.js +26 -8
  421. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  422. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  423. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  424. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  425. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  426. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  427. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  428. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  429. package/es/extensions/forms/Form/data-context/useData.js +9 -7
  430. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  431. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  432. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  433. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  434. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  435. package/es/extensions/forms/Iterate/Array/Array.js +7 -5
  436. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  437. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  438. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  439. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  440. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  441. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  442. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  443. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  444. package/{extensions/forms/Iterate/IterateElementContext.d.ts → es/extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  445. package/es/extensions/forms/Iterate/IterateItemContext.js +4 -0
  446. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  447. package/es/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  448. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  449. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  450. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  451. package/es/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  452. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  453. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  454. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  455. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -0
  456. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  457. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  458. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  459. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  460. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  461. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  462. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  463. package/es/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  464. package/es/extensions/forms/Iterate/PushContainer/index.js +3 -0
  465. package/es/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  466. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  467. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  468. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  469. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  470. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  471. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  472. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  473. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  474. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  475. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  476. package/es/extensions/forms/Iterate/hooks/useItem.js +9 -0
  477. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  478. package/es/extensions/forms/Iterate/index.d.ts +3 -1
  479. package/es/extensions/forms/Iterate/index.js +3 -1
  480. package/es/extensions/forms/Iterate/index.js.map +1 -1
  481. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  482. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +66 -0
  483. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  484. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  485. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  486. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  487. package/es/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  488. package/es/extensions/forms/Value/ArraySelection/index.js +3 -0
  489. package/es/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  490. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  491. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  492. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  493. package/es/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  494. package/es/extensions/forms/Value/SelectCountry/index.js +3 -0
  495. package/es/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  496. package/es/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  497. package/es/extensions/forms/Value/Selection/Selection.js +48 -0
  498. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -0
  499. package/es/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  500. package/es/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  501. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  502. package/es/extensions/forms/Value/Selection/index.d.ts +2 -0
  503. package/es/extensions/forms/Value/Selection/index.js +3 -0
  504. package/es/extensions/forms/Value/Selection/index.js.map +1 -0
  505. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  506. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  507. package/es/extensions/forms/Value/index.d.ts +3 -0
  508. package/es/extensions/forms/Value/index.js +3 -0
  509. package/es/extensions/forms/Value/index.js.map +1 -1
  510. package/es/extensions/forms/ValueBlock/ValueBlock.js +7 -6
  511. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  512. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  513. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  514. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  515. package/es/extensions/forms/Wizard/Container/WizardContainer.js +16 -1
  516. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  517. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  518. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  519. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  520. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  521. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  522. package/es/extensions/forms/constants/locales/en-GB.js +6 -1
  523. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  524. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
  525. package/es/extensions/forms/constants/locales/index.d.ts +10 -0
  526. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  527. package/es/extensions/forms/constants/locales/nb-NO.js +6 -1
  528. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  529. package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
  530. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  531. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
  532. package/es/extensions/forms/hooks/useDataValue.js +11 -4
  533. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  534. package/es/extensions/forms/hooks/useExternalValue.js +4 -4
  535. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  536. package/es/extensions/forms/hooks/useFieldProps.js +11 -9
  537. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  538. package/es/extensions/forms/hooks/usePath.js +2 -2
  539. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  540. package/es/extensions/forms/hooks/useValueProps.js +4 -1
  541. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  542. package/es/extensions/forms/style/dnb-forms.css +3 -0
  543. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  544. package/es/extensions/forms/types.d.ts +9 -2
  545. package/es/extensions/forms/types.js.map +1 -1
  546. package/es/index.d.ts +2 -1
  547. package/es/index.js +2 -1
  548. package/es/index.js.map +1 -1
  549. package/es/shared/Context.js +4 -6
  550. package/es/shared/Context.js.map +1 -1
  551. package/es/shared/Eufemia.d.ts +1 -1
  552. package/es/shared/Eufemia.js +2 -2
  553. package/es/shared/Eufemia.js.map +1 -1
  554. package/es/shared/locales/en-GB.d.ts +4 -0
  555. package/es/shared/locales/en-GB.js +4 -0
  556. package/es/shared/locales/en-GB.js.map +1 -1
  557. package/es/shared/locales/en-US.d.ts +4 -0
  558. package/es/shared/locales/index.d.ts +8 -0
  559. package/es/shared/locales/nb-NO.d.ts +4 -0
  560. package/es/shared/locales/nb-NO.js +5 -1
  561. package/es/shared/locales/nb-NO.js.map +1 -1
  562. package/es/shared/useTheme.d.ts +4 -10
  563. package/es/shared/useTheme.js +7 -5
  564. package/es/shared/useTheme.js.map +1 -1
  565. package/es/style/core/scopes.scss +1 -1
  566. package/es/style/dnb-ui-basis.css +1 -1
  567. package/es/style/dnb-ui-basis.min.css +1 -1
  568. package/es/style/dnb-ui-body.css +1 -1
  569. package/es/style/dnb-ui-body.min.css +1 -1
  570. package/es/style/dnb-ui-components.css +26 -0
  571. package/es/style/dnb-ui-components.min.css +3 -3
  572. package/es/style/dnb-ui-components.scss +1 -0
  573. package/es/style/dnb-ui-core.css +1 -1
  574. package/es/style/dnb-ui-core.min.css +1 -1
  575. package/es/style/dnb-ui-extensions.css +3 -0
  576. package/es/style/dnb-ui-extensions.min.css +1 -1
  577. package/es/style/dnb-ui-forms.css +3 -0
  578. package/es/style/dnb-ui-forms.min.css +1 -1
  579. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
  580. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  581. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  582. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  583. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  584. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  585. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
  586. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  587. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  588. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  589. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  590. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  591. package/es/style/themes/theme-ui/ui-theme-components.css +29 -0
  592. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  593. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  594. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  595. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
  596. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  597. package/esm/dnb-ui-basis.min.mjs +1 -1
  598. package/esm/dnb-ui-components.min.mjs +1 -1
  599. package/esm/dnb-ui-elements.min.mjs +1 -1
  600. package/esm/dnb-ui-extensions.min.mjs +5 -5
  601. package/esm/dnb-ui-lib.min.mjs +1 -1
  602. package/extensions/forms/DataContext/Context.d.ts +10 -5
  603. package/extensions/forms/DataContext/Context.js.map +1 -1
  604. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  605. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  606. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  607. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  608. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  609. package/extensions/forms/DataContext/Provider/Provider.js +48 -26
  610. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  611. package/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  612. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  613. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
  614. package/extensions/forms/Field/ArraySelection/ArraySelection.js +37 -24
  615. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  616. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  617. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  618. package/extensions/forms/Field/Email/Email.js +1 -1
  619. package/extensions/forms/Field/Email/Email.js.map +1 -1
  620. package/extensions/forms/Field/Name/Name.js +2 -2
  621. package/extensions/forms/Field/Name/Name.js.map +1 -1
  622. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  623. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  624. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  625. package/extensions/forms/Field/Number/Number.js +33 -31
  626. package/extensions/forms/Field/Number/Number.js.map +1 -1
  627. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  628. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  629. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  630. package/extensions/forms/Field/Selection/Selection.d.ts +4 -1
  631. package/extensions/forms/Field/Selection/Selection.js +27 -20
  632. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  633. package/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  634. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  635. package/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  636. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  637. package/extensions/forms/Form/Element/Element.js +9 -9
  638. package/extensions/forms/Form/Element/Element.js.map +1 -1
  639. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  640. package/extensions/forms/Form/Handler/Handler.js +1 -3
  641. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  642. package/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  643. package/extensions/forms/Form/Isolation/Isolation.js +26 -8
  644. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  645. package/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  646. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  647. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  648. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  649. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  650. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  651. package/extensions/forms/Form/Section/Section.js.map +1 -1
  652. package/extensions/forms/Form/data-context/useData.js +9 -7
  653. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  654. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  655. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  656. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  657. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  658. package/extensions/forms/Iterate/Array/Array.js +7 -5
  659. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  660. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  661. package/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  662. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  663. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  664. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  665. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  666. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  667. package/{es/extensions/forms/Iterate/IterateElementContext.d.ts → extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  668. package/extensions/forms/Iterate/IterateItemContext.js +4 -0
  669. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  670. package/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  671. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  672. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  673. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  674. package/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  675. package/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  676. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  677. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  678. package/extensions/forms/Iterate/PushContainer/PushContainer.js +83 -0
  679. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  680. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  681. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  682. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  683. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  684. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  685. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  686. package/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  687. package/extensions/forms/Iterate/PushContainer/index.js +3 -0
  688. package/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  689. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  690. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  691. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  692. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  693. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  694. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  695. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  696. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  697. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  698. package/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  699. package/extensions/forms/Iterate/hooks/useItem.js +9 -0
  700. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  701. package/extensions/forms/Iterate/index.d.ts +3 -1
  702. package/extensions/forms/Iterate/index.js +3 -1
  703. package/extensions/forms/Iterate/index.js.map +1 -1
  704. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  705. package/extensions/forms/Value/ArraySelection/ArraySelection.js +70 -0
  706. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  707. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  708. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  709. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  710. package/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  711. package/extensions/forms/Value/ArraySelection/index.js +3 -0
  712. package/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  713. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  714. package/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  715. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  716. package/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  717. package/extensions/forms/Value/SelectCountry/index.js +3 -0
  718. package/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  719. package/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  720. package/extensions/forms/Value/Selection/Selection.js +48 -0
  721. package/extensions/forms/Value/Selection/Selection.js.map +1 -0
  722. package/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  723. package/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  724. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  725. package/extensions/forms/Value/Selection/index.d.ts +2 -0
  726. package/extensions/forms/Value/Selection/index.js +3 -0
  727. package/extensions/forms/Value/Selection/index.js.map +1 -0
  728. package/extensions/forms/Value/ValueDocs.js +6 -1
  729. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  730. package/extensions/forms/Value/index.d.ts +3 -0
  731. package/extensions/forms/Value/index.js +3 -0
  732. package/extensions/forms/Value/index.js.map +1 -1
  733. package/extensions/forms/ValueBlock/ValueBlock.js +7 -6
  734. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  735. package/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  736. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  737. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  738. package/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  739. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  740. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  741. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  742. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  743. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  744. package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  745. package/extensions/forms/constants/locales/en-GB.js +6 -1
  746. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  747. package/extensions/forms/constants/locales/en-US.d.ts +5 -0
  748. package/extensions/forms/constants/locales/index.d.ts +10 -0
  749. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  750. package/extensions/forms/constants/locales/nb-NO.js +6 -1
  751. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  752. package/extensions/forms/hooks/DataValueDocs.js +3 -3
  753. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  754. package/extensions/forms/hooks/useDataValue.d.ts +1 -0
  755. package/extensions/forms/hooks/useDataValue.js +11 -4
  756. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  757. package/extensions/forms/hooks/useExternalValue.js +4 -4
  758. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  759. package/extensions/forms/hooks/useFieldProps.js +11 -9
  760. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  761. package/extensions/forms/hooks/usePath.js +2 -2
  762. package/extensions/forms/hooks/usePath.js.map +1 -1
  763. package/extensions/forms/hooks/useValueProps.js +4 -1
  764. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  765. package/extensions/forms/style/dnb-forms.css +3 -0
  766. package/extensions/forms/style/dnb-forms.min.css +1 -1
  767. package/extensions/forms/types.d.ts +9 -2
  768. package/extensions/forms/types.js.map +1 -1
  769. package/index.d.ts +2 -1
  770. package/index.js +2 -1
  771. package/index.js.map +1 -1
  772. package/package.json +2 -1
  773. package/shared/Context.js +4 -6
  774. package/shared/Context.js.map +1 -1
  775. package/shared/Eufemia.d.ts +1 -1
  776. package/shared/Eufemia.js +2 -2
  777. package/shared/Eufemia.js.map +1 -1
  778. package/shared/locales/en-GB.d.ts +4 -0
  779. package/shared/locales/en-GB.js +4 -0
  780. package/shared/locales/en-GB.js.map +1 -1
  781. package/shared/locales/en-US.d.ts +4 -0
  782. package/shared/locales/index.d.ts +8 -0
  783. package/shared/locales/nb-NO.d.ts +4 -0
  784. package/shared/locales/nb-NO.js +5 -1
  785. package/shared/locales/nb-NO.js.map +1 -1
  786. package/shared/useTheme.d.ts +4 -10
  787. package/shared/useTheme.js +7 -5
  788. package/shared/useTheme.js.map +1 -1
  789. package/style/core/scopes.scss +1 -1
  790. package/style/dnb-ui-basis.css +1 -1
  791. package/style/dnb-ui-basis.min.css +1 -1
  792. package/style/dnb-ui-body.css +1 -1
  793. package/style/dnb-ui-body.min.css +1 -1
  794. package/style/dnb-ui-components.css +26 -0
  795. package/style/dnb-ui-components.min.css +3 -3
  796. package/style/dnb-ui-components.scss +1 -0
  797. package/style/dnb-ui-core.css +1 -1
  798. package/style/dnb-ui-core.min.css +1 -1
  799. package/style/dnb-ui-extensions.css +3 -0
  800. package/style/dnb-ui-extensions.min.css +1 -1
  801. package/style/dnb-ui-forms.css +3 -0
  802. package/style/dnb-ui-forms.min.css +1 -1
  803. package/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
  804. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  805. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  806. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  807. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  808. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  809. package/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
  810. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  811. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  812. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  813. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  814. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  815. package/style/themes/theme-ui/ui-theme-components.css +29 -0
  816. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  817. package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  818. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  819. package/style/themes/theme-ui/ui-theme-forms.css +3 -0
  820. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  821. package/umd/dnb-ui-basis.min.js +1 -1
  822. package/umd/dnb-ui-components.min.js +1 -1
  823. package/umd/dnb-ui-elements.min.js +1 -1
  824. package/umd/dnb-ui-extensions.min.js +5 -5
  825. package/umd/dnb-ui-lib.min.js +1 -1
  826. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  827. package/es/extensions/forms/Iterate/IterateElementContext.js +0 -4
  828. package/es/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  829. package/extensions/forms/Iterate/IterateElementContext.js +0 -4
  830. package/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SpacingHelper","_Provider","_Context","_componentHelper","_UploadFileInput2","_useUpload","_UploadDropzone","_UploadContext","_UploadVerify","_UploadFileList2","_UploadInfo2","_UploadInfo","_UploadFileInput","_UploadFileList","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Upload","localProps","context","React","useContext","Context","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","filesAmountLimit","buttonText","text","extendedProps","extendPropsWithContext","defaultProps","skeleton","id","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","title","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","spacingClasses","createSpacingClasses","files","setFiles","setInternalFiles","getExistingFile","useUpload","onInputUpload","useCallback","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","makeUniqueId","verifiedFiles","verifyFiles","_ref","validFiles","slice","createElement","UploadContext","Provider","classnames","_formElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: UploadFile[]) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const verifiedFiles = verifyFiles(\n mergedFiles.filter(({ exists }) => !exists),\n {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n }\n )\n\n const validFiles = [...verifiedFiles].slice(0, filesAmountLimit)\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SpacingHelper","_Provider","_Context","_componentHelper","_UploadFileInput2","_useUpload","_UploadDropzone","_UploadContext","_UploadVerify","_UploadFileList2","_UploadInfo2","_UploadInfo","_UploadFileInput","_UploadFileList","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Upload","localProps","context","React","useContext","Context","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","filesAmountLimit","buttonText","text","extendedProps","extendPropsWithContext","defaultProps","skeleton","id","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","spacingClasses","createSpacingClasses","files","setFiles","setInternalFiles","getExistingFile","useUpload","onInputUpload","useCallback","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","makeUniqueId","verifiedFiles","verifyFiles","_ref","validFiles","slice","createElement","UploadContext","Provider","classnames","_formElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: UploadFile[]) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const verifiedFiles = verifyFiles(\n mergedFiles.filter(({ exists }) => !exists),\n {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n }\n )\n\n const validFiles = [...verifiedFiles].slice(0, filesAmountLimit)\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { PropertiesTableProps } from '../../shared/types';
2
2
  export declare const UploadProperties: PropertiesTableProps;
3
+ export declare const AcceptedFileTypeProperties: PropertiesTableProps;
3
4
  export declare const UploadEvents: PropertiesTableProps;
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UploadProperties = exports.UploadEvents = void 0;
6
+ exports.UploadProperties = exports.UploadEvents = exports.AcceptedFileTypeProperties = void 0;
7
7
  const UploadProperties = {
8
8
  acceptedFileTypes: {
9
- doc: 'List of accepted file types.',
10
- type: 'Array<string>',
9
+ doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',
10
+ type: ['Array<string>', 'Array<AcceptedFileType>'],
11
11
  status: 'required'
12
12
  },
13
13
  filesAmountLimit: {
@@ -17,7 +17,7 @@ const UploadProperties = {
17
17
  },
18
18
  fileMaxSize: {
19
19
  doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',
20
- type: 'number',
20
+ type: ['number', 'false'],
21
21
  status: 'optional'
22
22
  },
23
23
  title: {
@@ -42,6 +42,19 @@ const UploadProperties = {
42
42
  }
43
43
  };
44
44
  exports.UploadProperties = UploadProperties;
45
+ const AcceptedFileTypeProperties = {
46
+ fileType: {
47
+ doc: 'The name of the accepted file type.',
48
+ type: 'string',
49
+ status: 'required'
50
+ },
51
+ fileMaxSize: {
52
+ doc: 'Defines the max file size of the given file type in MB. Use either `0` or `false` to disable. If not provided, it defaults to the value of [Uploads](/uilib/components/upload/properties/#properties) `fileMaxSize` which defaults to 5 MB.',
53
+ type: ['number', 'false'],
54
+ status: 'optional'
55
+ }
56
+ };
57
+ exports.AcceptedFileTypeProperties = AcceptedFileTypeProperties;
45
58
  const UploadEvents = {
46
59
  onChange: {
47
60
  doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',
@@ -1 +1 @@
1
- {"version":3,"file":"UploadDocs.js","names":["UploadProperties","acceptedFileTypes","doc","type","status","filesAmountLimit","fileMaxSize","title","text","skeleton","exports","UploadEvents","onChange","onFileDelete"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n acceptedFileTypes: {\n doc: 'List of accepted file types.',\n type: 'Array<string>',\n status: 'required',\n },\n filesAmountLimit: {\n doc: 'Defines the amount of files the user can select and upload. Defaults to 100.',\n type: 'number',\n status: 'optional',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',\n type: 'number',\n status: 'optional',\n },\n title: {\n doc: 'Custom text property. Replaces the default title.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text.',\n type: 'string',\n status: 'optional',\n },\n skeleton: {\n doc: 'Skeleton should be applied when loading content.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const UploadEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',\n type: 'function',\n status: 'optional',\n },\n onFileDelete: {\n doc: 'Will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,gBAAsC,GAAG;EACpDC,iBAAiB,EAAE;IACjBC,GAAG,EAAE,8BAA8B;IACnCC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAV,gBAAA,GAAAA,gBAAA;AAEM,MAAMW,YAAkC,GAAG;EAChDC,QAAQ,EAAE;IACRV,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,YAAY,EAAE;IACZX,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAC,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"file":"UploadDocs.js","names":["UploadProperties","acceptedFileTypes","doc","type","status","filesAmountLimit","fileMaxSize","title","text","skeleton","exports","AcceptedFileTypeProperties","fileType","UploadEvents","onChange","onFileDelete"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n acceptedFileTypes: {\n doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',\n type: ['Array<string>', 'Array<AcceptedFileType>'],\n status: 'required',\n },\n filesAmountLimit: {\n doc: 'Defines the amount of files the user can select and upload. Defaults to 100.',\n type: 'number',\n status: 'optional',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n title: {\n doc: 'Custom text property. Replaces the default title.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text.',\n type: 'string',\n status: 'optional',\n },\n skeleton: {\n doc: 'Skeleton should be applied when loading content.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const AcceptedFileTypeProperties: PropertiesTableProps = {\n fileType: {\n doc: 'The name of the accepted file type.',\n type: 'string',\n status: 'required',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of the given file type in MB. Use either `0` or `false` to disable. If not provided, it defaults to the value of [Uploads](/uilib/components/upload/properties/#properties) `fileMaxSize` which defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n}\n\nexport const UploadEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',\n type: 'function',\n status: 'optional',\n },\n onFileDelete: {\n doc: 'Will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,gBAAsC,GAAG;EACpDC,iBAAiB,EAAE;IACjBC,GAAG,EAAE,oXAAoX;IACzXC,IAAI,EAAE,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAClDC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAV,gBAAA,GAAAA,gBAAA;AAEM,MAAMW,0BAAgD,GAAG;EAC9DC,QAAQ,EAAE;IACRV,GAAG,EAAE,qCAAqC;IAC1CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,6OAA6O;IAClPC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AAEM,MAAME,YAAkC,GAAG;EAChDC,QAAQ,EAAE;IACRZ,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDW,YAAY,EAAE;IACZb,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAG,YAAA,GAAAA,YAAA"}
@@ -12,7 +12,14 @@ var _Dl = _interopRequireDefault(require("../../elements/Dl"));
12
12
  var _Dt = _interopRequireDefault(require("../../elements/Dt"));
13
13
  var _Dd = _interopRequireDefault(require("../../elements/Dd"));
14
14
  var _NumberUtils = require("../number-format/NumberUtils");
15
+ var _UploadVerify = require("./UploadVerify");
16
+ var _Table = _interopRequireDefault(require("../Table"));
17
+ var _TableTr = _interopRequireDefault(require("../table/TableTr"));
18
+ var _TableTh = _interopRequireDefault(require("../table/TableTh"));
19
+ var _TableTd = _interopRequireDefault(require("../table/TableTd"));
20
+ var _UploadInfoAcceptedFi;
15
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ const prettifyAcceptedFileFormats = acceptedFileTypes => acceptedFileTypes.sort().join(', ').toUpperCase();
16
23
  const UploadInfo = () => {
17
24
  const context = _react.default.useContext(_UploadContext.UploadContext);
18
25
  const {
@@ -27,19 +34,64 @@ const UploadInfo = () => {
27
34
  fileMaxSize,
28
35
  children
29
36
  } = context;
30
- const prettifiedAcceptedFileFormats = acceptedFileTypes.join(', ').toUpperCase();
37
+ const prettifiedAcceptedFileFormats = prettifyAcceptedFileFormats(acceptedFileTypes);
38
+ const isAcceptedFileTypeListOfStrings = (0, _UploadVerify.isArrayOfStrings)(acceptedFileTypes);
39
+ const displayAcceptedFileFormatsListItem = isAcceptedFileTypeListOfStrings && prettifiedAcceptedFileFormats;
40
+ const displayFileMaxSizeItem = isAcceptedFileTypeListOfStrings && fileMaxSize;
41
+ const displayFilesAmountLimitItem = filesAmountLimit < _UploadContext.defaultProps.filesAmountLimit;
42
+ const displayAcceptedFileFormatsTable = (0, _UploadVerify.isArrayOfObjects)(acceptedFileTypes);
43
+ const displayDl = displayAcceptedFileFormatsListItem || displayFileMaxSizeItem || displayFilesAmountLimitItem;
31
44
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Lead.default, {
32
45
  space: "0"
33
46
  }, title), _react.default.createElement(_P.default, {
34
47
  top: "xx-small",
35
48
  className: "dnb-upload__text"
36
- }, text), children, _react.default.createElement(_Dl.default, {
49
+ }, text), children, displayDl && _react.default.createElement(_Dl.default, {
37
50
  top: "small",
38
51
  bottom: 0,
39
- layout: "horizontal",
40
- className: "dnb-upload__condition-list"
41
- }, prettifiedAcceptedFileFormats && _react.default.createElement(_Dl.default.Item, null, _react.default.createElement(_Dt.default, null, fileTypeDescription), _react.default.createElement(_Dd.default, null, prettifiedAcceptedFileFormats)), fileMaxSize && _react.default.createElement(_Dl.default.Item, null, _react.default.createElement(_Dt.default, null, fileSizeDescription), _react.default.createElement(_Dd.default, null, String(fileSizeContent).replace('%size', (0, _NumberUtils.format)(fileMaxSize).toString()))), filesAmountLimit < _UploadContext.defaultProps.filesAmountLimit && _react.default.createElement(_Dl.default.Item, null, _react.default.createElement(_Dt.default, null, fileAmountDescription), _react.default.createElement(_Dd.default, null, filesAmountLimit))));
52
+ layout: "horizontal"
53
+ }, displayAcceptedFileFormatsListItem && _react.default.createElement(_Dl.default.Item, null, _react.default.createElement(_Dt.default, null, fileTypeDescription), _react.default.createElement(_Dd.default, null, prettifiedAcceptedFileFormats)), displayFileMaxSizeItem && _react.default.createElement(_Dl.default.Item, null, _react.default.createElement(_Dt.default, null, fileSizeDescription), _react.default.createElement(_Dd.default, null, String(fileSizeContent).replace('%size', (0, _NumberUtils.format)(fileMaxSize).toString()))), displayFilesAmountLimitItem && _react.default.createElement(_Dl.default.Item, null, _react.default.createElement(_Dt.default, null, fileAmountDescription), _react.default.createElement(_Dd.default, null, filesAmountLimit))), displayAcceptedFileFormatsTable && (_UploadInfoAcceptedFi || (_UploadInfoAcceptedFi = _react.default.createElement(UploadInfoAcceptedFileTypesTable, null))));
42
54
  };
55
+ function UploadInfoAcceptedFileTypesTable() {
56
+ const context = _react.default.useContext(_UploadContext.UploadContext);
57
+ const {
58
+ acceptedFileTypes,
59
+ fileTypeTableCaption,
60
+ fileTypeDescription,
61
+ fileSizeDescription,
62
+ fileSizeContent,
63
+ fileMaxSize
64
+ } = context;
65
+ const groupByFileMaxSize = (acceptedFileTypes, fallBackFileMaxSize) => {
66
+ const fileMaxSizeIsFalseOrZero = fileMaxSize => {
67
+ return fileMaxSize === false || fileMaxSize === 0;
68
+ };
69
+ const group = {};
70
+ acceptedFileTypes.forEach(item => {
71
+ const itemFileMaxSize = item.fileMaxSize;
72
+ const groupName = itemFileMaxSize ? itemFileMaxSize : fileMaxSizeIsFalseOrZero(itemFileMaxSize) ? 0 : fileMaxSizeIsFalseOrZero(fallBackFileMaxSize) ? 0 : fallBackFileMaxSize;
73
+ group[groupName] = group[groupName] || [];
74
+ group[groupName].push(item);
75
+ });
76
+ return group;
77
+ };
78
+ const acceptedFileTypesGroupedByFileMaxSize = groupByFileMaxSize(acceptedFileTypes, fileMaxSize);
79
+ return _react.default.createElement(_Table.default, {
80
+ border: true,
81
+ className: "dnb-upload__accepted-file-types-table",
82
+ size: "small"
83
+ }, _react.default.createElement("caption", {
84
+ className: "dnb-sr-only"
85
+ }, fileTypeTableCaption), _react.default.createElement("thead", null, _react.default.createElement(_TableTr.default, {
86
+ variant: "odd",
87
+ cellSpacing: 0
88
+ }, _react.default.createElement(_TableTh.default, null, fileTypeDescription), _react.default.createElement(_TableTh.default, null, fileSizeDescription))), _react.default.createElement("tbody", null, Object.keys(acceptedFileTypesGroupedByFileMaxSize).sort((a, b) => Number(b) - Number(a)).map(key => {
89
+ return _react.default.createElement(_TableTr.default, {
90
+ variant: "odd",
91
+ key: key
92
+ }, _react.default.createElement(_TableTd.default, null, prettifyAcceptedFileFormats(acceptedFileTypesGroupedByFileMaxSize[key].map(acceptedFileTypesObj => acceptedFileTypesObj.fileType))), _react.default.createElement(_TableTd.default, null, key !== '0' && String(fileSizeContent).replace('%size', (0, _NumberUtils.format)(key).toString())));
93
+ })));
94
+ }
43
95
  var _default = UploadInfo;
44
96
  exports.default = _default;
45
97
  //# sourceMappingURL=UploadInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadInfo.js","names":["_react","_interopRequireDefault","require","_UploadContext","_Lead","_P","_Dl","_Dt","_Dd","_NumberUtils","obj","__esModule","default","UploadInfo","context","React","useContext","UploadContext","title","text","acceptedFileTypes","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","filesAmountLimit","fileMaxSize","children","prettifiedAcceptedFileFormats","join","toUpperCase","createElement","Fragment","space","top","className","bottom","layout","Item","String","replace","format","toString","defaultProps","_default","exports"],"sources":["../../../../src/components/upload/UploadInfo.tsx"],"sourcesContent":["import React from 'react'\nimport { defaultProps, UploadContext } from './UploadContext'\nimport Lead from '../../elements/Lead'\nimport P from '../../elements/P'\nimport Dl from '../../elements/Dl'\nimport Dt from '../../elements/Dt'\nimport Dd from '../../elements/Dd'\nimport { format } from '../number-format/NumberUtils'\n\nconst UploadInfo = () => {\n const context = React.useContext(UploadContext)\n\n const {\n title,\n text,\n acceptedFileTypes,\n fileTypeDescription,\n fileSizeDescription,\n fileAmountDescription,\n fileSizeContent,\n filesAmountLimit,\n fileMaxSize,\n children,\n } = context\n\n const prettifiedAcceptedFileFormats = acceptedFileTypes\n .join(', ')\n .toUpperCase()\n\n return (\n <>\n <Lead space=\"0\">{title}</Lead>\n\n <P top=\"xx-small\" className=\"dnb-upload__text\">\n {text}\n </P>\n\n {children}\n\n <Dl\n top=\"small\"\n bottom={0}\n layout=\"horizontal\"\n className=\"dnb-upload__condition-list\"\n >\n {prettifiedAcceptedFileFormats && (\n <Dl.Item>\n <Dt>{fileTypeDescription}</Dt>\n <Dd>{prettifiedAcceptedFileFormats}</Dd>\n </Dl.Item>\n )}\n\n {fileMaxSize && (\n <Dl.Item>\n <Dt>{fileSizeDescription}</Dt>\n <Dd>\n {String(fileSizeContent).replace(\n '%size',\n format(fileMaxSize).toString()\n )}\n </Dd>\n </Dl.Item>\n )}\n\n {filesAmountLimit < defaultProps.filesAmountLimit && (\n <Dl.Item>\n <Dt>{fileAmountDescription}</Dt>\n <Dd>{filesAmountLimit}</Dd>\n </Dl.Item>\n )}\n </Dl>\n </>\n )\n}\n\nexport default UploadInfo\n"],"mappings":"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"}
1
+ {"version":3,"file":"UploadInfo.js","names":["_react","_interopRequireDefault","require","_UploadContext","_Lead","_P","_Dl","_Dt","_Dd","_NumberUtils","_UploadVerify","_Table","_TableTr","_TableTh","_TableTd","_UploadInfoAcceptedFi","obj","__esModule","default","prettifyAcceptedFileFormats","acceptedFileTypes","sort","join","toUpperCase","UploadInfo","context","React","useContext","UploadContext","title","text","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","filesAmountLimit","fileMaxSize","children","prettifiedAcceptedFileFormats","isAcceptedFileTypeListOfStrings","isArrayOfStrings","displayAcceptedFileFormatsListItem","displayFileMaxSizeItem","displayFilesAmountLimitItem","defaultProps","displayAcceptedFileFormatsTable","isArrayOfObjects","displayDl","createElement","Fragment","space","top","className","bottom","layout","Item","String","replace","format","toString","UploadInfoAcceptedFileTypesTable","fileTypeTableCaption","groupByFileMaxSize","fallBackFileMaxSize","fileMaxSizeIsFalseOrZero","group","forEach","item","itemFileMaxSize","groupName","push","acceptedFileTypesGroupedByFileMaxSize","border","size","variant","cellSpacing","Object","keys","a","b","Number","map","key","acceptedFileTypesObj","fileType","_default","exports"],"sources":["../../../../src/components/upload/UploadInfo.tsx"],"sourcesContent":["import React from 'react'\nimport { defaultProps, UploadContext } from './UploadContext'\nimport Lead from '../../elements/Lead'\nimport P from '../../elements/P'\nimport Dl from '../../elements/Dl'\nimport Dt from '../../elements/Dt'\nimport Dd from '../../elements/Dd'\nimport { format } from '../number-format/NumberUtils'\nimport { isArrayOfObjects, isArrayOfStrings } from './UploadVerify'\nimport Table from '../Table'\nimport Tr from '../table/TableTr'\nimport Th from '../table/TableTh'\nimport Td from '../table/TableTd'\nimport { UploadAcceptedFileTypeObject, UploadProps } from './types'\n\nconst prettifyAcceptedFileFormats = (acceptedFileTypes) =>\n acceptedFileTypes.sort().join(', ').toUpperCase()\n\nconst UploadInfo = () => {\n const context = React.useContext(UploadContext)\n\n const {\n title,\n text,\n acceptedFileTypes,\n fileTypeDescription,\n fileSizeDescription,\n fileAmountDescription,\n fileSizeContent,\n filesAmountLimit,\n fileMaxSize,\n children,\n } = context\n\n const prettifiedAcceptedFileFormats =\n prettifyAcceptedFileFormats(acceptedFileTypes)\n\n const isAcceptedFileTypeListOfStrings =\n isArrayOfStrings(acceptedFileTypes)\n\n const displayAcceptedFileFormatsListItem =\n isAcceptedFileTypeListOfStrings && prettifiedAcceptedFileFormats\n\n const displayFileMaxSizeItem =\n isAcceptedFileTypeListOfStrings && fileMaxSize\n\n const displayFilesAmountLimitItem =\n filesAmountLimit < defaultProps.filesAmountLimit\n\n const displayAcceptedFileFormatsTable =\n isArrayOfObjects(acceptedFileTypes)\n\n const displayDl =\n displayAcceptedFileFormatsListItem ||\n displayFileMaxSizeItem ||\n displayFilesAmountLimitItem\n\n return (\n <>\n <Lead space=\"0\">{title}</Lead>\n\n <P top=\"xx-small\" className=\"dnb-upload__text\">\n {text}\n </P>\n\n {children}\n\n {displayDl && (\n <Dl top=\"small\" bottom={0} layout=\"horizontal\">\n {displayAcceptedFileFormatsListItem && (\n <Dl.Item>\n <Dt>{fileTypeDescription}</Dt>\n <Dd>{prettifiedAcceptedFileFormats}</Dd>\n </Dl.Item>\n )}\n\n {displayFileMaxSizeItem && (\n <Dl.Item>\n <Dt>{fileSizeDescription}</Dt>\n <Dd>\n {String(fileSizeContent).replace(\n '%size',\n format(fileMaxSize).toString()\n )}\n </Dd>\n </Dl.Item>\n )}\n\n {displayFilesAmountLimitItem && (\n <Dl.Item>\n <Dt>{fileAmountDescription}</Dt>\n <Dd>{filesAmountLimit}</Dd>\n </Dl.Item>\n )}\n </Dl>\n )}\n {displayAcceptedFileFormatsTable && (\n <UploadInfoAcceptedFileTypesTable />\n )}\n </>\n )\n}\n\nfunction UploadInfoAcceptedFileTypesTable() {\n const context = React.useContext(UploadContext)\n\n const {\n acceptedFileTypes,\n fileTypeTableCaption,\n fileTypeDescription,\n fileSizeDescription,\n fileSizeContent,\n fileMaxSize,\n } = context\n\n const groupByFileMaxSize = (\n acceptedFileTypes: UploadProps['acceptedFileTypes'],\n fallBackFileMaxSize: UploadProps['fileMaxSize']\n ) => {\n const fileMaxSizeIsFalseOrZero = (\n fileMaxSize: UploadProps['fileMaxSize']\n ) => {\n return fileMaxSize === false || fileMaxSize === 0\n }\n\n const group = {}\n acceptedFileTypes.forEach((item) => {\n const itemFileMaxSize = item.fileMaxSize\n const groupName = itemFileMaxSize\n ? itemFileMaxSize\n : fileMaxSizeIsFalseOrZero(itemFileMaxSize)\n ? 0\n : fileMaxSizeIsFalseOrZero(fallBackFileMaxSize)\n ? 0\n : fallBackFileMaxSize\n\n group[groupName] = group[groupName] || []\n group[groupName].push(item)\n })\n\n return group\n }\n\n const acceptedFileTypesGroupedByFileMaxSize = groupByFileMaxSize(\n acceptedFileTypes,\n fileMaxSize\n )\n\n return (\n <Table\n border\n className=\"dnb-upload__accepted-file-types-table\"\n size=\"small\"\n >\n <caption className=\"dnb-sr-only\">{fileTypeTableCaption}</caption>\n <thead>\n <Tr variant=\"odd\" cellSpacing={0}>\n <Th>{fileTypeDescription}</Th>\n <Th>{fileSizeDescription}</Th>\n </Tr>\n </thead>\n <tbody>\n {Object.keys(acceptedFileTypesGroupedByFileMaxSize)\n .sort((a, b) => Number(b) - Number(a))\n .map((key) => {\n return (\n <Tr variant=\"odd\" key={key}>\n <Td>\n {prettifyAcceptedFileFormats(\n acceptedFileTypesGroupedByFileMaxSize[key].map(\n (\n acceptedFileTypesObj: UploadAcceptedFileTypeObject\n ) => acceptedFileTypesObj.fileType\n )\n )}\n </Td>\n <Td>\n {key !== '0' &&\n String(fileSizeContent).replace(\n '%size',\n format(key).toString()\n )}\n </Td>\n </Tr>\n )\n })}\n </tbody>\n </Table>\n )\n}\n\nexport default UploadInfo\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,EAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,QAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,sBAAA,CAAAC,OAAA;AAAiC,IAAAa,qBAAA;AAAA,SAAAd,uBAAAe,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGjC,MAAMG,2BAA2B,GAAIC,iBAAiB,IACpDA,iBAAiB,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAACC,WAAW,CAAC,CAAC;AAEnD,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,4BAAa,CAAC;EAE/C,MAAM;IACJC,KAAK;IACLC,IAAI;IACJV,iBAAiB;IACjBW,mBAAmB;IACnBC,mBAAmB;IACnBC,qBAAqB;IACrBC,eAAe;IACfC,gBAAgB;IAChBC,WAAW;IACXC;EACF,CAAC,GAAGZ,OAAO;EAEX,MAAMa,6BAA6B,GACjCnB,2BAA2B,CAACC,iBAAiB,CAAC;EAEhD,MAAMmB,+BAA+B,GACnC,IAAAC,8BAAgB,EAACpB,iBAAiB,CAAC;EAErC,MAAMqB,kCAAkC,GACtCF,+BAA+B,IAAID,6BAA6B;EAElE,MAAMI,sBAAsB,GAC1BH,+BAA+B,IAAIH,WAAW;EAEhD,MAAMO,2BAA2B,GAC/BR,gBAAgB,GAAGS,2BAAY,CAACT,gBAAgB;EAElD,MAAMU,+BAA+B,GACnC,IAAAC,8BAAgB,EAAC1B,iBAAiB,CAAC;EAErC,MAAM2B,SAAS,GACbN,kCAAkC,IAClCC,sBAAsB,IACtBC,2BAA2B;EAE7B,OACE3C,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAAhD,MAAA,CAAAkB,OAAA,CAAA+B,QAAA,QACEjD,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAC5C,KAAA,CAAAc,OAAI;IAACgC,KAAK,EAAC;EAAG,GAAErB,KAAY,CAAC,EAE9B7B,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAC3C,EAAA,CAAAa,OAAC;IAACiC,GAAG,EAAC,UAAU;IAACC,SAAS,EAAC;EAAkB,GAC3CtB,IACA,CAAC,EAEHO,QAAQ,EAERU,SAAS,IACR/C,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAC1C,GAAA,CAAAY,OAAE;IAACiC,GAAG,EAAC,OAAO;IAACE,MAAM,EAAE,CAAE;IAACC,MAAM,EAAC;EAAY,GAC3Cb,kCAAkC,IACjCzC,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAC1C,GAAA,CAAAY,OAAE,CAACqC,IAAI,QACNvD,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACzC,GAAA,CAAAW,OAAE,QAAEa,mBAAwB,CAAC,EAC9B/B,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACxC,GAAA,CAAAU,OAAE,QAAEoB,6BAAkC,CAChC,CACV,EAEAI,sBAAsB,IACrB1C,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAC1C,GAAA,CAAAY,OAAE,CAACqC,IAAI,QACNvD,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACzC,GAAA,CAAAW,OAAE,QAAEc,mBAAwB,CAAC,EAC9BhC,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACxC,GAAA,CAAAU,OAAE,QACAsC,MAAM,CAACtB,eAAe,CAAC,CAACuB,OAAO,CAC9B,OAAO,EACP,IAAAC,mBAAM,EAACtB,WAAW,CAAC,CAACuB,QAAQ,CAAC,CAC/B,CACE,CACG,CACV,EAEAhB,2BAA2B,IAC1B3C,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAC1C,GAAA,CAAAY,OAAE,CAACqC,IAAI,QACNvD,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACzC,GAAA,CAAAW,OAAE,QAAEe,qBAA0B,CAAC,EAChCjC,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACxC,GAAA,CAAAU,OAAE,QAAEiB,gBAAqB,CACnB,CAET,CACL,EACAU,+BAA+B,KAAA9B,qBAAA,KAAAA,qBAAA,GAC9Bf,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACY,gCAAgC,MAAE,CAAC,EAEtC,CAAC;AAEP,CAAC;AAED,SAASA,gCAAgCA,CAAA,EAAG;EAC1C,MAAMnC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,4BAAa,CAAC;EAE/C,MAAM;IACJR,iBAAiB;IACjByC,oBAAoB;IACpB9B,mBAAmB;IACnBC,mBAAmB;IACnBE,eAAe;IACfE;EACF,CAAC,GAAGX,OAAO;EAEX,MAAMqC,kBAAkB,GAAGA,CACzB1C,iBAAmD,EACnD2C,mBAA+C,KAC5C;IACH,MAAMC,wBAAwB,GAC5B5B,WAAuC,IACpC;MACH,OAAOA,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,CAAC;IACnD,CAAC;IAED,MAAM6B,KAAK,GAAG,CAAC,CAAC;IAChB7C,iBAAiB,CAAC8C,OAAO,CAAEC,IAAI,IAAK;MAClC,MAAMC,eAAe,GAAGD,IAAI,CAAC/B,WAAW;MACxC,MAAMiC,SAAS,GAAGD,eAAe,GAC7BA,eAAe,GACfJ,wBAAwB,CAACI,eAAe,CAAC,GACzC,CAAC,GACDJ,wBAAwB,CAACD,mBAAmB,CAAC,GAC7C,CAAC,GACDA,mBAAmB;MAEvBE,KAAK,CAACI,SAAS,CAAC,GAAGJ,KAAK,CAACI,SAAS,CAAC,IAAI,EAAE;MACzCJ,KAAK,CAACI,SAAS,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAOF,KAAK;EACd,CAAC;EAED,MAAMM,qCAAqC,GAAGT,kBAAkB,CAC9D1C,iBAAiB,EACjBgB,WACF,CAAC;EAED,OACEpC,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACrC,MAAA,CAAAO,OAAK;IACJsD,MAAM;IACNpB,SAAS,EAAC,uCAAuC;IACjDqB,IAAI,EAAC;EAAO,GAEZzE,MAAA,CAAAkB,OAAA,CAAA8B,aAAA;IAASI,SAAS,EAAC;EAAa,GAAES,oBAA8B,CAAC,EACjE7D,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,gBACEhD,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACpC,QAAA,CAAAM,OAAE;IAACwD,OAAO,EAAC,KAAK;IAACC,WAAW,EAAE;EAAE,GAC/B3E,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACnC,QAAA,CAAAK,OAAE,QAAEa,mBAAwB,CAAC,EAC9B/B,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACnC,QAAA,CAAAK,OAAE,QAAEc,mBAAwB,CAC3B,CACC,CAAC,EACRhC,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,gBACG4B,MAAM,CAACC,IAAI,CAACN,qCAAqC,CAAC,CAChDlD,IAAI,CAAC,CAACyD,CAAC,EAAEC,CAAC,KAAKC,MAAM,CAACD,CAAC,CAAC,GAAGC,MAAM,CAACF,CAAC,CAAC,CAAC,CACrCG,GAAG,CAAEC,GAAG,IAAK;IACZ,OACElF,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAACpC,QAAA,CAAAM,OAAE;MAACwD,OAAO,EAAC,KAAK;MAACQ,GAAG,EAAEA;IAAI,GACzBlF,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAClC,QAAA,CAAAI,OAAE,QACAC,2BAA2B,CAC1BoD,qCAAqC,CAACW,GAAG,CAAC,CAACD,GAAG,CAE1CE,oBAAkD,IAC/CA,oBAAoB,CAACC,QAC5B,CACF,CACE,CAAC,EACLpF,MAAA,CAAAkB,OAAA,CAAA8B,aAAA,CAAClC,QAAA,CAAAI,OAAE,QACAgE,GAAG,KAAK,GAAG,IACV1B,MAAM,CAACtB,eAAe,CAAC,CAACuB,OAAO,CAC7B,OAAO,EACP,IAAAC,mBAAM,EAACwB,GAAG,CAAC,CAACvB,QAAQ,CAAC,CACvB,CACA,CACF,CAAC;EAET,CAAC,CACE,CACF,CAAC;AAEZ;AAAC,IAAA0B,QAAA,GAEc7D,UAAU;AAAA8D,OAAA,CAAApE,OAAA,GAAAmE,QAAA"}
@@ -1,9 +1,11 @@
1
- import { UploadFile, UploadContextProps, UploadAcceptedFileTypes } from './types';
1
+ import { UploadFile, UploadContextProps, UploadAcceptedFileTypes, UploadAcceptedFileTypesWithFileMaxSize } from './types';
2
2
  export declare const BYTES_IN_A_MEGA_BYTE = 1048576;
3
3
  export declare function verifyFiles(files: UploadFile[], context: Pick<UploadContextProps, 'errorUnsupportedFile' | 'errorLargeFile' | 'acceptedFileTypes' | 'fileMaxSize'>): UploadFile[];
4
4
  export declare function getFileTypeFromExtension(file: File): string;
5
- export declare function getAcceptedFileTypes(acceptedFileTypes: UploadAcceptedFileTypes): string;
5
+ export declare function getAcceptedFileTypes(acceptedFileTypes: UploadAcceptedFileTypes | UploadAcceptedFileTypesWithFileMaxSize): string;
6
6
  export declare function hasPreferredMimeType(acceptedFileTypes: UploadAcceptedFileTypes, file: File): boolean;
7
+ export declare function isArrayOfStrings(arr: any): boolean;
8
+ export declare function isArrayOfObjects(arr: any): boolean;
7
9
  export declare function extendWithAbbreviation(acceptedFileTypes: UploadAcceptedFileTypes, abbreviations?: {
8
10
  jpg: string;
9
11
  }): string[];
@@ -8,6 +8,8 @@ exports.extendWithAbbreviation = extendWithAbbreviation;
8
8
  exports.getAcceptedFileTypes = getAcceptedFileTypes;
9
9
  exports.getFileTypeFromExtension = getFileTypeFromExtension;
10
10
  exports.hasPreferredMimeType = hasPreferredMimeType;
11
+ exports.isArrayOfObjects = isArrayOfObjects;
12
+ exports.isArrayOfStrings = isArrayOfStrings;
11
13
  exports.verifyFiles = verifyFiles;
12
14
  var _NumberUtils = require("../number-format/NumberUtils");
13
15
  const BYTES_IN_A_MEGA_BYTE = 1048576;
@@ -19,9 +21,24 @@ function verifyFiles(files, context) {
19
21
  errorLargeFile,
20
22
  errorUnsupportedFile
21
23
  } = context;
24
+ const getFileType = (file, listOfAcceptedFilesTypes) => {
25
+ return hasPreferredMimeType(listOfAcceptedFilesTypes, file) ? file.type : getFileTypeFromExtension(file) || file.type;
26
+ };
22
27
  const handleSize = file => {
23
- if (fileMaxSize && file.size / BYTES_IN_A_MEGA_BYTE > fileMaxSize) {
24
- return String(errorLargeFile).replace('%size', (0, _NumberUtils.format)(fileMaxSize).toString());
28
+ const validateFileSize = (fileSize, maxFileSize) => {
29
+ if (maxFileSize && fileSize / BYTES_IN_A_MEGA_BYTE > maxFileSize) {
30
+ return String(errorLargeFile).replace('%size', (0, _NumberUtils.format)(maxFileSize).toString());
31
+ }
32
+ return null;
33
+ };
34
+ if (isArrayOfStrings(acceptedFileTypes) || acceptedFileTypes.length === 0 || !acceptedFileTypes) {
35
+ return validateFileSize(file.size, fileMaxSize);
36
+ } else if (isArrayOfObjects(acceptedFileTypes)) {
37
+ const fileType = getFileType(file, getAcceptedFileTypesAsListOfStrings(acceptedFileTypes));
38
+ const acceptedFileTypeObj = acceptedFileTypes.find(item => {
39
+ return item.fileType === fileType;
40
+ });
41
+ return validateFileSize(file.size, acceptedFileTypeObj.fileMaxSize !== undefined ? acceptedFileTypeObj.fileMaxSize : fileMaxSize);
25
42
  }
26
43
  return null;
27
44
  };
@@ -29,8 +46,9 @@ function verifyFiles(files, context) {
29
46
  if (acceptedFileTypes.length === 0) {
30
47
  return false;
31
48
  }
32
- const fileType = hasPreferredMimeType(acceptedFileTypes, file) ? file.type : getFileTypeFromExtension(file) || file.type;
33
- const foundType = extendWithAbbreviation(acceptedFileTypes).some(type => {
49
+ const listOfAcceptedFilesTypes = getAcceptedFileTypesAsListOfStrings(acceptedFileTypes);
50
+ const fileType = getFileType(file, listOfAcceptedFilesTypes);
51
+ const foundType = extendWithAbbreviation(listOfAcceptedFilesTypes).some(type => {
34
52
  return fileType.includes(type);
35
53
  });
36
54
  return !foundType ? errorUnsupportedFile : null;
@@ -51,11 +69,20 @@ function getFileTypeFromExtension(file) {
51
69
  return file.name.includes('.') && file.name.replace(/.*\.([^.]+)$/, '$1') || null;
52
70
  }
53
71
  function getAcceptedFileTypes(acceptedFileTypes) {
54
- return extendWithAbbreviation(acceptedFileTypes).map(type => type.includes('/') ? type : `.${type}`).join(',');
72
+ return extendWithAbbreviation(getAcceptedFileTypesAsListOfStrings(acceptedFileTypes)).map(type => type.includes('/') ? type : `.${type}`).join(',');
55
73
  }
56
74
  function hasPreferredMimeType(acceptedFileTypes, file) {
57
75
  return file.type.split('/')[1] && (!(acceptedFileTypes !== null && acceptedFileTypes !== void 0 && acceptedFileTypes.length) || (acceptedFileTypes === null || acceptedFileTypes === void 0 ? void 0 : acceptedFileTypes.some(type => type.toLowerCase() === file.type.toLowerCase())));
58
76
  }
77
+ function getAcceptedFileTypesAsListOfStrings(acceptedFileTypes) {
78
+ return isArrayOfStrings(acceptedFileTypes) ? acceptedFileTypes : acceptedFileTypes.map(obj => obj.fileType);
79
+ }
80
+ function isArrayOfStrings(arr) {
81
+ return Array.isArray(arr) && arr.length > 0 && arr.every(i => typeof i === 'string');
82
+ }
83
+ function isArrayOfObjects(arr) {
84
+ return Array.isArray(arr) && arr.length > 0 && arr.every(i => typeof i === 'object');
85
+ }
59
86
  function extendWithAbbreviation(acceptedFileTypes) {
60
87
  let abbreviations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
61
88
  jpg: 'jpeg'
@@ -1 +1 @@
1
- {"version":3,"file":"UploadVerify.js","names":["_NumberUtils","require","BYTES_IN_A_MEGA_BYTE","exports","verifyFiles","files","context","fileMaxSize","acceptedFileTypes","errorLargeFile","errorUnsupportedFile","handleSize","file","size","String","replace","format","toString","handleType","length","fileType","hasPreferredMimeType","type","getFileTypeFromExtension","foundType","extendWithAbbreviation","some","includes","cleanedFiles","map","item","errorMessage","name","getAcceptedFileTypes","join","split","toLowerCase","abbreviations","arguments","undefined","jpg","list","Object","entries","forEach","_ref","abbr","t","push"],"sources":["../../../../src/components/upload/UploadVerify.tsx"],"sourcesContent":["import { format } from '../number-format/NumberUtils'\nimport {\n UploadFile,\n UploadContextProps,\n UploadAcceptedFileTypes,\n} from './types'\n\nexport const BYTES_IN_A_MEGA_BYTE = 1048576\n\nexport function verifyFiles(\n files: UploadFile[],\n context: Pick<\n UploadContextProps,\n | 'errorUnsupportedFile'\n | 'errorLargeFile'\n | 'acceptedFileTypes'\n | 'fileMaxSize'\n >\n) {\n const {\n fileMaxSize,\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n } = context\n\n const handleSize = (file: File) => {\n if (\n fileMaxSize &&\n // Converts from b (binary) to MB (decimal)\n file.size / BYTES_IN_A_MEGA_BYTE > fileMaxSize\n ) {\n return String(errorLargeFile).replace(\n '%size',\n format(fileMaxSize).toString()\n )\n }\n return null\n }\n\n const handleType = (file: File) => {\n if (acceptedFileTypes.length === 0) {\n return false\n }\n const fileType = hasPreferredMimeType(acceptedFileTypes, file)\n ? file.type\n : getFileTypeFromExtension(file) || file.type\n const foundType = extendWithAbbreviation(acceptedFileTypes).some(\n (type) => {\n /**\n * \"file.type\" can be e.g. \"images/png\"\n */\n return fileType.includes(type)\n }\n )\n return !foundType ? errorUnsupportedFile : null\n }\n\n const cleanedFiles = files.map((item) => {\n const { file } = item\n\n const errorMessage = handleSize(file) || handleType(file)\n\n if (errorMessage) {\n item.errorMessage = errorMessage\n }\n\n return item\n })\n\n return cleanedFiles\n}\n\nexport function getFileTypeFromExtension(file: File) {\n return (\n (file.name.includes('.') && file.name.replace(/.*\\.([^.]+)$/, '$1')) ||\n null\n )\n}\n\nexport function getAcceptedFileTypes(\n acceptedFileTypes: UploadAcceptedFileTypes\n) {\n return extendWithAbbreviation(acceptedFileTypes)\n .map((type) => (type.includes('/') ? type : `.${type}`))\n .join(',')\n}\n\nexport function hasPreferredMimeType(\n acceptedFileTypes: UploadAcceptedFileTypes,\n file: File\n) {\n return (\n file.type.split('/')[1] &&\n (!acceptedFileTypes?.length ||\n acceptedFileTypes?.some(\n (type) => type.toLowerCase() === file.type.toLowerCase()\n ))\n )\n}\n\nexport function extendWithAbbreviation(\n acceptedFileTypes: UploadAcceptedFileTypes,\n abbreviations = { jpg: 'jpeg' }\n) {\n const list = [...acceptedFileTypes]\n\n Object.entries(abbreviations).forEach(([type, abbr]) => {\n if (list.some((t) => t === type) && !list.some((t) => t === abbr)) {\n list.push(abbr)\n }\n })\n\n return list\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UploadVerify.js","names":["_NumberUtils","require","BYTES_IN_A_MEGA_BYTE","exports","verifyFiles","files","context","fileMaxSize","acceptedFileTypes","errorLargeFile","errorUnsupportedFile","getFileType","file","listOfAcceptedFilesTypes","hasPreferredMimeType","type","getFileTypeFromExtension","handleSize","validateFileSize","fileSize","maxFileSize","String","replace","format","toString","isArrayOfStrings","length","size","isArrayOfObjects","fileType","getAcceptedFileTypesAsListOfStrings","acceptedFileTypeObj","find","item","undefined","handleType","foundType","extendWithAbbreviation","some","includes","cleanedFiles","map","errorMessage","name","getAcceptedFileTypes","join","split","toLowerCase","obj","arr","Array","isArray","every","i","abbreviations","arguments","jpg","list","Object","entries","forEach","_ref","abbr","t","push"],"sources":["../../../../src/components/upload/UploadVerify.tsx"],"sourcesContent":["import { format } from '../number-format/NumberUtils'\nimport {\n UploadFile,\n UploadContextProps,\n UploadAcceptedFileTypes,\n UploadAcceptedFileTypesWithFileMaxSize,\n} from './types'\n\nexport const BYTES_IN_A_MEGA_BYTE = 1048576\n\nexport function verifyFiles(\n files: UploadFile[],\n context: Pick<\n UploadContextProps,\n | 'errorUnsupportedFile'\n | 'errorLargeFile'\n | 'acceptedFileTypes'\n | 'fileMaxSize'\n >\n) {\n const {\n fileMaxSize,\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n } = context\n\n const getFileType = (\n file: File,\n listOfAcceptedFilesTypes: UploadAcceptedFileTypes\n ) => {\n return hasPreferredMimeType(listOfAcceptedFilesTypes, file)\n ? file.type\n : getFileTypeFromExtension(file) || file.type\n }\n\n const handleSize = (file: File) => {\n const validateFileSize = (\n fileSize: number,\n maxFileSize: number | false\n ) => {\n if (\n maxFileSize &&\n // Converts from b (binary) to MB (decimal)\n fileSize / BYTES_IN_A_MEGA_BYTE > maxFileSize\n ) {\n return String(errorLargeFile).replace(\n '%size',\n format(maxFileSize).toString()\n )\n }\n return null\n }\n\n if (\n isArrayOfStrings(acceptedFileTypes) ||\n acceptedFileTypes.length === 0 ||\n !acceptedFileTypes\n ) {\n return validateFileSize(file.size, fileMaxSize)\n } else if (isArrayOfObjects(acceptedFileTypes)) {\n const fileType = getFileType(\n file,\n getAcceptedFileTypesAsListOfStrings(acceptedFileTypes)\n )\n\n const acceptedFileTypeObj = (\n acceptedFileTypes as UploadAcceptedFileTypesWithFileMaxSize\n ).find((item) => {\n return item.fileType === fileType\n })\n\n return validateFileSize(\n file.size,\n acceptedFileTypeObj.fileMaxSize !== undefined\n ? acceptedFileTypeObj.fileMaxSize\n : fileMaxSize\n )\n }\n return null\n }\n\n const handleType = (file: File) => {\n if (acceptedFileTypes.length === 0) {\n return false\n }\n\n const listOfAcceptedFilesTypes =\n getAcceptedFileTypesAsListOfStrings(acceptedFileTypes)\n const fileType = getFileType(file, listOfAcceptedFilesTypes)\n const foundType = extendWithAbbreviation(\n listOfAcceptedFilesTypes\n ).some((type) => {\n /**\n * \"file.type\" can be e.g. \"image/png\"\n */\n return fileType.includes(type)\n })\n return !foundType ? errorUnsupportedFile : null\n }\n\n const cleanedFiles = files.map((item) => {\n const { file } = item\n\n const errorMessage = handleSize(file) || handleType(file)\n\n if (errorMessage) {\n item.errorMessage = errorMessage\n }\n\n return item\n })\n\n return cleanedFiles\n}\n\nexport function getFileTypeFromExtension(file: File) {\n return (\n (file.name.includes('.') && file.name.replace(/.*\\.([^.]+)$/, '$1')) ||\n null\n )\n}\n\nexport function getAcceptedFileTypes(\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n) {\n return extendWithAbbreviation(\n getAcceptedFileTypesAsListOfStrings(acceptedFileTypes)\n )\n .map((type) => (type.includes('/') ? type : `.${type}`))\n .join(',')\n}\n\nexport function hasPreferredMimeType(\n acceptedFileTypes: UploadAcceptedFileTypes,\n file: File\n) {\n return (\n file.type.split('/')[1] &&\n (!acceptedFileTypes?.length ||\n acceptedFileTypes?.some(\n (type) => type.toLowerCase() === file.type.toLowerCase()\n ))\n )\n}\n\nfunction getAcceptedFileTypesAsListOfStrings(\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n) {\n return isArrayOfStrings(acceptedFileTypes)\n ? (acceptedFileTypes as UploadAcceptedFileTypes)\n : (acceptedFileTypes as UploadAcceptedFileTypesWithFileMaxSize).map(\n (obj) => obj.fileType\n )\n}\n\nexport function isArrayOfStrings(arr) {\n return (\n Array.isArray(arr) &&\n arr.length > 0 &&\n arr.every((i) => typeof i === 'string')\n )\n}\n\nexport function isArrayOfObjects(arr) {\n return (\n Array.isArray(arr) &&\n arr.length > 0 &&\n arr.every((i) => typeof i === 'object')\n )\n}\n\nexport function extendWithAbbreviation(\n acceptedFileTypes: UploadAcceptedFileTypes,\n abbreviations = { jpg: 'jpeg' }\n) {\n const list = [...acceptedFileTypes]\n\n Object.entries(abbreviations).forEach(([type, abbr]) => {\n if (list.some((t) => t === type) && !list.some((t) => t === abbr)) {\n list.push(abbr)\n }\n })\n\n return list\n}\n"],"mappings":"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"}
@@ -112,6 +112,21 @@
112
112
  .dnb-upload__text.dnb-p {
113
113
  color: var(--upload-text--secondary);
114
114
  }
115
+ .dnb-upload__accepted-file-types-table.dnb-table {
116
+ width: -moz-fit-content;
117
+ width: fit-content;
118
+ }
119
+ .dnb-upload__accepted-file-types-table.dnb-table thead th {
120
+ font-weight: var(--font-weight-medium);
121
+ font-size: var(--font-size-basis);
122
+ padding-top: var(--spacing-small);
123
+ }
124
+ .dnb-upload__accepted-file-types-table.dnb-table thead th:first-child {
125
+ padding-left: 0;
126
+ }
127
+ .dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child {
128
+ padding-left: 0;
129
+ }
115
130
  .dnb-upload__subtitle.dnb-p {
116
131
  color: var(--upload-text--secondary);
117
132
  }
@@ -1 +1 @@
1
- .dnb-upload{--upload-background:#fff;--upload-background--active:#d3d3d3;--upload-border:gray;--upload-border--active:#000;--upload-list-border:#000;--upload-icon--default:#000;--upload-icon--warning:red;--upload-highlight:#ffffe0;--upload-text--primary:#000;--upload-text--secondary:#000;background-color:var(--upload-background);border-radius:.5rem;display:flex;flex-direction:column;padding:var(--spacing-medium);position:relative}@media screen and (max-width:40em){.dnb-upload{padding:var(--spacing-medium) var(--spacing-small)}}.dnb-upload__outline{stroke:var(--upload-border);stroke-width:.1875rem;border-radius:.5rem;content:"";height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.dnb-upload--active .dnb-upload__outline{stroke:var(--upload-border--active);height:calc(100% + 2px);inset:-1px;width:calc(100% + 2px)}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:var(--upload-background--active)}.dnb-upload__file-input{position:absolute;visibility:hidden}.dnb-upload__file-list{list-style:none;margin-bottom:0;margin-top:var(--spacing-medium);padding:0;position:relative}.dnb-upload__file-cell:after,.dnb-upload__file-list:before{background-color:var(--upload-list-border);content:"";height:1px;inset:0;position:absolute}.dnb-upload__file-cell{padding:var(--spacing-small) 0;position:relative;transition:background-color;transition-duration:1.5s;transition-timing-function:var(--easing-default)}.dnb-upload__file-cell:after{top:auto}.dnb-upload__file-cell__content{justify-content:space-between}.dnb-upload__file-cell__content,.dnb-upload__file-cell__content__left{align-items:center;display:flex;flex-direction:row}.dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--warning)}.dnb-upload__file-cell--highlight{background-color:var(--upload-highlight)}.dnb-upload__file-cell__text-container{display:flex;flex-direction:column;margin-left:var(--spacing-small)}.dnb-upload__file-cell__text-container--loading{font-size:var(--font-size-basis)}.dnb-upload__subtitle.dnb-p,.dnb-upload__text.dnb-p{color:var(--upload-text--secondary)}
1
+ .dnb-upload{--upload-background:#fff;--upload-background--active:#d3d3d3;--upload-border:gray;--upload-border--active:#000;--upload-list-border:#000;--upload-icon--default:#000;--upload-icon--warning:red;--upload-highlight:#ffffe0;--upload-text--primary:#000;--upload-text--secondary:#000;background-color:var(--upload-background);border-radius:.5rem;display:flex;flex-direction:column;padding:var(--spacing-medium);position:relative}@media screen and (max-width:40em){.dnb-upload{padding:var(--spacing-medium) var(--spacing-small)}}.dnb-upload__outline{stroke:var(--upload-border);stroke-width:.1875rem;border-radius:.5rem;content:"";height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.dnb-upload--active .dnb-upload__outline{stroke:var(--upload-border--active);height:calc(100% + 2px);inset:-1px;width:calc(100% + 2px)}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:var(--upload-background--active)}.dnb-upload__file-input{position:absolute;visibility:hidden}.dnb-upload__file-list{list-style:none;margin-bottom:0;margin-top:var(--spacing-medium);padding:0;position:relative}.dnb-upload__file-cell:after,.dnb-upload__file-list:before{background-color:var(--upload-list-border);content:"";height:1px;inset:0;position:absolute}.dnb-upload__file-cell{padding:var(--spacing-small) 0;position:relative;transition:background-color;transition-duration:1.5s;transition-timing-function:var(--easing-default)}.dnb-upload__file-cell:after{top:auto}.dnb-upload__file-cell__content{justify-content:space-between}.dnb-upload__file-cell__content,.dnb-upload__file-cell__content__left{align-items:center;display:flex;flex-direction:row}.dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--warning)}.dnb-upload__file-cell--highlight{background-color:var(--upload-highlight)}.dnb-upload__file-cell__text-container{display:flex;flex-direction:column;margin-left:var(--spacing-small)}.dnb-upload__file-cell__text-container--loading{font-size:var(--font-size-basis)}.dnb-upload__text.dnb-p{color:var(--upload-text--secondary)}.dnb-upload__accepted-file-types-table.dnb-table{width:-moz-fit-content;width:fit-content}.dnb-upload__accepted-file-types-table.dnb-table thead th{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium);padding-top:var(--spacing-small)}.dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child,.dnb-upload__accepted-file-types-table.dnb-table thead th:first-child{padding-left:0}.dnb-upload__subtitle.dnb-p{color:var(--upload-text--secondary)}
@@ -145,6 +145,23 @@
145
145
  color: var(--upload-text--secondary);
146
146
  }
147
147
 
148
+ &__accepted-file-types-table {
149
+ &.dnb-table {
150
+ width: fit-content;
151
+ & thead th {
152
+ font-weight: var(--font-weight-medium);
153
+ font-size: var(--font-size-basis);
154
+ padding-top: var(--spacing-small);
155
+ &:first-child {
156
+ padding-left: 0;
157
+ }
158
+ }
159
+ & tbody td:first-child {
160
+ padding-left: 0;
161
+ }
162
+ }
163
+ }
164
+
148
165
  &__subtitle.dnb-p {
149
166
  color: var(--upload-text--secondary);
150
167
  }
@@ -2,6 +2,11 @@ import React from 'react';
2
2
  import type { SkeletonShow } from '../skeleton/Skeleton';
3
3
  import type { LocaleProps, SpacingProps } from '../../shared/types';
4
4
  export type UploadAcceptedFileTypes = string[];
5
+ export type UploadAcceptedFileTypesWithFileMaxSize = UploadAcceptedFileTypeObject[];
6
+ export type UploadAcceptedFileTypeObject = {
7
+ fileType: string;
8
+ fileMaxSize?: number | false;
9
+ };
5
10
  export type UploadProps = {
6
11
  /**
7
12
  * unique id used with the useUpload hook to manage the files
@@ -10,7 +15,7 @@ export type UploadProps = {
10
15
  /**
11
16
  * list of accepted file types.
12
17
  */
13
- acceptedFileTypes: UploadAcceptedFileTypes;
18
+ acceptedFileTypes: UploadAcceptedFileTypes | UploadAcceptedFileTypesWithFileMaxSize;
14
19
  /**
15
20
  * Skeleton should be applied when loading content
16
21
  * Default: null
@@ -43,6 +48,7 @@ export type UploadProps = {
43
48
  */
44
49
  title?: React.ReactNode;
45
50
  text?: React.ReactNode;
51
+ fileTypeTableCaption?: React.ReactNode;
46
52
  fileTypeDescription?: React.ReactNode;
47
53
  fileSizeDescription?: React.ReactNode;
48
54
  fileAmountDescription?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/upload/types.ts"],"sourcesContent":["import React from 'react'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\n\nexport type UploadAcceptedFileTypes = string[]\n\nexport type UploadProps = {\n /**\n * unique id used with the useUpload hook to manage the files\n */\n id: string\n\n /**\n * list of accepted file types.\n */\n acceptedFileTypes: UploadAcceptedFileTypes\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Defines the amount of files the user can select and upload\n * Default: 100\n */\n filesAmountLimit?: number\n\n /**\n * Defines the max file size of each file in MB. Use either `0` or `false` to disable.\n * Default: 5 MB\n */\n fileMaxSize?: number | false\n\n /**\n * will be called on `files` changes made by the user. Access the files with `{ files }`.\n */\n onChange?: ({ files }: { files: UploadFile[] }) => void\n\n /**\n * will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.\n */\n onFileDelete?: ({ fileItem }: { fileItem: UploadFile }) => void\n\n /**\n * Custom text properties\n */\n title?: React.ReactNode\n text?: React.ReactNode\n fileTypeDescription?: React.ReactNode\n fileSizeDescription?: React.ReactNode\n fileAmountDescription?: React.ReactNode\n fileSizeContent?: React.ReactNode\n buttonText?: React.ReactNode\n errorLargeFile?: React.ReactNode\n errorUnsupportedFile?: React.ReactNode\n errorAmountLimit?: React.ReactNode\n loadingText?: React.ReactNode\n deleteButton?: React.ReactNode\n fileListAriaLabel?: string\n children?: React.ReactNode\n}\n\nexport type UploadAllProps = UploadProps &\n SpacingProps &\n LocaleProps &\n Omit<React.HTMLProps<HTMLElement>, 'onChange' | 'title'>\n\nexport type UploadContextProps = {\n id?: string\n onInputUpload: (files: UploadFile[]) => void\n} & Partial<UploadProps>\n\nexport type UploadFile = {\n file: File\n errorMessage?: React.ReactNode\n isLoading?: boolean\n exists?: boolean\n id?: string\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/upload/types.ts"],"sourcesContent":["import React from 'react'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\n\nexport type UploadAcceptedFileTypes = string[]\n\nexport type UploadAcceptedFileTypesWithFileMaxSize =\n UploadAcceptedFileTypeObject[]\n\nexport type UploadAcceptedFileTypeObject = {\n fileType: string\n fileMaxSize?: number | false\n}\n\nexport type UploadProps = {\n /**\n * unique id used with the useUpload hook to manage the files\n */\n id: string\n\n /**\n * list of accepted file types.\n */\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Defines the amount of files the user can select and upload\n * Default: 100\n */\n filesAmountLimit?: number\n\n /**\n * Defines the max file size of each file in MB. Use either `0` or `false` to disable.\n * Default: 5 MB\n */\n fileMaxSize?: number | false\n\n /**\n * will be called on `files` changes made by the user. Access the files with `{ files }`.\n */\n onChange?: ({ files }: { files: UploadFile[] }) => void\n\n /**\n * will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.\n */\n onFileDelete?: ({ fileItem }: { fileItem: UploadFile }) => void\n\n /**\n * Custom text properties\n */\n title?: React.ReactNode\n text?: React.ReactNode\n fileTypeTableCaption?: React.ReactNode\n fileTypeDescription?: React.ReactNode\n fileSizeDescription?: React.ReactNode\n fileAmountDescription?: React.ReactNode\n fileSizeContent?: React.ReactNode\n buttonText?: React.ReactNode\n errorLargeFile?: React.ReactNode\n errorUnsupportedFile?: React.ReactNode\n errorAmountLimit?: React.ReactNode\n loadingText?: React.ReactNode\n deleteButton?: React.ReactNode\n fileListAriaLabel?: string\n children?: React.ReactNode\n}\n\nexport type UploadAllProps = UploadProps &\n SpacingProps &\n LocaleProps &\n Omit<React.HTMLProps<HTMLElement>, 'onChange' | 'title'>\n\nexport type UploadContextProps = {\n id?: string\n onInputUpload: (files: UploadFile[]) => void\n} & Partial<UploadProps>\n\nexport type UploadFile = {\n file: File\n errorMessage?: React.ReactNode\n isLoading?: boolean\n exists?: boolean\n id?: string\n}\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Ajv } from '../utils/ajv';
3
- import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps } from '../types';
3
+ import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps, OnChange } from '../types';
4
4
  import { Props as ProviderProps } from './Provider';
5
5
  type HandleSubmitProps = {
6
6
  formElement?: HTMLFormElement;
@@ -8,7 +8,7 @@ type HandleSubmitProps = {
8
8
  export type EventListenerCall = {
9
9
  path?: Path;
10
10
  type?: 'onSubmit';
11
- callback: () => any;
11
+ callback: () => void;
12
12
  };
13
13
  export type FilterDataHandler<Data> = (data: Data, filter: FilterData) => Partial<Data>;
14
14
  export type FilterDataHandlerCallback<R> = (parameters: FilterDataHandlerParameters) => R;
@@ -27,6 +27,9 @@ export type FilterDataPathConditionParameters<Data = unknown> = {
27
27
  export type FilterDataPathObject<Data> = Record<Path, FilterDataPathCondition<Data> | boolean | undefined>;
28
28
  export type FilterData<Data = unknown> = FilterDataPathObject<Data> | FilterDataHandlerCallback<boolean | undefined>;
29
29
  export type TransformData = FilterDataHandlerCallback<unknown>;
30
+ export type HandleSubmitCallback = ({ preventSubmit, }: {
31
+ preventSubmit: () => void;
32
+ }) => void;
30
33
  export interface ContextState {
31
34
  id?: Identifier;
32
35
  hasContext: boolean;
@@ -55,7 +58,7 @@ export interface ContextState {
55
58
  handleUnMountField: (path: Path) => void;
56
59
  setFormState?: (state: SubmitState) => void;
57
60
  setSubmitState?: (state: EventStateObject) => void;
58
- addOnChangeHandler?: (callback: (data: unknown) => void) => void;
61
+ addOnChangeHandler?: (callback: OnChange) => void;
59
62
  handleSubmitCall: ({ onSubmit, enableAsyncBehaviour, skipFieldValidation, skipErrorCheck, }: {
60
63
  onSubmit: () => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
61
64
  enableAsyncBehaviour: boolean;
@@ -64,10 +67,12 @@ export interface ContextState {
64
67
  }) => void;
65
68
  setFieldEventListener: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
66
69
  setHasVisibleError?: (path: Path, hasError: boolean) => void;
67
- setFieldProps?: (path: Path, props: any) => void;
68
- setValueProps?: (path: Path, props: any) => void;
70
+ setFieldProps?: (path: Path, props: unknown) => void;
71
+ setValueProps?: (path: Path, props: unknown) => void;
72
+ setHandleSubmit?: (callback: HandleSubmitCallback) => void;
69
73
  fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
70
74
  valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
75
+ mountedFieldPathsRef?: React.MutableRefObject<Path[]>;
71
76
  showAllErrors: boolean;
72
77
  hasVisibleError: boolean;
73
78
  formState: SubmitState;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit'\n callback: () => any\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: (data: unknown) => void) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setHasVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: any) => void\n setValueProps?: (path: Path, props: any) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAkI5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE3B,SAAS;EAC/B4B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAjC,mBAAA,GAAAA,mBAAA;AAED,MAAMkC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAepC,mBAAmB,CAAC;AAAA,IAAAqC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAlC,OAAA,GAAAsC,QAAA"}
1
+ {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit'\n callback: () => void\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setHasVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldPathsRef?: React.MutableRefObject<Path[]>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA0I5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE3B,SAAS;EAC/B4B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAjC,mBAAA,GAAAA,mBAAA;AAED,MAAMkC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAepC,mBAAmB,CAAC;AAAA,IAAAqC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAlC,OAAA,GAAAsC,QAAA"}