@dnb/eufemia 10.54.0 → 10.55.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 (1121) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/cjs/components/ListFormat.d.ts +12 -0
  3. package/cjs/components/ListFormat.js +24 -0
  4. package/cjs/components/ListFormat.js.map +1 -0
  5. package/cjs/components/anchor/Anchor.js +1 -1
  6. package/cjs/components/anchor/Anchor.js.map +1 -1
  7. package/cjs/components/autocomplete/Autocomplete.js +3 -3
  8. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  9. package/cjs/components/card/Card.js +14 -5
  10. package/cjs/components/card/Card.js.map +1 -1
  11. package/cjs/components/card/CardContext.d.ts +6 -0
  12. package/cjs/components/card/CardContext.js +12 -0
  13. package/cjs/components/card/CardContext.js.map +1 -0
  14. package/cjs/components/card/CardDocs.js +2 -2
  15. package/cjs/components/card/CardDocs.js.map +1 -1
  16. package/cjs/components/card/style/dnb-card.css +3 -0
  17. package/cjs/components/card/style/dnb-card.min.css +1 -1
  18. package/cjs/components/card/style/dnb-card.scss +5 -0
  19. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
  20. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  21. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
  22. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +5 -0
  23. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  24. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
  25. package/cjs/components/country-flag/CountryFlagDocs.js +5 -0
  26. package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -1
  27. package/cjs/components/date-picker/DatePicker.d.ts +261 -291
  28. package/cjs/components/date-picker/DatePicker.js +346 -482
  29. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerAddon.d.ts +21 -20
  31. package/cjs/components/date-picker/DatePickerAddon.js +66 -84
  32. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerCalc.d.ts +19 -21
  34. package/cjs/components/date-picker/DatePickerCalc.js +44 -44
  35. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  36. package/cjs/components/date-picker/DatePickerCalendar.d.ts +73 -39
  37. package/cjs/components/date-picker/DatePickerCalendar.js +391 -535
  38. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  39. package/cjs/components/date-picker/DatePickerContext.d.ts +26 -2
  40. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  41. package/cjs/components/date-picker/DatePickerFooter.d.ts +20 -18
  42. package/cjs/components/date-picker/DatePickerFooter.js +92 -117
  43. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  44. package/cjs/components/date-picker/DatePickerInput.d.ts +56 -64
  45. package/cjs/components/date-picker/DatePickerInput.js +515 -533
  46. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  47. package/cjs/components/date-picker/DatePickerOld.d.ts +334 -0
  48. package/cjs/components/date-picker/DatePickerOld.js +538 -0
  49. package/cjs/components/date-picker/DatePickerOld.js.map +1 -0
  50. package/cjs/components/date-picker/DatePickerProvider.d.ts +40 -17
  51. package/cjs/components/date-picker/DatePickerProvider.js +125 -236
  52. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  53. package/cjs/components/date-picker/DatePickerRange.d.ts +22 -20
  54. package/cjs/components/date-picker/DatePickerRange.js +61 -144
  55. package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
  56. package/cjs/components/date-picker/hooks/useDates.d.ts +45 -0
  57. package/cjs/components/date-picker/hooks/useDates.js +182 -0
  58. package/cjs/components/date-picker/hooks/useDates.js.map +1 -0
  59. package/cjs/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
  60. package/cjs/components/date-picker/hooks/useLastEventCallCache.js +16 -0
  61. package/cjs/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
  62. package/cjs/components/date-picker/hooks/useViews.d.ts +20 -0
  63. package/cjs/components/date-picker/hooks/useViews.js +84 -0
  64. package/cjs/components/date-picker/hooks/useViews.js.map +1 -0
  65. package/cjs/components/date-picker/style/dnb-date-picker.css +12 -1
  66. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  67. package/cjs/components/dropdown/Dropdown.js +3 -3
  68. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  69. package/cjs/components/flex/StackDocs.d.ts +2 -0
  70. package/cjs/components/flex/StackDocs.js +30 -0
  71. package/cjs/components/flex/StackDocs.js.map +1 -0
  72. package/cjs/components/form-row/FormRow.js +3 -3
  73. package/cjs/components/form-row/FormRow.js.map +1 -1
  74. package/cjs/components/form-row/style/dnb-form-row.css +12 -1
  75. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  76. package/cjs/components/form-status/FormStatus.d.ts +4 -1
  77. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  78. package/cjs/components/index.d.ts +2 -1
  79. package/cjs/components/index.js +7 -0
  80. package/cjs/components/index.js.map +1 -1
  81. package/cjs/components/input-masked/TextMask.d.ts +2 -1
  82. package/cjs/components/input-masked/style/dnb-input-masked.css +12 -1
  83. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  84. package/cjs/components/lib.d.ts +3 -1
  85. package/cjs/components/lib.js +8 -0
  86. package/cjs/components/lib.js.map +1 -1
  87. package/cjs/components/list-format/ListFormat.d.ts +40 -0
  88. package/cjs/components/list-format/ListFormat.js +122 -0
  89. package/cjs/components/list-format/ListFormat.js.map +1 -0
  90. package/cjs/components/list-format/ListFormatDocs.d.ts +2 -0
  91. package/cjs/components/list-format/ListFormatDocs.js +35 -0
  92. package/cjs/components/list-format/ListFormatDocs.js.map +1 -0
  93. package/cjs/components/list-format/index.d.ts +7 -0
  94. package/cjs/components/list-format/index.js +24 -0
  95. package/cjs/components/list-format/index.js.map +1 -0
  96. package/cjs/components/number-format/NumberUtils.js +1 -1
  97. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  98. package/cjs/components/radio/style/dnb-radio.css +12 -1
  99. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  100. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  101. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  102. package/cjs/components/textarea/Textarea.js +3 -3
  103. package/cjs/components/textarea/Textarea.js.map +1 -1
  104. package/cjs/components/toggle-button/ToggleButton.js +3 -3
  105. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  106. package/cjs/components/toggle-button/style/dnb-toggle-button.css +12 -1
  107. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  108. package/cjs/components/upload/Upload.js +2 -1
  109. package/cjs/components/upload/Upload.js.map +1 -1
  110. package/cjs/components/upload/UploadContext.d.ts +1 -0
  111. package/cjs/components/upload/UploadContext.js +2 -1
  112. package/cjs/components/upload/UploadContext.js.map +1 -1
  113. package/cjs/components/upload/UploadDocs.js +5 -0
  114. package/cjs/components/upload/UploadDocs.js.map +1 -1
  115. package/cjs/components/upload/UploadDropzone.js.map +1 -1
  116. package/cjs/components/upload/UploadFileList.js +3 -1
  117. package/cjs/components/upload/UploadFileList.js.map +1 -1
  118. package/cjs/components/upload/UploadFileListCell.d.ts +22 -3
  119. package/cjs/components/upload/UploadFileListCell.js +17 -8
  120. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  121. package/cjs/components/upload/UploadInfo.js +7 -4
  122. package/cjs/components/upload/UploadInfo.js.map +1 -1
  123. package/cjs/components/upload/UploadVerify.d.ts +2 -2
  124. package/cjs/components/upload/UploadVerify.js.map +1 -1
  125. package/cjs/components/upload/style/dnb-upload.css +1 -1
  126. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  127. package/cjs/components/upload/style/dnb-upload.scss +1 -1
  128. package/cjs/components/upload/types.d.ts +11 -5
  129. package/cjs/components/upload/types.js.map +1 -1
  130. package/cjs/components/upload/useUpload.d.ts +6 -6
  131. package/cjs/components/upload/useUpload.js.map +1 -1
  132. package/cjs/elements/lists/style/lists-mixins.scss +1 -0
  133. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  134. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  135. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
  136. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  137. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
  138. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  139. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  140. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
  141. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  142. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +1 -1
  143. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  144. package/cjs/extensions/forms/Field/Date/Date.js +4 -12
  145. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  146. package/cjs/extensions/forms/Field/Expiry/Expiry.js +6 -14
  147. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  148. package/cjs/extensions/forms/Field/FieldDocs.d.ts +2 -2
  149. package/cjs/extensions/forms/Field/FieldDocs.js +10 -10
  150. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -1
  152. package/cjs/extensions/forms/Field/Number/Number.js +7 -19
  153. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  154. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -3
  155. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  156. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
  157. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  158. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
  159. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  160. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
  161. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +3 -3
  162. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  163. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
  164. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
  165. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
  166. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
  167. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
  168. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  169. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  170. package/cjs/extensions/forms/Field/Selection/Selection.js +5 -13
  171. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  172. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -1
  173. package/cjs/extensions/forms/Field/Slider/Slider.js +0 -13
  174. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  175. package/cjs/extensions/forms/Field/String/String.d.ts +2 -1
  176. package/cjs/extensions/forms/Field/String/String.js +7 -20
  177. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  178. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  179. package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -18
  180. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  181. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +4 -3
  182. package/cjs/extensions/forms/Field/Upload/Upload.js +2 -12
  183. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  184. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
  185. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +39 -20
  186. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  187. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
  188. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  189. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
  190. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -5
  191. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  192. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
  193. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  194. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
  195. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
  196. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
  197. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
  198. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
  199. package/cjs/extensions/forms/Form/Section/EditContainer/{EditToolbarTools.js → CancelButton.js} +15 -41
  200. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
  201. package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
  202. package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.js +52 -0
  203. package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
  204. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  205. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
  206. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  207. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  208. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  209. package/cjs/extensions/forms/Form/Section/Section.d.ts +4 -2
  210. package/cjs/extensions/forms/Form/Section/Section.js +2 -0
  211. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  212. package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
  213. package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.js +68 -0
  214. package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
  215. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
  216. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +12 -0
  217. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
  218. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
  219. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +11 -0
  220. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
  221. package/cjs/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
  222. package/cjs/extensions/forms/Form/Section/Toolbar/index.js +27 -0
  223. package/cjs/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
  224. package/cjs/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
  225. package/cjs/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +12 -13
  226. package/cjs/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
  227. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  228. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
  229. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  230. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  231. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  232. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +3 -2
  233. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  234. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
  235. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  236. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
  237. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
  238. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  239. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +3 -2
  240. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  241. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
  242. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +2 -2
  243. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  244. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
  245. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  246. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
  247. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +2 -2
  248. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  249. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
  250. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  251. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
  252. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +16 -49
  253. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  254. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +7 -17
  255. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  256. package/cjs/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
  257. package/cjs/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
  258. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
  259. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
  260. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  261. package/cjs/extensions/forms/Value/Upload/Upload.d.ts +11 -0
  262. package/cjs/extensions/forms/Value/Upload/Upload.js +99 -0
  263. package/cjs/extensions/forms/Value/Upload/Upload.js.map +1 -0
  264. package/cjs/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
  265. package/cjs/extensions/forms/Value/Upload/UploadDocs.js +26 -0
  266. package/cjs/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
  267. package/cjs/extensions/forms/Value/Upload/index.d.ts +2 -0
  268. package/cjs/extensions/forms/Value/Upload/index.js +27 -0
  269. package/cjs/extensions/forms/Value/Upload/index.js.map +1 -0
  270. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  271. package/cjs/extensions/forms/Value/index.js +7 -0
  272. package/cjs/extensions/forms/Value/index.js.map +1 -1
  273. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -3
  274. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  275. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
  276. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  277. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
  278. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  279. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  280. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
  281. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  282. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
  283. package/cjs/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +6 -6
  284. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
  285. package/cjs/extensions/forms/hooks/useDataValue.js +6 -1
  286. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  287. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -3
  288. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  289. package/cjs/extensions/forms/hooks/useValueProps.js +1 -6
  290. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  291. package/cjs/extensions/forms/style/dnb-forms.css +45 -38
  292. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  293. package/cjs/extensions/forms/types.d.ts +6 -28
  294. package/cjs/extensions/forms/types.js.map +1 -1
  295. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
  296. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  297. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
  298. package/cjs/index.d.ts +2 -1
  299. package/cjs/index.js +7 -0
  300. package/cjs/index.js.map +1 -1
  301. package/cjs/shared/Context.d.ts +4 -0
  302. package/cjs/shared/Context.js.map +1 -1
  303. package/cjs/shared/Eufemia.d.ts +1 -1
  304. package/cjs/shared/Eufemia.js +2 -2
  305. package/cjs/shared/Eufemia.js.map +1 -1
  306. package/cjs/shared/component-helper.d.ts +1 -1
  307. package/cjs/shared/component-helper.js.map +1 -1
  308. package/cjs/style/core/reset.scss +0 -8
  309. package/cjs/style/core/scopes.scss +1 -1
  310. package/cjs/style/core/utilities.scss +12 -16
  311. package/cjs/style/dnb-ui-basis.css +1 -7
  312. package/cjs/style/dnb-ui-basis.min.css +1 -1
  313. package/cjs/style/dnb-ui-body.css +1 -7
  314. package/cjs/style/dnb-ui-body.min.css +1 -1
  315. package/cjs/style/dnb-ui-components.css +109 -43
  316. package/cjs/style/dnb-ui-components.min.css +3 -3
  317. package/cjs/style/dnb-ui-core.css +1 -8
  318. package/cjs/style/dnb-ui-core.min.css +1 -1
  319. package/cjs/style/dnb-ui-elements.css +1 -0
  320. package/cjs/style/dnb-ui-elements.min.css +1 -1
  321. package/cjs/style/dnb-ui-extensions.css +45 -38
  322. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  323. package/cjs/style/dnb-ui-forms.css +45 -38
  324. package/cjs/style/dnb-ui-forms.min.css +1 -1
  325. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
  326. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  327. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
  328. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  329. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
  330. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  331. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
  332. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  333. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
  334. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  335. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  336. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  337. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
  338. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  339. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  340. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  341. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
  342. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  343. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
  344. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
  345. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  346. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
  347. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -0
  348. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  349. package/cjs/style/themes/theme-ui/ui-theme-components.css +159 -80
  350. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  351. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -0
  352. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  353. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +45 -38
  354. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  355. package/cjs/style/themes/theme-ui/ui-theme-forms.css +45 -38
  356. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  357. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -0
  358. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  359. package/components/ListFormat.d.ts +12 -0
  360. package/components/ListFormat.js +4 -0
  361. package/components/ListFormat.js.map +1 -0
  362. package/components/anchor/Anchor.js +1 -1
  363. package/components/anchor/Anchor.js.map +1 -1
  364. package/components/autocomplete/Autocomplete.js +3 -3
  365. package/components/autocomplete/Autocomplete.js.map +1 -1
  366. package/components/card/Card.js +13 -5
  367. package/components/card/Card.js.map +1 -1
  368. package/components/card/CardContext.d.ts +6 -0
  369. package/components/card/CardContext.js +4 -0
  370. package/components/card/CardContext.js.map +1 -0
  371. package/components/card/CardDocs.js +2 -2
  372. package/components/card/CardDocs.js.map +1 -1
  373. package/components/card/style/dnb-card.css +3 -0
  374. package/components/card/style/dnb-card.min.css +1 -1
  375. package/components/card/style/dnb-card.scss +5 -0
  376. package/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
  377. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  378. package/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
  379. package/components/card/style/themes/dnb-card-theme-ui.css +5 -0
  380. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  381. package/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
  382. package/components/country-flag/CountryFlagDocs.js +5 -0
  383. package/components/country-flag/CountryFlagDocs.js.map +1 -1
  384. package/components/date-picker/DatePicker.d.ts +261 -291
  385. package/components/date-picker/DatePicker.js +343 -481
  386. package/components/date-picker/DatePicker.js.map +1 -1
  387. package/components/date-picker/DatePickerAddon.d.ts +21 -20
  388. package/components/date-picker/DatePickerAddon.js +64 -81
  389. package/components/date-picker/DatePickerAddon.js.map +1 -1
  390. package/components/date-picker/DatePickerCalc.d.ts +19 -21
  391. package/components/date-picker/DatePickerCalc.js +35 -34
  392. package/components/date-picker/DatePickerCalc.js.map +1 -1
  393. package/components/date-picker/DatePickerCalendar.d.ts +73 -39
  394. package/components/date-picker/DatePickerCalendar.js +389 -534
  395. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  396. package/components/date-picker/DatePickerContext.d.ts +26 -2
  397. package/components/date-picker/DatePickerContext.js.map +1 -1
  398. package/components/date-picker/DatePickerFooter.d.ts +20 -18
  399. package/components/date-picker/DatePickerFooter.js +90 -116
  400. package/components/date-picker/DatePickerFooter.js.map +1 -1
  401. package/components/date-picker/DatePickerInput.d.ts +56 -64
  402. package/components/date-picker/DatePickerInput.js +515 -532
  403. package/components/date-picker/DatePickerInput.js.map +1 -1
  404. package/components/date-picker/DatePickerOld.d.ts +334 -0
  405. package/components/date-picker/DatePickerOld.js +528 -0
  406. package/components/date-picker/DatePickerOld.js.map +1 -0
  407. package/components/date-picker/DatePickerProvider.d.ts +40 -17
  408. package/components/date-picker/DatePickerProvider.js +123 -235
  409. package/components/date-picker/DatePickerProvider.js.map +1 -1
  410. package/components/date-picker/DatePickerRange.d.ts +22 -20
  411. package/components/date-picker/DatePickerRange.js +58 -140
  412. package/components/date-picker/DatePickerRange.js.map +1 -1
  413. package/components/date-picker/hooks/useDates.d.ts +45 -0
  414. package/components/date-picker/hooks/useDates.js +173 -0
  415. package/components/date-picker/hooks/useDates.js.map +1 -0
  416. package/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
  417. package/components/date-picker/hooks/useLastEventCallCache.js +11 -0
  418. package/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
  419. package/components/date-picker/hooks/useViews.d.ts +20 -0
  420. package/components/date-picker/hooks/useViews.js +74 -0
  421. package/components/date-picker/hooks/useViews.js.map +1 -0
  422. package/components/date-picker/style/dnb-date-picker.css +12 -1
  423. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  424. package/components/dropdown/Dropdown.js +3 -3
  425. package/components/dropdown/Dropdown.js.map +1 -1
  426. package/components/flex/StackDocs.d.ts +2 -0
  427. package/components/flex/StackDocs.js +23 -0
  428. package/components/flex/StackDocs.js.map +1 -0
  429. package/components/form-row/FormRow.js +3 -3
  430. package/components/form-row/FormRow.js.map +1 -1
  431. package/components/form-row/style/dnb-form-row.css +12 -1
  432. package/components/form-row/style/dnb-form-row.min.css +1 -1
  433. package/components/form-status/FormStatus.d.ts +4 -1
  434. package/components/icon/style/dnb-icon.scss +1 -1
  435. package/components/index.d.ts +2 -1
  436. package/components/index.js +2 -1
  437. package/components/index.js.map +1 -1
  438. package/components/input-masked/TextMask.d.ts +2 -1
  439. package/components/input-masked/style/dnb-input-masked.css +12 -1
  440. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  441. package/components/lib.d.ts +3 -1
  442. package/components/lib.js +3 -1
  443. package/components/lib.js.map +1 -1
  444. package/components/list-format/ListFormat.d.ts +40 -0
  445. package/components/list-format/ListFormat.js +112 -0
  446. package/components/list-format/ListFormat.js.map +1 -0
  447. package/components/list-format/ListFormatDocs.d.ts +2 -0
  448. package/components/list-format/ListFormatDocs.js +28 -0
  449. package/components/list-format/ListFormatDocs.js.map +1 -0
  450. package/components/list-format/index.d.ts +7 -0
  451. package/components/list-format/index.js +4 -0
  452. package/components/list-format/index.js.map +1 -0
  453. package/components/number-format/NumberUtils.js +1 -1
  454. package/components/number-format/NumberUtils.js.map +1 -1
  455. package/components/radio/style/dnb-radio.css +12 -1
  456. package/components/radio/style/dnb-radio.min.css +1 -1
  457. package/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  458. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  459. package/components/textarea/Textarea.js +3 -3
  460. package/components/textarea/Textarea.js.map +1 -1
  461. package/components/toggle-button/ToggleButton.js +3 -3
  462. package/components/toggle-button/ToggleButton.js.map +1 -1
  463. package/components/toggle-button/style/dnb-toggle-button.css +12 -1
  464. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  465. package/components/upload/Upload.js +2 -1
  466. package/components/upload/Upload.js.map +1 -1
  467. package/components/upload/UploadContext.d.ts +1 -0
  468. package/components/upload/UploadContext.js +2 -1
  469. package/components/upload/UploadContext.js.map +1 -1
  470. package/components/upload/UploadDocs.js +5 -0
  471. package/components/upload/UploadDocs.js.map +1 -1
  472. package/components/upload/UploadDropzone.js.map +1 -1
  473. package/components/upload/UploadFileList.js +3 -1
  474. package/components/upload/UploadFileList.js.map +1 -1
  475. package/components/upload/UploadFileListCell.d.ts +22 -3
  476. package/components/upload/UploadFileListCell.js +16 -8
  477. package/components/upload/UploadFileListCell.js.map +1 -1
  478. package/components/upload/UploadInfo.js +7 -4
  479. package/components/upload/UploadInfo.js.map +1 -1
  480. package/components/upload/UploadVerify.d.ts +2 -2
  481. package/components/upload/UploadVerify.js.map +1 -1
  482. package/components/upload/style/dnb-upload.css +1 -1
  483. package/components/upload/style/dnb-upload.min.css +1 -1
  484. package/components/upload/style/dnb-upload.scss +1 -1
  485. package/components/upload/types.d.ts +11 -5
  486. package/components/upload/types.js.map +1 -1
  487. package/components/upload/useUpload.d.ts +6 -6
  488. package/components/upload/useUpload.js.map +1 -1
  489. package/elements/lists/style/lists-mixins.scss +1 -0
  490. package/es/components/ListFormat.d.ts +12 -0
  491. package/es/components/ListFormat.js +4 -0
  492. package/es/components/ListFormat.js.map +1 -0
  493. package/es/components/anchor/Anchor.js +1 -1
  494. package/es/components/anchor/Anchor.js.map +1 -1
  495. package/es/components/autocomplete/Autocomplete.js +3 -3
  496. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  497. package/es/components/card/Card.js +13 -5
  498. package/es/components/card/Card.js.map +1 -1
  499. package/es/components/card/CardContext.d.ts +6 -0
  500. package/es/components/card/CardContext.js +4 -0
  501. package/es/components/card/CardContext.js.map +1 -0
  502. package/es/components/card/CardDocs.js +2 -2
  503. package/es/components/card/CardDocs.js.map +1 -1
  504. package/es/components/card/style/dnb-card.css +3 -0
  505. package/es/components/card/style/dnb-card.min.css +1 -1
  506. package/es/components/card/style/dnb-card.scss +5 -0
  507. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
  508. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  509. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
  510. package/es/components/card/style/themes/dnb-card-theme-ui.css +5 -0
  511. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  512. package/es/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
  513. package/es/components/country-flag/CountryFlagDocs.js +5 -0
  514. package/es/components/country-flag/CountryFlagDocs.js.map +1 -1
  515. package/es/components/date-picker/DatePicker.d.ts +261 -291
  516. package/es/components/date-picker/DatePicker.js +342 -481
  517. package/es/components/date-picker/DatePicker.js.map +1 -1
  518. package/es/components/date-picker/DatePickerAddon.d.ts +21 -20
  519. package/es/components/date-picker/DatePickerAddon.js +65 -82
  520. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  521. package/es/components/date-picker/DatePickerCalc.d.ts +19 -21
  522. package/es/components/date-picker/DatePickerCalc.js +38 -37
  523. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  524. package/es/components/date-picker/DatePickerCalendar.d.ts +73 -39
  525. package/es/components/date-picker/DatePickerCalendar.js +387 -531
  526. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  527. package/es/components/date-picker/DatePickerContext.d.ts +26 -2
  528. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  529. package/es/components/date-picker/DatePickerFooter.d.ts +20 -18
  530. package/es/components/date-picker/DatePickerFooter.js +89 -116
  531. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  532. package/es/components/date-picker/DatePickerInput.d.ts +56 -64
  533. package/es/components/date-picker/DatePickerInput.js +508 -525
  534. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  535. package/es/components/date-picker/DatePickerOld.d.ts +334 -0
  536. package/es/components/date-picker/DatePickerOld.js +528 -0
  537. package/es/components/date-picker/DatePickerOld.js.map +1 -0
  538. package/es/components/date-picker/DatePickerProvider.d.ts +40 -17
  539. package/es/components/date-picker/DatePickerProvider.js +122 -230
  540. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  541. package/es/components/date-picker/DatePickerRange.d.ts +22 -20
  542. package/es/components/date-picker/DatePickerRange.js +57 -138
  543. package/es/components/date-picker/DatePickerRange.js.map +1 -1
  544. package/es/components/date-picker/hooks/useDates.d.ts +45 -0
  545. package/es/components/date-picker/hooks/useDates.js +169 -0
  546. package/es/components/date-picker/hooks/useDates.js.map +1 -0
  547. package/es/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
  548. package/es/components/date-picker/hooks/useLastEventCallCache.js +11 -0
  549. package/es/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
  550. package/es/components/date-picker/hooks/useViews.d.ts +20 -0
  551. package/es/components/date-picker/hooks/useViews.js +72 -0
  552. package/es/components/date-picker/hooks/useViews.js.map +1 -0
  553. package/es/components/date-picker/style/dnb-date-picker.css +12 -1
  554. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  555. package/es/components/dropdown/Dropdown.js +3 -3
  556. package/es/components/dropdown/Dropdown.js.map +1 -1
  557. package/es/components/flex/StackDocs.d.ts +2 -0
  558. package/es/components/flex/StackDocs.js +23 -0
  559. package/es/components/flex/StackDocs.js.map +1 -0
  560. package/es/components/form-row/FormRow.js +3 -3
  561. package/es/components/form-row/FormRow.js.map +1 -1
  562. package/es/components/form-row/style/dnb-form-row.css +12 -1
  563. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  564. package/es/components/form-status/FormStatus.d.ts +4 -1
  565. package/es/components/icon/style/dnb-icon.scss +1 -1
  566. package/es/components/index.d.ts +2 -1
  567. package/es/components/index.js +2 -1
  568. package/es/components/index.js.map +1 -1
  569. package/es/components/input-masked/TextMask.d.ts +2 -1
  570. package/es/components/input-masked/style/dnb-input-masked.css +12 -1
  571. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  572. package/es/components/lib.d.ts +3 -1
  573. package/es/components/lib.js +3 -1
  574. package/es/components/lib.js.map +1 -1
  575. package/es/components/list-format/ListFormat.d.ts +40 -0
  576. package/es/components/list-format/ListFormat.js +111 -0
  577. package/es/components/list-format/ListFormat.js.map +1 -0
  578. package/es/components/list-format/ListFormatDocs.d.ts +2 -0
  579. package/es/components/list-format/ListFormatDocs.js +28 -0
  580. package/es/components/list-format/ListFormatDocs.js.map +1 -0
  581. package/es/components/list-format/index.d.ts +7 -0
  582. package/es/components/list-format/index.js +4 -0
  583. package/es/components/list-format/index.js.map +1 -0
  584. package/es/components/number-format/NumberUtils.js +1 -1
  585. package/es/components/number-format/NumberUtils.js.map +1 -1
  586. package/es/components/radio/style/dnb-radio.css +12 -1
  587. package/es/components/radio/style/dnb-radio.min.css +1 -1
  588. package/es/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  589. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  590. package/es/components/textarea/Textarea.js +3 -3
  591. package/es/components/textarea/Textarea.js.map +1 -1
  592. package/es/components/toggle-button/ToggleButton.js +3 -3
  593. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  594. package/es/components/toggle-button/style/dnb-toggle-button.css +12 -1
  595. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  596. package/es/components/upload/Upload.js +2 -1
  597. package/es/components/upload/Upload.js.map +1 -1
  598. package/es/components/upload/UploadContext.d.ts +1 -0
  599. package/es/components/upload/UploadContext.js +2 -1
  600. package/es/components/upload/UploadContext.js.map +1 -1
  601. package/es/components/upload/UploadDocs.js +5 -0
  602. package/es/components/upload/UploadDocs.js.map +1 -1
  603. package/es/components/upload/UploadDropzone.js.map +1 -1
  604. package/es/components/upload/UploadFileList.js +3 -1
  605. package/es/components/upload/UploadFileList.js.map +1 -1
  606. package/es/components/upload/UploadFileListCell.d.ts +22 -3
  607. package/es/components/upload/UploadFileListCell.js +16 -8
  608. package/es/components/upload/UploadFileListCell.js.map +1 -1
  609. package/es/components/upload/UploadInfo.js +7 -4
  610. package/es/components/upload/UploadInfo.js.map +1 -1
  611. package/es/components/upload/UploadVerify.d.ts +2 -2
  612. package/es/components/upload/UploadVerify.js.map +1 -1
  613. package/es/components/upload/style/dnb-upload.css +1 -1
  614. package/es/components/upload/style/dnb-upload.min.css +1 -1
  615. package/es/components/upload/style/dnb-upload.scss +1 -1
  616. package/es/components/upload/types.d.ts +11 -5
  617. package/es/components/upload/types.js.map +1 -1
  618. package/es/components/upload/useUpload.d.ts +6 -6
  619. package/es/components/upload/useUpload.js.map +1 -1
  620. package/es/elements/lists/style/lists-mixins.scss +1 -0
  621. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  622. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  623. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
  624. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  625. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
  626. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  627. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  628. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
  629. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  630. package/es/extensions/forms/Field/Composition/CompositionDocs.js +2 -2
  631. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  632. package/es/extensions/forms/Field/Date/Date.js +4 -12
  633. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  634. package/es/extensions/forms/Field/Expiry/Expiry.js +6 -14
  635. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  636. package/es/extensions/forms/Field/FieldDocs.d.ts +2 -2
  637. package/es/extensions/forms/Field/FieldDocs.js +8 -8
  638. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  639. package/es/extensions/forms/Field/Number/Number.d.ts +2 -1
  640. package/es/extensions/forms/Field/Number/Number.js +8 -19
  641. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  642. package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -3
  643. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  644. package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
  645. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  646. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
  647. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  648. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
  649. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +1 -1
  650. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  651. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
  652. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
  653. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
  654. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
  655. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
  656. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  657. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  658. package/es/extensions/forms/Field/Selection/Selection.js +5 -13
  659. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  660. package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -1
  661. package/es/extensions/forms/Field/Slider/Slider.js +0 -13
  662. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  663. package/es/extensions/forms/Field/String/String.d.ts +2 -1
  664. package/es/extensions/forms/Field/String/String.js +7 -20
  665. package/es/extensions/forms/Field/String/String.js.map +1 -1
  666. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  667. package/es/extensions/forms/Field/Toggle/Toggle.js +6 -18
  668. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  669. package/es/extensions/forms/Field/Upload/Upload.d.ts +4 -3
  670. package/es/extensions/forms/Field/Upload/Upload.js +2 -12
  671. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  672. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
  673. package/es/extensions/forms/FieldBlock/FieldBlock.js +39 -20
  674. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  675. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
  676. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  677. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
  678. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +17 -2
  679. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  680. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
  681. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  682. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
  683. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
  684. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
  685. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
  686. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
  687. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +51 -0
  688. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
  689. package/es/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
  690. package/es/extensions/forms/Form/Section/EditContainer/DoneButton.js +44 -0
  691. package/es/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
  692. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  693. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
  694. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  695. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  696. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  697. package/es/extensions/forms/Form/Section/Section.d.ts +4 -2
  698. package/es/extensions/forms/Form/Section/Section.js +2 -0
  699. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  700. package/es/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
  701. package/es/extensions/forms/Form/Section/Toolbar/Toolbar.js +59 -0
  702. package/es/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
  703. package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
  704. package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +4 -0
  705. package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
  706. package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
  707. package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +3 -0
  708. package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
  709. package/es/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
  710. package/es/extensions/forms/Form/Section/Toolbar/index.js +3 -0
  711. package/es/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
  712. package/es/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
  713. package/es/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +10 -11
  714. package/es/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
  715. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  716. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
  717. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  718. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  719. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  720. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +4 -3
  721. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  722. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
  723. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  724. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
  725. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
  726. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  727. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +4 -3
  728. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  729. package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
  730. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +1 -1
  731. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  732. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
  733. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  734. package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
  735. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  736. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  737. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
  738. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  739. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
  740. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +14 -45
  741. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  742. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +5 -17
  743. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  744. package/es/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
  745. package/es/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
  746. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
  747. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
  748. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  749. package/es/extensions/forms/Value/Upload/Upload.d.ts +11 -0
  750. package/es/extensions/forms/Value/Upload/Upload.js +88 -0
  751. package/es/extensions/forms/Value/Upload/Upload.js.map +1 -0
  752. package/es/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
  753. package/es/extensions/forms/Value/Upload/UploadDocs.js +17 -0
  754. package/es/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
  755. package/es/extensions/forms/Value/Upload/index.d.ts +2 -0
  756. package/es/extensions/forms/Value/Upload/index.js +3 -0
  757. package/es/extensions/forms/Value/Upload/index.js.map +1 -0
  758. package/es/extensions/forms/Value/index.d.ts +1 -0
  759. package/es/extensions/forms/Value/index.js +1 -0
  760. package/es/extensions/forms/Value/index.js.map +1 -1
  761. package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -3
  762. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  763. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
  764. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  765. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
  766. package/es/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  767. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  768. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
  769. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  770. package/es/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
  771. package/es/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +3 -3
  772. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
  773. package/es/extensions/forms/hooks/useDataValue.js +6 -1
  774. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  775. package/es/extensions/forms/hooks/useFieldProps.js +8 -3
  776. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  777. package/es/extensions/forms/hooks/useValueProps.js +1 -6
  778. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  779. package/es/extensions/forms/style/dnb-forms.css +45 -38
  780. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  781. package/es/extensions/forms/types.d.ts +6 -28
  782. package/es/extensions/forms/types.js.map +1 -1
  783. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
  784. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  785. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
  786. package/es/index.d.ts +2 -1
  787. package/es/index.js +2 -1
  788. package/es/index.js.map +1 -1
  789. package/es/shared/Context.d.ts +4 -0
  790. package/es/shared/Context.js.map +1 -1
  791. package/es/shared/Eufemia.d.ts +1 -1
  792. package/es/shared/Eufemia.js +2 -2
  793. package/es/shared/Eufemia.js.map +1 -1
  794. package/es/shared/component-helper.d.ts +1 -1
  795. package/es/shared/component-helper.js.map +1 -1
  796. package/es/style/core/reset.scss +0 -8
  797. package/es/style/core/scopes.scss +1 -1
  798. package/es/style/core/utilities.scss +12 -16
  799. package/es/style/dnb-ui-basis.css +1 -7
  800. package/es/style/dnb-ui-basis.min.css +1 -1
  801. package/es/style/dnb-ui-body.css +1 -7
  802. package/es/style/dnb-ui-body.min.css +1 -1
  803. package/es/style/dnb-ui-components.css +109 -43
  804. package/es/style/dnb-ui-components.min.css +3 -3
  805. package/es/style/dnb-ui-core.css +1 -8
  806. package/es/style/dnb-ui-core.min.css +1 -1
  807. package/es/style/dnb-ui-elements.css +1 -0
  808. package/es/style/dnb-ui-elements.min.css +1 -1
  809. package/es/style/dnb-ui-extensions.css +45 -38
  810. package/es/style/dnb-ui-extensions.min.css +1 -1
  811. package/es/style/dnb-ui-forms.css +45 -38
  812. package/es/style/dnb-ui-forms.min.css +1 -1
  813. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
  814. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  815. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
  816. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  817. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
  818. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  819. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
  820. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  821. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
  822. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  823. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  824. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  825. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
  826. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  827. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  828. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  829. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
  830. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  831. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
  832. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
  833. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  834. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
  835. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -0
  836. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  837. package/es/style/themes/theme-ui/ui-theme-components.css +159 -80
  838. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  839. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -0
  840. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  841. package/es/style/themes/theme-ui/ui-theme-extensions.css +45 -38
  842. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  843. package/es/style/themes/theme-ui/ui-theme-forms.css +45 -38
  844. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  845. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -0
  846. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  847. package/esm/dnb-ui-basis.min.mjs +1 -1
  848. package/esm/dnb-ui-components.min.mjs +1 -1
  849. package/esm/dnb-ui-elements.min.mjs +1 -1
  850. package/esm/dnb-ui-extensions.min.mjs +3 -3
  851. package/esm/dnb-ui-lib.min.mjs +1 -1
  852. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  853. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  854. package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
  855. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  856. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
  857. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  858. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  859. package/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
  860. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  861. package/extensions/forms/Field/Composition/CompositionDocs.js +2 -2
  862. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  863. package/extensions/forms/Field/Date/Date.js +4 -12
  864. package/extensions/forms/Field/Date/Date.js.map +1 -1
  865. package/extensions/forms/Field/Expiry/Expiry.js +6 -14
  866. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  867. package/extensions/forms/Field/FieldDocs.d.ts +2 -2
  868. package/extensions/forms/Field/FieldDocs.js +8 -8
  869. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  870. package/extensions/forms/Field/Number/Number.d.ts +2 -1
  871. package/extensions/forms/Field/Number/Number.js +7 -19
  872. package/extensions/forms/Field/Number/Number.js.map +1 -1
  873. package/extensions/forms/Field/Number/style/dnb-number.css +0 -3
  874. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  875. package/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
  876. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  877. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
  878. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  879. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
  880. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +1 -1
  881. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  882. package/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
  883. package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
  884. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
  885. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
  886. package/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
  887. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  888. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  889. package/extensions/forms/Field/Selection/Selection.js +5 -13
  890. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  891. package/extensions/forms/Field/Slider/Slider.d.ts +2 -1
  892. package/extensions/forms/Field/Slider/Slider.js +0 -13
  893. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  894. package/extensions/forms/Field/String/String.d.ts +2 -1
  895. package/extensions/forms/Field/String/String.js +7 -20
  896. package/extensions/forms/Field/String/String.js.map +1 -1
  897. package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  898. package/extensions/forms/Field/Toggle/Toggle.js +6 -18
  899. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  900. package/extensions/forms/Field/Upload/Upload.d.ts +4 -3
  901. package/extensions/forms/Field/Upload/Upload.js +2 -12
  902. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  903. package/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
  904. package/extensions/forms/FieldBlock/FieldBlock.js +39 -20
  905. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  906. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
  907. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  908. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
  909. package/extensions/forms/FieldBlock/FieldBlockDocs.js +17 -2
  910. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  911. package/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
  912. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  913. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
  914. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
  915. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
  916. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
  917. package/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
  918. package/extensions/forms/Form/Section/EditContainer/CancelButton.js +51 -0
  919. package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
  920. package/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
  921. package/extensions/forms/Form/Section/EditContainer/DoneButton.js +44 -0
  922. package/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
  923. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  924. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
  925. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  926. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  927. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  928. package/extensions/forms/Form/Section/Section.d.ts +4 -2
  929. package/extensions/forms/Form/Section/Section.js +2 -0
  930. package/extensions/forms/Form/Section/Section.js.map +1 -1
  931. package/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
  932. package/extensions/forms/Form/Section/Toolbar/Toolbar.js +59 -0
  933. package/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
  934. package/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
  935. package/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +4 -0
  936. package/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
  937. package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
  938. package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +3 -0
  939. package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
  940. package/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
  941. package/extensions/forms/Form/Section/Toolbar/index.js +3 -0
  942. package/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
  943. package/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
  944. package/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +10 -11
  945. package/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
  946. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  947. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
  948. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  949. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  950. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  951. package/extensions/forms/Form/Section/containers/SectionContainer.js +4 -3
  952. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  953. package/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
  954. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  955. package/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
  956. package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
  957. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  958. package/extensions/forms/Iterate/Array/ArrayItemArea.js +4 -3
  959. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  960. package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
  961. package/extensions/forms/Iterate/EditContainer/CancelButton.js +1 -1
  962. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  963. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
  964. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  965. package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
  966. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  967. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  968. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
  969. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  970. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
  971. package/extensions/forms/Value/ArraySelection/ArraySelection.js +14 -46
  972. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  973. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +5 -17
  974. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  975. package/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
  976. package/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
  977. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
  978. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
  979. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  980. package/extensions/forms/Value/Upload/Upload.d.ts +11 -0
  981. package/extensions/forms/Value/Upload/Upload.js +88 -0
  982. package/extensions/forms/Value/Upload/Upload.js.map +1 -0
  983. package/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
  984. package/extensions/forms/Value/Upload/UploadDocs.js +17 -0
  985. package/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
  986. package/extensions/forms/Value/Upload/index.d.ts +2 -0
  987. package/extensions/forms/Value/Upload/index.js +3 -0
  988. package/extensions/forms/Value/Upload/index.js.map +1 -0
  989. package/extensions/forms/Value/index.d.ts +1 -0
  990. package/extensions/forms/Value/index.js +1 -0
  991. package/extensions/forms/Value/index.js.map +1 -1
  992. package/extensions/forms/ValueBlock/ValueBlock.js +8 -3
  993. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  994. package/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
  995. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  996. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
  997. package/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  998. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  999. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
  1000. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  1001. package/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
  1002. package/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +3 -3
  1003. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
  1004. package/extensions/forms/hooks/useDataValue.js +6 -1
  1005. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  1006. package/extensions/forms/hooks/useFieldProps.js +8 -3
  1007. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  1008. package/extensions/forms/hooks/useValueProps.js +1 -6
  1009. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  1010. package/extensions/forms/style/dnb-forms.css +45 -38
  1011. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1012. package/extensions/forms/types.d.ts +6 -28
  1013. package/extensions/forms/types.js.map +1 -1
  1014. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
  1015. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  1016. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
  1017. package/index.d.ts +2 -1
  1018. package/index.js +2 -1
  1019. package/index.js.map +1 -1
  1020. package/package.json +1 -1
  1021. package/shared/Context.d.ts +4 -0
  1022. package/shared/Context.js.map +1 -1
  1023. package/shared/Eufemia.d.ts +1 -1
  1024. package/shared/Eufemia.js +2 -2
  1025. package/shared/Eufemia.js.map +1 -1
  1026. package/shared/component-helper.d.ts +1 -1
  1027. package/shared/component-helper.js.map +1 -1
  1028. package/style/core/reset.scss +0 -8
  1029. package/style/core/scopes.scss +1 -1
  1030. package/style/core/utilities.scss +12 -16
  1031. package/style/dnb-ui-basis.css +1 -7
  1032. package/style/dnb-ui-basis.min.css +1 -1
  1033. package/style/dnb-ui-body.css +1 -7
  1034. package/style/dnb-ui-body.min.css +1 -1
  1035. package/style/dnb-ui-components.css +109 -43
  1036. package/style/dnb-ui-components.min.css +3 -3
  1037. package/style/dnb-ui-core.css +1 -8
  1038. package/style/dnb-ui-core.min.css +1 -1
  1039. package/style/dnb-ui-elements.css +1 -0
  1040. package/style/dnb-ui-elements.min.css +1 -1
  1041. package/style/dnb-ui-extensions.css +45 -38
  1042. package/style/dnb-ui-extensions.min.css +1 -1
  1043. package/style/dnb-ui-forms.css +45 -38
  1044. package/style/dnb-ui-forms.min.css +1 -1
  1045. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
  1046. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1047. package/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
  1048. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  1049. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
  1050. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1051. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
  1052. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1053. package/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
  1054. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1055. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  1056. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1057. package/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
  1058. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  1059. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  1060. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1061. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
  1062. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  1063. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
  1064. package/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
  1065. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  1066. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
  1067. package/style/themes/theme-ui/ui-theme-basis.css +1 -0
  1068. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1069. package/style/themes/theme-ui/ui-theme-components.css +159 -80
  1070. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  1071. package/style/themes/theme-ui/ui-theme-elements.css +1 -0
  1072. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1073. package/style/themes/theme-ui/ui-theme-extensions.css +45 -38
  1074. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1075. package/style/themes/theme-ui/ui-theme-forms.css +45 -38
  1076. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1077. package/style/themes/theme-ui/ui-theme-tags.css +1 -0
  1078. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1079. package/umd/dnb-ui-basis.min.js +1 -1
  1080. package/umd/dnb-ui-components.min.js +1 -1
  1081. package/umd/dnb-ui-elements.min.js +1 -1
  1082. package/umd/dnb-ui-extensions.min.js +3 -3
  1083. package/umd/dnb-ui-lib.min.js +1 -1
  1084. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
  1085. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
  1086. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
  1087. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
  1088. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
  1089. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
  1090. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
  1091. package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
  1092. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +0 -35
  1093. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
  1094. package/cjs/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
  1095. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +0 -1
  1096. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
  1097. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
  1098. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
  1099. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
  1100. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -77
  1101. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
  1102. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
  1103. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
  1104. package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
  1105. package/es/extensions/forms/Form/Section/containers/Toolbar.js +0 -27
  1106. package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
  1107. package/es/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
  1108. package/es/extensions/forms/hooks/DataValueDocs.js.map +0 -1
  1109. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
  1110. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
  1111. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
  1112. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
  1113. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -77
  1114. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
  1115. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
  1116. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
  1117. package/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
  1118. package/extensions/forms/Form/Section/containers/Toolbar.js +0 -27
  1119. package/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
  1120. package/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
  1121. package/extensions/forms/hooks/DataValueDocs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","names":["React","PropTypes","classnames","FormLabel","FormStatus","TextCounter","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","combineDescribedBy","warn","dispatchCustomElementEvent","convertJsxToString","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","Textarea","PureComponent","getDerivedStateFromProps","props","state","value","getValue","_value","on_state_update","textarea_state","textareaState","hasValue","String","length","constructor","_this","this","_defineProperty","event","_ref","current","setState","target","getProps","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","arguments","undefined","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","createRef","_id","id","navigator","resizeModifier","test","userAgent","platform","error","console","componentDidMount","inner_ref","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","render","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","keepPlaceholder","align","size","textarea_class","readOnly","textarea_attributes","className","characterCounter","children","textarea_element","_textarea_element","attributes","_objectWithoutProperties","_excluded","showStatus","TextareaElement","textareaAttributes","JSON","parse","textareaParams","_objectSpread","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","mainParams","innerParams","shellParams","placeholderStyle","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","no_animation","ref","_span","top","max","lang","locale","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","variant","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport TextCounter from '../../fragments/text-counter/TextCounter'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.node,\n keepPlaceholder: PropTypes.bool,\n align: PropTypes.oneOf(['left', 'right']),\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n characterCounter: PropTypes.oneOfType([\n PropTypes.shape({\n max: PropTypes.number,\n variant: PropTypes.oneOf(['down', 'up']),\n }),\n PropTypes.number,\n ]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n keepPlaceholder: null,\n align: null,\n size: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n characterCounter: null,\n textarea_class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n\n try {\n if (typeof navigator !== 'undefined') {\n this.resizeModifier =\n /Firefox|Edg/.test(navigator.userAgent) ||\n (/Chrome/.test(navigator.userAgent) &&\n /Win/.test(navigator.platform))\n ? 'large'\n : false\n\n if (!this.resizeModifier) {\n this.resizeModifier =\n /Safari|Chrome/.test(navigator.userAgent) &&\n /Mac/.test(navigator.platform)\n ? 'medium'\n : false\n }\n }\n } catch (error) {\n console.error(error)\n }\n }\n componentDidMount() {\n const props = this.getProps()\n if (props.inner_ref) {\n typeof props.inner_ref === 'function'\n ? props.inner_ref(this._ref.current)\n : (props.inner_ref.current = this._ref.current)\n }\n\n if (isTrue(props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n const props = this.getProps()\n const autoresize = isTrue(props.autoresize)\n\n if (autoresize) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value })\n if (autoresize) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const props = this.getProps()\n const maxRows = parseFloat(props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n getProps() {\n return extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Textarea\n )\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = this.getProps()\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n keepPlaceholder,\n align,\n size,\n textarea_class,\n readOnly,\n textarea_attributes,\n className,\n autoresize,\n characterCounter,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames('dnb-textarea__textarea', textarea_class),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n name: id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n 'aria-placeholder': placeholder\n ? convertJsxToString(placeholder)\n : undefined,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n disabled && 'dnb-textarea--disabled',\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n size && `dnb-textarea__size--${size}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n !autoresize &&\n this.resizeModifier &&\n `dnb-textarea__resize--${this.resizeModifier}`,\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n isTrue(keepPlaceholder) && `dnb-textarea--keep-placeholder`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(props.rows),\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {!hasValue &&\n placeholder &&\n (textareaState !== 'focus' || keepPlaceholder) && (\n <span\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {characterCounter && (\n <TextCounter\n top=\"x-small\"\n text={value}\n max={characterCounter}\n lang={props.lang}\n locale={props.locale}\n {...characterCounter}\n />\n )}\n </span>\n </span>\n )\n }\n}\n\nTextarea._formElement = true\nTextarea._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.js","names":["React","PropTypes","classnames","FormLabel","FormStatus","TextCounter","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","combineDescribedBy","warn","dispatchCustomElementEvent","convertJsxToString","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","Textarea","PureComponent","getDerivedStateFromProps","props","state","value","getValue","_value","on_state_update","textarea_state","textareaState","hasValue","String","length","constructor","_this","this","_defineProperty","event","_ref","current","setState","target","getProps","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","arguments","undefined","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","createRef","_id","id","navigator","resizeModifier","test","userAgent","platform","error","console","componentDidMount","inner_ref","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","render","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","keepPlaceholder","align","size","textarea_class","readOnly","textarea_attributes","className","characterCounter","children","textarea_element","_textarea_element","attributes","_objectWithoutProperties","_excluded","showStatus","TextareaElement","textareaAttributes","JSON","parse","textareaParams","_objectSpread","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","mainParams","innerParams","shellParams","placeholderStyle","createElement","forId","text","labelDirection","srOnly","_AlignmentHelper","_extends","show","text_id","no_animation","ref","_span","top","max","lang","locale","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","variant","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport TextCounter from '../../fragments/text-counter/TextCounter'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.node,\n keepPlaceholder: PropTypes.bool,\n align: PropTypes.oneOf(['left', 'right']),\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n characterCounter: PropTypes.oneOfType([\n PropTypes.shape({\n max: PropTypes.number,\n variant: PropTypes.oneOf(['down', 'up']),\n }),\n PropTypes.number,\n ]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n keepPlaceholder: null,\n align: null,\n size: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n characterCounter: null,\n textarea_class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n\n try {\n if (typeof navigator !== 'undefined') {\n this.resizeModifier =\n /Firefox|Edg/.test(navigator.userAgent) ||\n (/Chrome/.test(navigator.userAgent) &&\n /Win/.test(navigator.platform))\n ? 'large'\n : false\n\n if (!this.resizeModifier) {\n this.resizeModifier =\n /Safari|Chrome/.test(navigator.userAgent) &&\n /Mac/.test(navigator.platform)\n ? 'medium'\n : false\n }\n }\n } catch (error) {\n console.error(error)\n }\n }\n componentDidMount() {\n const props = this.getProps()\n if (props.inner_ref) {\n typeof props.inner_ref === 'function'\n ? props.inner_ref(this._ref.current)\n : (props.inner_ref.current = this._ref.current)\n }\n\n if (isTrue(props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n const props = this.getProps()\n const autoresize = isTrue(props.autoresize)\n\n if (autoresize) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value })\n if (autoresize) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const props = this.getProps()\n const maxRows = parseFloat(props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n getProps() {\n return extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Textarea\n )\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = this.getProps()\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n keepPlaceholder,\n align,\n size,\n textarea_class,\n readOnly,\n textarea_attributes,\n className,\n autoresize,\n characterCounter,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames('dnb-textarea__textarea', textarea_class),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n name: id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n 'aria-placeholder': placeholder\n ? convertJsxToString(placeholder)\n : undefined,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n disabled && 'dnb-textarea--disabled',\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n size && `dnb-textarea__size--${size}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n !autoresize &&\n this.resizeModifier &&\n `dnb-textarea__resize--${this.resizeModifier}`,\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n isTrue(keepPlaceholder) && `dnb-textarea--keep-placeholder`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(props.rows),\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {!hasValue &&\n placeholder &&\n (textareaState !== 'focus' || keepPlaceholder) && (\n <span\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {characterCounter && (\n <TextCounter\n top=\"x-small\"\n text={value}\n max={characterCounter}\n lang={props.lang}\n locale={props.locale}\n {...characterCounter}\n />\n )}\n </span>\n </span>\n )\n }\n}\n\nTextarea._formElement = true\nTextarea._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -246,12 +246,12 @@ export default class ToggleButton extends React.PureComponent {
246
246
  }
247
247
  return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
248
248
  id: id + '-label',
249
- for_id: id,
249
+ forId: id,
250
250
  text: label,
251
251
  disabled: disabled,
252
252
  skeleton: skeleton,
253
- label_direction: label_direction,
254
- sr_only: label_sr_only
253
+ labelDirection: label_direction,
254
+ srOnly: label_sr_only
255
255
  }), React.createElement("span", {
256
256
  className: "dnb-toggle-button__inner"
257
257
  }, React.createElement(FormStatus, _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","keycode","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","_ref","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","focus","e","_ref2","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","keycode","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","_ref","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","focus","e","_ref2","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","forId","labelDirection","srOnly","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -90,10 +90,21 @@
90
90
  flex-grow: 1;
91
91
  }
92
92
  .dnb-toggle-button-group fieldset {
93
- margin: 0;
94
93
  padding: 0;
95
94
  border: none;
96
95
  }
96
+ .dnb-toggle-button-group fieldset:not([class*=space__top]) {
97
+ margin-top: 0;
98
+ }
99
+ .dnb-toggle-button-group fieldset:not([class*=space__right]) {
100
+ margin-right: 0;
101
+ }
102
+ .dnb-toggle-button-group fieldset:not([class*=space__bottom]) {
103
+ margin-bottom: 0;
104
+ }
105
+ .dnb-toggle-button-group fieldset:not([class*=space__left]) {
106
+ margin-left: 0;
107
+ }
97
108
  .dnb-toggle-button-group--column .dnb-toggle-button {
98
109
  display: flex;
99
110
  margin-right: 0;
@@ -1 +1 @@
1
- .dnb-toggle-button{align-items:center;display:inline-flex;font-size:var(--font-size-small);line-height:var(--line-height-basis)}.dnb-toggle-button__inner{display:inline-flex;flex-direction:column}.dnb-toggle-button__shell{left:0;position:relative;-webkit-user-select:none;user-select:none}.dnb-toggle-button--vertical{align-items:flex-start;flex-direction:column}.dnb-toggle-button__component{align-items:center;display:inline-flex;padding-right:.5rem}.dnb-toggle-button__button.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-toggle-button__button .dnb-checkbox{margin-left:-.5rem}.dnb-toggle-button__button .dnb-checkbox__input{pointer-events:none}.dnb-toggle-button__button .dnb-checkbox__button{display:unset}.dnb-toggle-button__button .dnb-checkbox__button,.dnb-toggle-button__button .dnb-checkbox__focus{border-width:.0625rem;height:calc(var(--checkbox-height--medium) - .5rem);width:calc(var(--checkbox-width--medium) - .5rem)}.dnb-toggle-button__button .dnb-checkbox__dot{height:calc(var(--checkbox-height--medium) - 1rem);width:calc(var(--checkbox-width--medium) - 1rem)}.dnb-toggle-button__button .dnb-checkbox__gfx{height:calc(var(--checkbox-height--medium) - .75rem);width:calc(var(--checkbox-width--medium) - .75rem)}.dnb-toggle-button__button .dnb-radio{margin-left:-.5rem}.dnb-toggle-button__button .dnb-radio__input{pointer-events:none}.dnb-toggle-button__button .dnb-radio__button,.dnb-toggle-button__button .dnb-radio__focus{border-width:.0625rem;height:calc(var(--radio-height--medium) - .5rem);width:calc(var(--radio-width--medium) - .5rem)}.dnb-toggle-button__button .dnb-radio__dot{height:calc(var(--radio-height--medium) - 1rem);width:calc(var(--radio-width--medium) - 1rem)}:not(.dnb-toggle-button-group)>.dnb-form-label+.dnb-toggle-button{vertical-align:top}.dnb-toggle-button .dnb-form-status{margin-top:.5rem;order:2}.dnb-toggle-button .dnb-form-label{margin-right:1rem}.dnb-toggle-button-group{--toggle-button-group-column-gap:1rem;--toggle-button-group-row-gap:1rem;display:inline-flex}.dnb-toggle-button-group,.dnb-toggle-button-group__fieldset,.dnb-toggle-button-group__shell{flex-grow:1}.dnb-toggle-button-group fieldset{border:none;margin:0;padding:0}.dnb-toggle-button-group--column .dnb-toggle-button{display:flex;margin-right:0}.dnb-toggle-button-group .dnb-toggle-button:last-of-type{margin-right:0}.dnb-toggle-button-group__shell{display:flex;flex-direction:column;row-gap:var(--toggle-button-group-row-gap)}.dnb-toggle-button-group__shell__children{align-items:flex-start;-moz-column-gap:var(--toggle-button-group-column-gap);column-gap:var(--toggle-button-group-column-gap);display:flex;flex-wrap:wrap;order:1;row-gap:var(--toggle-button-group-row-gap)}.dnb-toggle-button-group__shell__children--row{flex-direction:row}.dnb-toggle-button-group__shell__children--column{flex-direction:column}.dnb-toggle-button-group__shell>.dnb-form-status{order:2;transform:translateY(-.5rem)}.dnb-toggle-button-group .dnb-flex-container--direction-horizontal .dnb-form-label{align-self:flex-start;margin-top:.5rem}.dnb-toggle-button-group .dnb-alignment-helper{line-height:2.5rem}.dnb-toggle-button-group__suffix{font-size:var(--font-size-basis)}@media screen and (min-width:40.00625em){.dnb-form-label+.dnb-toggle-button{transform:translateY(-.5rem)}}
1
+ .dnb-toggle-button{align-items:center;display:inline-flex;font-size:var(--font-size-small);line-height:var(--line-height-basis)}.dnb-toggle-button__inner{display:inline-flex;flex-direction:column}.dnb-toggle-button__shell{left:0;position:relative;-webkit-user-select:none;user-select:none}.dnb-toggle-button--vertical{align-items:flex-start;flex-direction:column}.dnb-toggle-button__component{align-items:center;display:inline-flex;padding-right:.5rem}.dnb-toggle-button__button.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-toggle-button__button .dnb-checkbox{margin-left:-.5rem}.dnb-toggle-button__button .dnb-checkbox__input{pointer-events:none}.dnb-toggle-button__button .dnb-checkbox__button{display:unset}.dnb-toggle-button__button .dnb-checkbox__button,.dnb-toggle-button__button .dnb-checkbox__focus{border-width:.0625rem;height:calc(var(--checkbox-height--medium) - .5rem);width:calc(var(--checkbox-width--medium) - .5rem)}.dnb-toggle-button__button .dnb-checkbox__dot{height:calc(var(--checkbox-height--medium) - 1rem);width:calc(var(--checkbox-width--medium) - 1rem)}.dnb-toggle-button__button .dnb-checkbox__gfx{height:calc(var(--checkbox-height--medium) - .75rem);width:calc(var(--checkbox-width--medium) - .75rem)}.dnb-toggle-button__button .dnb-radio{margin-left:-.5rem}.dnb-toggle-button__button .dnb-radio__input{pointer-events:none}.dnb-toggle-button__button .dnb-radio__button,.dnb-toggle-button__button .dnb-radio__focus{border-width:.0625rem;height:calc(var(--radio-height--medium) - .5rem);width:calc(var(--radio-width--medium) - .5rem)}.dnb-toggle-button__button .dnb-radio__dot{height:calc(var(--radio-height--medium) - 1rem);width:calc(var(--radio-width--medium) - 1rem)}:not(.dnb-toggle-button-group)>.dnb-form-label+.dnb-toggle-button{vertical-align:top}.dnb-toggle-button .dnb-form-status{margin-top:.5rem;order:2}.dnb-toggle-button .dnb-form-label{margin-right:1rem}.dnb-toggle-button-group{--toggle-button-group-column-gap:1rem;--toggle-button-group-row-gap:1rem;display:inline-flex}.dnb-toggle-button-group,.dnb-toggle-button-group__fieldset,.dnb-toggle-button-group__shell{flex-grow:1}.dnb-toggle-button-group fieldset{border:none;padding:0}.dnb-toggle-button-group fieldset:not([class*=space__top]){margin-top:0}.dnb-toggle-button-group fieldset:not([class*=space__right]){margin-right:0}.dnb-toggle-button-group fieldset:not([class*=space__bottom]){margin-bottom:0}.dnb-toggle-button-group fieldset:not([class*=space__left]){margin-left:0}.dnb-toggle-button-group--column .dnb-toggle-button{display:flex;margin-right:0}.dnb-toggle-button-group .dnb-toggle-button:last-of-type{margin-right:0}.dnb-toggle-button-group__shell{display:flex;flex-direction:column;row-gap:var(--toggle-button-group-row-gap)}.dnb-toggle-button-group__shell__children{align-items:flex-start;-moz-column-gap:var(--toggle-button-group-column-gap);column-gap:var(--toggle-button-group-column-gap);display:flex;flex-wrap:wrap;order:1;row-gap:var(--toggle-button-group-row-gap)}.dnb-toggle-button-group__shell__children--row{flex-direction:row}.dnb-toggle-button-group__shell__children--column{flex-direction:column}.dnb-toggle-button-group__shell>.dnb-form-status{order:2;transform:translateY(-.5rem)}.dnb-toggle-button-group .dnb-flex-container--direction-horizontal .dnb-form-label{align-self:flex-start;margin-top:.5rem}.dnb-toggle-button-group .dnb-alignment-helper{line-height:2.5rem}.dnb-toggle-button-group__suffix{font-size:var(--font-size-basis)}@media screen and (min-width:40.00625em){.dnb-form-label+.dnb-toggle-button{transform:translateY(-.5rem)}}
@@ -5,7 +5,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
6
  var _UploadInfo, _UploadFileInput, _UploadFileList;
7
7
  const _excluded = ["buttonTextSingular", "textSingular"],
8
- _excluded2 = ["id", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "title", "text", "fileTypeTableCaption", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel"];
8
+ _excluded2 = ["id", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "download", "title", "text", "fileTypeTableCaption", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel"];
9
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
11
  import React, { useCallback } from 'react';
@@ -46,6 +46,7 @@ const Upload = localProps => {
46
46
  fileMaxSize,
47
47
  onChange,
48
48
  onFileDelete,
49
+ download,
49
50
  title,
50
51
  text,
51
52
  fileTypeTableCaption,
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","_ref","validFiles","slice","createElement","value","_objectSpread","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","_formElement","_supportsSpacingProps"],"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
+ {"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","download","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","_ref","validFiles","slice","createElement","value","_objectSpread","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","_formElement","_supportsSpacingProps"],"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 download, // 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: Array<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(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\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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"}
@@ -3,5 +3,6 @@ import { UploadContextProps } from './types';
3
3
  export declare const defaultProps: {
4
4
  fileMaxSize: number;
5
5
  filesAmountLimit: number;
6
+ download: boolean;
6
7
  };
7
8
  export declare const UploadContext: import("react").Context<UploadContextProps>;
@@ -3,7 +3,8 @@
3
3
  import { createContext } from 'react';
4
4
  export const defaultProps = {
5
5
  fileMaxSize: 5,
6
- filesAmountLimit: 100
6
+ filesAmountLimit: 100,
7
+ download: false
7
8
  };
8
9
  export const UploadContext = createContext(null);
9
10
  //# sourceMappingURL=UploadContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadContext.js","names":["createContext","defaultProps","fileMaxSize","filesAmountLimit","UploadContext"],"sources":["../../../../src/components/upload/UploadContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { UploadContextProps } from './types'\n\nexport const defaultProps = {\n fileMaxSize: 5,\n filesAmountLimit: 100,\n}\n\nexport const UploadContext = createContext<UploadContextProps>(null)\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,WAAW,EAAE,CAAC;EACdC,gBAAgB,EAAE;AACpB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGJ,aAAa,CAAqB,IAAI,CAAC"}
1
+ {"version":3,"file":"UploadContext.js","names":["createContext","defaultProps","fileMaxSize","filesAmountLimit","download","UploadContext"],"sources":["../../../../src/components/upload/UploadContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { UploadContextProps } from './types'\n\nexport const defaultProps = {\n fileMaxSize: 5,\n filesAmountLimit: 100,\n download: false,\n}\n\nexport const UploadContext = createContext<UploadContextProps>(null)\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,WAAW,EAAE,CAAC;EACdC,gBAAgB,EAAE,GAAG;EACrBC,QAAQ,EAAE;AACZ,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGL,aAAa,CAAqB,IAAI,CAAC"}
@@ -24,6 +24,11 @@ export const UploadProperties = {
24
24
  type: 'string',
25
25
  status: 'optional'
26
26
  },
27
+ download: {
28
+ doc: 'Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window. Defaults to `false`.',
29
+ type: 'boolean',
30
+ status: 'optional'
31
+ },
27
32
  skeleton: {
28
33
  doc: 'Skeleton should be applied when loading content.',
29
34
  type: 'boolean',
@@ -1 +1 @@
1
- {"version":3,"file":"UploadDocs.js","names":["UploadProperties","acceptedFileTypes","doc","type","status","filesAmountLimit","fileMaxSize","title","text","skeleton","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. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text. Can be disabled using `false`.',\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":"AAEA,OAAO,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,kFAAkF;IACvFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,iFAAiF;IACtFC,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;AAED,OAAO,MAAMM,0BAAgD,GAAG;EAC9DC,QAAQ,EAAE;IACRT,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;AAED,OAAO,MAAMQ,YAAkC,GAAG;EAChDC,QAAQ,EAAE;IACRX,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDU,YAAY,EAAE;IACZZ,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"UploadDocs.js","names":["UploadProperties","acceptedFileTypes","doc","type","status","filesAmountLimit","fileMaxSize","title","text","download","skeleton","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. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n download: {\n doc: 'Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window. Defaults to `false`.',\n type: 'boolean',\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":"AAEA,OAAO,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,kFAAkF;IACvFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,GAAG,EAAE,2IAA2I;IAChJC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,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;AAED,OAAO,MAAMO,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;AAED,OAAO,MAAMS,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadDropzone.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","HeightAnimation","UploadContext","UploadDropzone","_ref","children","className","rest","_objectWithoutProperties","_excluded","props","context","hover","setHover","hoverTimeout","onInputUpload","id","getFiles","event","fileData","dataTransfer","files","Array","from","forEach","file","push","clearTimers","clearTimeout","current","hoverHandler","state","stopPropagation","preventDefault","dropHandler","dragEnterHandler","dragLeaveHandler","elem","document","body","execute","hasAttribute","add","addEventListener","setAttribute","e","timeoutId","setTimeout","getAttribute","remove","removeEventListener","removeAttribute","createElement","_extends","onDrop","onDragOver","onDragLeave","_svg","xmlns","fill","width","height","rx","ry","strokeWidth","strokeDashoffset","strokeDasharray"],"sources":["../../../../src/components/upload/UploadDropzone.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\n\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { UploadContext } from './UploadContext'\nimport type { UploadAllProps, UploadFile, UploadProps } from './types'\n\nexport type UploadDragEvent = React.DragEvent | DragEvent\n\nexport default function UploadDropzone({\n children,\n className,\n ...rest\n}: Partial<UploadAllProps>) {\n const props = rest as Omit<UploadProps, 'title' | 'onChange'>\n const context = useContext(UploadContext)\n const [hover, setHover] = useState(false)\n const hoverTimeout = useRef<NodeJS.Timer>()\n\n const { onInputUpload, id } = context\n\n const getFiles = useCallback((event: UploadDragEvent) => {\n const fileData = event.dataTransfer\n\n const files: UploadFile[] = []\n\n Array.from(fileData.files).forEach((file) => {\n files.push({ file })\n })\n\n return files\n }, [])\n\n const clearTimers = useCallback(() => {\n clearTimeout(hoverTimeout.current)\n }, [])\n\n const hoverHandler = useCallback(\n (event: UploadDragEvent, state: boolean) => {\n event.stopPropagation()\n event.preventDefault()\n clearTimers()\n setHover(state)\n },\n [clearTimers]\n )\n\n const dropHandler = useCallback(\n (event: UploadDragEvent) => {\n const files = getFiles(event)\n\n onInputUpload(files)\n hoverHandler(event, false)\n },\n [getFiles, onInputUpload, hoverHandler]\n )\n\n const dragEnterHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, true)\n },\n [hoverHandler]\n )\n\n const dragLeaveHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, false)\n },\n [hoverHandler]\n )\n\n useEffect(() => {\n const elem = document.body\n const execute = () => {\n try {\n if (!elem.hasAttribute('data-upload-drop-zone')) {\n const add = elem.addEventListener\n add('drop', dropHandler)\n add('dragover', dragEnterHandler)\n add('dragleave', dragLeaveHandler)\n elem.setAttribute('data-upload-drop-zone', id)\n }\n } catch (e) {\n //\n }\n }\n const timeoutId = setTimeout(execute, 10) // Add the listeners delayed (ms) without prioritization, in case of re-renders\n\n return () => {\n clearTimers()\n clearTimeout(timeoutId)\n try {\n if (elem.getAttribute('data-upload-drop-zone') === id) {\n const remove = elem.removeEventListener\n remove('drop', dropHandler)\n remove('dragover', dragEnterHandler)\n remove('dragleave', dragLeaveHandler)\n elem.removeAttribute('data-upload-drop-zone')\n }\n } catch (e) {\n //\n }\n }\n }, [clearTimers, dragEnterHandler, dragLeaveHandler, dropHandler, id])\n\n return (\n <HeightAnimation\n className={classnames(className, hover && 'dnb-upload--active')}\n onDrop={dropHandler}\n onDragOver={dragEnterHandler}\n onDragLeave={dragLeaveHandler}\n {...props}\n >\n {children}\n\n <svg\n className=\"dnb-upload__outline\"\n aria-hidden\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n >\n <rect\n width=\"100%\"\n height=\"100%\"\n rx=\"0.5rem\"\n ry=\"0.5rem\"\n strokeWidth=\"3\"\n strokeDashoffset=\"4\"\n strokeDasharray=\"8 8\"\n />\n </svg>\n </HeightAnimation>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UploadDropzone.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","HeightAnimation","UploadContext","UploadDropzone","_ref","children","className","rest","_objectWithoutProperties","_excluded","props","context","hover","setHover","hoverTimeout","onInputUpload","id","getFiles","event","fileData","dataTransfer","files","Array","from","forEach","file","push","clearTimers","clearTimeout","current","hoverHandler","state","stopPropagation","preventDefault","dropHandler","dragEnterHandler","dragLeaveHandler","elem","document","body","execute","hasAttribute","add","addEventListener","setAttribute","e","timeoutId","setTimeout","getAttribute","remove","removeEventListener","removeAttribute","createElement","_extends","onDrop","onDragOver","onDragLeave","_svg","xmlns","fill","width","height","rx","ry","strokeWidth","strokeDashoffset","strokeDasharray"],"sources":["../../../../src/components/upload/UploadDropzone.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\n\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { UploadContext } from './UploadContext'\nimport type {\n UploadAllProps,\n UploadFileNative,\n UploadProps,\n} from './types'\n\nexport type UploadDragEvent = React.DragEvent | DragEvent\n\nexport default function UploadDropzone({\n children,\n className,\n ...rest\n}: Partial<UploadAllProps>) {\n const props = rest as Omit<UploadProps, 'title' | 'onChange'>\n const context = useContext(UploadContext)\n const [hover, setHover] = useState(false)\n const hoverTimeout = useRef<NodeJS.Timer>()\n\n const { onInputUpload, id } = context\n\n const getFiles = useCallback((event: UploadDragEvent) => {\n const fileData = event.dataTransfer\n\n const files: Array<UploadFileNative> = []\n\n Array.from(fileData.files).forEach((file) => {\n files.push({ file })\n })\n\n return files\n }, [])\n\n const clearTimers = useCallback(() => {\n clearTimeout(hoverTimeout.current)\n }, [])\n\n const hoverHandler = useCallback(\n (event: UploadDragEvent, state: boolean) => {\n event.stopPropagation()\n event.preventDefault()\n clearTimers()\n setHover(state)\n },\n [clearTimers]\n )\n\n const dropHandler = useCallback(\n (event: UploadDragEvent) => {\n const files = getFiles(event)\n\n onInputUpload(files)\n hoverHandler(event, false)\n },\n [getFiles, onInputUpload, hoverHandler]\n )\n\n const dragEnterHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, true)\n },\n [hoverHandler]\n )\n\n const dragLeaveHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, false)\n },\n [hoverHandler]\n )\n\n useEffect(() => {\n const elem = document.body\n const execute = () => {\n try {\n if (!elem.hasAttribute('data-upload-drop-zone')) {\n const add = elem.addEventListener\n add('drop', dropHandler)\n add('dragover', dragEnterHandler)\n add('dragleave', dragLeaveHandler)\n elem.setAttribute('data-upload-drop-zone', id)\n }\n } catch (e) {\n //\n }\n }\n const timeoutId = setTimeout(execute, 10) // Add the listeners delayed (ms) without prioritization, in case of re-renders\n\n return () => {\n clearTimers()\n clearTimeout(timeoutId)\n try {\n if (elem.getAttribute('data-upload-drop-zone') === id) {\n const remove = elem.removeEventListener\n remove('drop', dropHandler)\n remove('dragover', dragEnterHandler)\n remove('dragleave', dragLeaveHandler)\n elem.removeAttribute('data-upload-drop-zone')\n }\n } catch (e) {\n //\n }\n }\n }, [clearTimers, dragEnterHandler, dragLeaveHandler, dropHandler, id])\n\n return (\n <HeightAnimation\n className={classnames(className, hover && 'dnb-upload--active')}\n onDrop={dropHandler}\n onDragOver={dragEnterHandler}\n onDragLeave={dragLeaveHandler}\n {...props}\n >\n {children}\n\n <svg\n className=\"dnb-upload__outline\"\n aria-hidden\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n >\n <rect\n width=\"100%\"\n height=\"100%\"\n rx=\"0.5rem\"\n ry=\"0.5rem\"\n strokeWidth=\"3\"\n strokeDashoffset=\"4\"\n strokeDasharray=\"8 8\"\n />\n </svg>\n </HeightAnimation>\n )\n}\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,eAAe,MAAM,qCAAqC;AACjE,SAASC,aAAa,QAAQ,iBAAiB;AAS/C,eAAe,SAASC,cAAcA,CAAAC,IAAA,EAIV;EAAA,IAJW;MACrCC,QAAQ;MACRC;IAEuB,CAAC,GAAAF,IAAA;IADrBG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEP,MAAMC,KAAK,GAAGH,IAA+C;EAC7D,MAAMI,OAAO,GAAGf,UAAU,CAACM,aAAa,CAAC;EACzC,MAAM,CAACU,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EACzC,MAAMe,YAAY,GAAGhB,MAAM,CAAe,CAAC;EAE3C,MAAM;IAAEiB,aAAa;IAAEC;EAAG,CAAC,GAAGL,OAAO;EAErC,MAAMM,QAAQ,GAAGtB,WAAW,CAAEuB,KAAsB,IAAK;IACvD,MAAMC,QAAQ,GAAGD,KAAK,CAACE,YAAY;IAEnC,MAAMC,KAA8B,GAAG,EAAE;IAEzCC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAACE,KAAK,CAAC,CAACG,OAAO,CAAEC,IAAI,IAAK;MAC3CJ,KAAK,CAACK,IAAI,CAAC;QAAED;MAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAOJ,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMM,WAAW,GAAGhC,WAAW,CAAC,MAAM;IACpCiC,YAAY,CAACd,YAAY,CAACe,OAAO,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGnC,WAAW,CAC9B,CAACuB,KAAsB,EAAEa,KAAc,KAAK;IAC1Cb,KAAK,CAACc,eAAe,CAAC,CAAC;IACvBd,KAAK,CAACe,cAAc,CAAC,CAAC;IACtBN,WAAW,CAAC,CAAC;IACbd,QAAQ,CAACkB,KAAK,CAAC;EACjB,CAAC,EACD,CAACJ,WAAW,CACd,CAAC;EAED,MAAMO,WAAW,GAAGvC,WAAW,CAC5BuB,KAAsB,IAAK;IAC1B,MAAMG,KAAK,GAAGJ,QAAQ,CAACC,KAAK,CAAC;IAE7BH,aAAa,CAACM,KAAK,CAAC;IACpBS,YAAY,CAACZ,KAAK,EAAE,KAAK,CAAC;EAC5B,CAAC,EACD,CAACD,QAAQ,EAAEF,aAAa,EAAEe,YAAY,CACxC,CAAC;EAED,MAAMK,gBAAgB,GAAGxC,WAAW,CACjCuB,KAAsB,IAAK;IAC1BY,YAAY,CAACZ,KAAK,EAAE,IAAI,CAAC;EAC3B,CAAC,EACD,CAACY,YAAY,CACf,CAAC;EAED,MAAMM,gBAAgB,GAAGzC,WAAW,CACjCuB,KAAsB,IAAK;IAC1BY,YAAY,CAACZ,KAAK,EAAE,KAAK,CAAC;EAC5B,CAAC,EACD,CAACY,YAAY,CACf,CAAC;EAEDjC,SAAS,CAAC,MAAM;IACd,MAAMwC,IAAI,GAAGC,QAAQ,CAACC,IAAI;IAC1B,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI;QACF,IAAI,CAACH,IAAI,CAACI,YAAY,CAAC,uBAAuB,CAAC,EAAE;UAC/C,MAAMC,GAAG,GAAGL,IAAI,CAACM,gBAAgB;UACjCD,GAAG,CAAC,MAAM,EAAER,WAAW,CAAC;UACxBQ,GAAG,CAAC,UAAU,EAAEP,gBAAgB,CAAC;UACjCO,GAAG,CAAC,WAAW,EAAEN,gBAAgB,CAAC;UAClCC,IAAI,CAACO,YAAY,CAAC,uBAAuB,EAAE5B,EAAE,CAAC;QAChD;MACF,CAAC,CAAC,OAAO6B,CAAC,EAAE,CAEZ;IACF,CAAC;IACD,MAAMC,SAAS,GAAGC,UAAU,CAACP,OAAO,EAAE,EAAE,CAAC;IAEzC,OAAO,MAAM;MACXb,WAAW,CAAC,CAAC;MACbC,YAAY,CAACkB,SAAS,CAAC;MACvB,IAAI;QACF,IAAIT,IAAI,CAACW,YAAY,CAAC,uBAAuB,CAAC,KAAKhC,EAAE,EAAE;UACrD,MAAMiC,MAAM,GAAGZ,IAAI,CAACa,mBAAmB;UACvCD,MAAM,CAAC,MAAM,EAAEf,WAAW,CAAC;UAC3Be,MAAM,CAAC,UAAU,EAAEd,gBAAgB,CAAC;UACpCc,MAAM,CAAC,WAAW,EAAEb,gBAAgB,CAAC;UACrCC,IAAI,CAACc,eAAe,CAAC,uBAAuB,CAAC;QAC/C;MACF,CAAC,CAAC,OAAON,CAAC,EAAE,CAEZ;IACF,CAAC;EACH,CAAC,EAAE,CAAClB,WAAW,EAAEQ,gBAAgB,EAAEC,gBAAgB,EAAEF,WAAW,EAAElB,EAAE,CAAC,CAAC;EAEtE,OACEtB,KAAA,CAAA0D,aAAA,CAACnD,eAAe,EAAAoD,QAAA;IACd/C,SAAS,EAAEN,UAAU,CAACM,SAAS,EAAEM,KAAK,IAAI,oBAAoB,CAAE;IAChE0C,MAAM,EAAEpB,WAAY;IACpBqB,UAAU,EAAEpB,gBAAiB;IAC7BqB,WAAW,EAAEpB;EAAiB,GAC1B1B,KAAK,GAERL,QAAQ,EAAAoD,IAAA,KAAAA,IAAA,GAET/D,KAAA,CAAA0D,aAAA;IACE9C,SAAS,EAAC,qBAAqB;IAC/B,mBAAW;IACXoD,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC;EAAM,GAEXjE,KAAA,CAAA0D,aAAA;IACEQ,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,EAAE,EAAC,QAAQ;IACXC,EAAE,EAAC,QAAQ;IACXC,WAAW,EAAC,GAAG;IACfC,gBAAgB,EAAC,GAAG;IACpBC,eAAe,EAAC;EAAK,CACtB,CACE,CAAC,CACS,CAAC;AAEtB"}
@@ -8,6 +8,7 @@ function UploadFileList() {
8
8
  id,
9
9
  fileListAriaLabel,
10
10
  deleteButton,
11
+ download,
11
12
  loadingText,
12
13
  onFileDelete,
13
14
  onChange
@@ -45,7 +46,8 @@ function UploadFileList() {
45
46
  uploadFile: uploadFile,
46
47
  onDelete: onDeleteHandler,
47
48
  deleteButtonText: deleteButton,
48
- loadingText: loadingText
49
+ loadingText: loadingText,
50
+ download: download
49
51
  });
50
52
  }));
51
53
  }