@dnb/eufemia 10.19.0 → 10.21.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 (1308) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/cjs/components/accordion/AccordionContent.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  4. package/cjs/components/accordion/style/dnb-accordion.css +0 -3
  5. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  7. package/cjs/components/breadcrumb/Breadcrumb.js +11 -2
  8. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  9. package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -8
  10. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  11. package/cjs/components/card/Card.d.ts +6 -4
  12. package/cjs/components/card/Card.js +11 -15
  13. package/cjs/components/card/Card.js.map +1 -1
  14. package/cjs/components/card/style/dnb-card.css +29 -0
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +41 -0
  17. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  18. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  19. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  20. package/cjs/components/date-picker/DatePicker.d.ts +10 -1
  21. package/cjs/components/date-picker/DatePicker.js +5 -2
  22. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  23. package/cjs/components/date-picker/DatePickerProvider.js +10 -10
  24. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  25. package/cjs/components/flex/Container.js +1 -1
  26. package/cjs/components/flex/Container.js.map +1 -1
  27. package/cjs/components/flex/Item.js +8 -13
  28. package/cjs/components/flex/Item.js.map +1 -1
  29. package/cjs/components/flex/style/dnb-flex.css +3 -0
  30. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  31. package/cjs/components/flex/style/flex-container.scss +3 -0
  32. package/cjs/components/flex/utils.d.ts +35 -7
  33. package/cjs/components/flex/utils.js +65 -33
  34. package/cjs/components/flex/utils.js.map +1 -1
  35. package/cjs/components/form-label/style/dnb-form-label.css +0 -7
  36. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  37. package/cjs/components/form-label/style/dnb-form-label.scss +0 -6
  38. package/cjs/components/form-status/FormStatus.d.ts +5 -1
  39. package/cjs/components/form-status/FormStatus.js +38 -44
  40. package/cjs/components/form-status/FormStatus.js.map +1 -1
  41. package/cjs/components/form-status/style/dnb-form-status.css +11 -18
  42. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  43. package/cjs/components/form-status/style/dnb-form-status.scss +11 -45
  44. package/cjs/components/global-status/GlobalStatus.js +52 -138
  45. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  46. package/cjs/components/global-status/style/dnb-global-status.css +6 -16
  47. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  48. package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
  49. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  50. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  51. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  52. package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
  53. package/cjs/components/height-animation/HeightAnimation.js +31 -14
  54. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  55. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  56. package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
  57. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  58. package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
  59. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  60. package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
  61. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  62. package/cjs/components/height-animation/useHeightAnimation.js +125 -92
  63. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  64. package/cjs/components/info-card/InfoCard.d.ts +6 -0
  65. package/cjs/components/info-card/InfoCard.js +4 -2
  66. package/cjs/components/info-card/InfoCard.js.map +1 -1
  67. package/cjs/components/info-card/style/dnb-info-card.css +3 -1
  68. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  69. package/cjs/components/info-card/style/dnb-info-card.scss +4 -2
  70. package/cjs/components/input/Input.d.ts +8 -8
  71. package/cjs/components/input/InputDocs.d.ts +2 -0
  72. package/cjs/components/input/InputDocs.js +165 -0
  73. package/cjs/components/input/InputDocs.js.map +1 -0
  74. package/cjs/components/input/InputPassword.d.ts +6 -17
  75. package/cjs/components/input/InputPassword.js +4 -85
  76. package/cjs/components/input/InputPassword.js.map +1 -1
  77. package/cjs/components/input-masked/InputMasked.d.ts +6 -93
  78. package/cjs/components/input-masked/InputMasked.js +3 -1
  79. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  80. package/cjs/components/input-masked/InputMaskedDocs.d.ts +2 -0
  81. package/cjs/components/input-masked/InputMaskedDocs.js +85 -0
  82. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -0
  83. package/cjs/components/input-masked/InputMaskedHooks.js +7 -4
  84. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  85. package/cjs/components/input-masked/MultiInputMask.js +2 -6
  86. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  87. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -0
  88. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  89. package/cjs/components/input-masked/style/dnb-input-masked.scss +5 -0
  90. package/cjs/components/number-format/NumberFormat.d.ts +8 -13
  91. package/cjs/components/number-format/NumberUtils.js +22 -14
  92. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  93. package/cjs/components/slider/Slider.d.ts +1 -0
  94. package/cjs/components/slider/Slider.js +10 -1
  95. package/cjs/components/slider/Slider.js.map +1 -1
  96. package/cjs/components/slider/SliderInstance.js +20 -6
  97. package/cjs/components/slider/SliderInstance.js.map +1 -1
  98. package/cjs/components/slider/SliderMarker.d.ts +7 -0
  99. package/cjs/components/slider/SliderMarker.js +62 -0
  100. package/cjs/components/slider/SliderMarker.js.map +1 -0
  101. package/cjs/components/slider/SliderProvider.js +2 -1
  102. package/cjs/components/slider/SliderProvider.js.map +1 -1
  103. package/cjs/components/slider/style/dnb-slider.css +43 -2
  104. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  105. package/cjs/components/slider/style/dnb-slider.scss +44 -1
  106. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  107. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  108. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  109. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  110. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  111. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  112. package/cjs/components/slider/types.d.ts +6 -0
  113. package/cjs/components/slider/types.js.map +1 -1
  114. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
  115. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  116. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
  117. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  118. package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
  119. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  120. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  121. package/cjs/components/table/TableAccordion.js +3 -2
  122. package/cjs/components/table/TableAccordion.js.map +1 -1
  123. package/cjs/components/table/TableAccordionContent.js +54 -26
  124. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  125. package/cjs/components/table/style/dnb-table.css +184 -114
  126. package/cjs/components/table/style/dnb-table.min.css +1 -1
  127. package/cjs/components/table/style/dnb-table.scss +60 -4
  128. package/cjs/components/table/style/table-accordion.scss +30 -60
  129. package/cjs/components/table/style/table-container.scss +9 -9
  130. package/cjs/components/table/style/table-mixins.scss +19 -2
  131. package/cjs/components/table/style/table-td.scss +82 -60
  132. package/cjs/components/table/style/table-th.scss +5 -30
  133. package/cjs/components/table/style/table-tr.scss +0 -20
  134. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +24 -7
  135. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  136. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +17 -12
  137. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  138. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  139. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  140. package/cjs/components/tabs/Tabs.js +2 -1
  141. package/cjs/components/tabs/Tabs.js.map +1 -1
  142. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
  143. package/cjs/components/tabs/TabsContentWrapper.js +8 -6
  144. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  145. package/cjs/components/textarea/Textarea.d.ts +4 -10
  146. package/cjs/components/textarea/TextareaDocs.d.ts +2 -0
  147. package/cjs/components/textarea/TextareaDocs.js +105 -0
  148. package/cjs/components/textarea/TextareaDocs.js.map +1 -0
  149. package/cjs/components/textarea/style/dnb-textarea.css +1 -0
  150. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  151. package/cjs/components/textarea/style/dnb-textarea.scss +3 -0
  152. package/cjs/components/upload/Upload.js +15 -18
  153. package/cjs/components/upload/Upload.js.map +1 -1
  154. package/cjs/components/upload/UploadFileInput.js +3 -1
  155. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  156. package/cjs/components/upload/UploadFileList.js +1 -1
  157. package/cjs/components/upload/UploadFileList.js.map +1 -1
  158. package/cjs/components/upload/UploadInfo.js +1 -1
  159. package/cjs/components/upload/UploadInfo.js.map +1 -1
  160. package/cjs/components/upload/UploadStatus.js +6 -2
  161. package/cjs/components/upload/UploadStatus.js.map +1 -1
  162. package/cjs/components/upload/useUpload.js +5 -6
  163. package/cjs/components/upload/useUpload.js.map +1 -1
  164. package/cjs/core/jest/jestSetupScreenshots.css +7 -0
  165. package/cjs/elements/lib.d.ts +7 -1
  166. package/cjs/elements/lists/Dl.d.ts +5 -1
  167. package/cjs/elements/lists/Dl.js +5 -4
  168. package/cjs/elements/lists/Dl.js.map +1 -1
  169. package/cjs/elements/lists/style/lists-mixins.scss +24 -1
  170. package/cjs/elements/typography/H1.d.ts +1 -0
  171. package/cjs/elements/typography/H1.js +1 -1
  172. package/cjs/elements/typography/H1.js.map +1 -1
  173. package/cjs/elements/typography/H2.d.ts +1 -0
  174. package/cjs/elements/typography/H2.js +1 -1
  175. package/cjs/elements/typography/H2.js.map +1 -1
  176. package/cjs/elements/typography/H3.d.ts +1 -0
  177. package/cjs/elements/typography/H3.js +1 -1
  178. package/cjs/elements/typography/H3.js.map +1 -1
  179. package/cjs/elements/typography/H4.d.ts +1 -0
  180. package/cjs/elements/typography/H4.js +1 -1
  181. package/cjs/elements/typography/H4.js.map +1 -1
  182. package/cjs/elements/typography/H5.d.ts +1 -0
  183. package/cjs/elements/typography/H5.js +1 -1
  184. package/cjs/elements/typography/H5.js.map +1 -1
  185. package/cjs/elements/typography/H6.d.ts +1 -0
  186. package/cjs/elements/typography/H6.js +1 -1
  187. package/cjs/elements/typography/H6.js.map +1 -1
  188. package/cjs/extensions/forms/DataContext/Context.d.ts +19 -5
  189. package/cjs/extensions/forms/DataContext/Context.js +9 -0
  190. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  191. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  192. package/cjs/extensions/forms/DataContext/Provider/Provider.js +152 -64
  193. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  194. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  195. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  196. package/cjs/extensions/forms/Field/Currency/Currency.js +1 -1
  197. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  198. package/cjs/extensions/forms/Field/Date/Date.js +4 -3
  199. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  200. package/cjs/extensions/forms/Field/Email/Email.js +3 -2
  201. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  202. package/cjs/extensions/forms/Field/Expiry/Expiry.js +5 -3
  203. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  204. package/cjs/extensions/forms/Field/FieldDocs.d.ts +3 -0
  205. package/cjs/extensions/forms/Field/FieldDocs.js +18 -0
  206. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -0
  207. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  208. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  209. package/cjs/extensions/forms/Field/Number/Number.d.ts +3 -4
  210. package/cjs/extensions/forms/Field/Number/Number.js +25 -20
  211. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  212. package/cjs/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  213. package/cjs/extensions/forms/Field/Number/NumberDocs.js +92 -0
  214. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  215. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  216. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  217. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  218. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  219. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  220. package/cjs/extensions/forms/Field/Password/Password.d.ts +45 -0
  221. package/cjs/extensions/forms/Field/Password/Password.js +111 -0
  222. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -0
  223. package/cjs/extensions/forms/Field/Password/index.d.ts +2 -0
  224. package/cjs/extensions/forms/Field/Password/index.js +27 -0
  225. package/cjs/extensions/forms/Field/Password/index.js.map +1 -0
  226. package/cjs/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  227. package/cjs/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  228. package/cjs/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  229. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  230. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  231. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  232. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  233. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +3 -6
  234. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  235. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +2 -6
  236. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  237. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  238. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  239. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -9
  240. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  241. package/cjs/extensions/forms/Field/String/String.d.ts +22 -11
  242. package/cjs/extensions/forms/Field/String/String.js +55 -32
  243. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  244. package/cjs/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  245. package/cjs/extensions/forms/Field/String/StringDocs.js +106 -0
  246. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -0
  247. package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -3
  248. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  249. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  250. package/cjs/extensions/forms/Field/index.js +7 -0
  251. package/cjs/extensions/forms/Field/index.js.map +1 -1
  252. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  253. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +204 -64
  254. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  255. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +40 -6
  256. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  257. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  258. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +60 -0
  259. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  260. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +46 -5
  261. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  262. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +51 -1
  263. package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  264. package/cjs/extensions/forms/Form/Appearance/Appearance.js +38 -0
  265. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  266. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  267. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.js +15 -0
  268. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  269. package/cjs/extensions/forms/Form/Appearance/index.d.ts +2 -0
  270. package/cjs/extensions/forms/Form/Appearance/index.js +27 -0
  271. package/cjs/extensions/forms/Form/Appearance/index.js.map +1 -0
  272. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  273. package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
  274. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  275. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  276. package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
  277. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  278. package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
  279. package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
  280. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
  281. package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
  282. package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
  283. package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
  284. package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
  285. package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
  286. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
  287. package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
  288. package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
  289. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
  290. package/cjs/extensions/forms/Form/index.d.ts +5 -1
  291. package/cjs/extensions/forms/Form/index.js +29 -1
  292. package/cjs/extensions/forms/Form/index.js.map +1 -1
  293. package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  294. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  295. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  296. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
  297. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  298. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  299. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  300. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  301. package/cjs/extensions/forms/Value/Currency/Currency.js +3 -4
  302. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  303. package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
  304. package/cjs/extensions/forms/Value/Number/Number.js +25 -27
  305. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  306. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  307. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  308. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  309. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +35 -0
  310. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  311. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  312. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js +12 -0
  313. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  314. package/cjs/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  315. package/cjs/extensions/forms/Value/SummaryList/index.js +27 -0
  316. package/cjs/extensions/forms/Value/SummaryList/index.js.map +1 -0
  317. package/cjs/extensions/forms/Value/ValueDocs.d.ts +2 -0
  318. package/cjs/extensions/forms/Value/ValueDocs.js +40 -0
  319. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -0
  320. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  321. package/cjs/extensions/forms/Value/index.js +7 -0
  322. package/cjs/extensions/forms/Value/index.js.map +1 -1
  323. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +13 -3
  324. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  325. package/cjs/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  326. package/cjs/extensions/forms/hooks/DataValueDocs.js +118 -0
  327. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  328. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  329. package/cjs/extensions/forms/hooks/index.js +7 -0
  330. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  331. package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -7
  332. package/cjs/extensions/forms/hooks/useDataValue.js +162 -38
  333. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  334. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  335. package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
  336. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  337. package/cjs/extensions/forms/hooks/useId.js +1 -1
  338. package/cjs/extensions/forms/hooks/useId.js.map +1 -1
  339. package/cjs/extensions/forms/hooks/useMountEffect.js +1 -1
  340. package/cjs/extensions/forms/hooks/useMountEffect.js.map +1 -1
  341. package/cjs/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  342. package/cjs/extensions/forms/hooks/useUnmountEffect.js +14 -0
  343. package/cjs/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  344. package/cjs/extensions/forms/index.d.ts +1 -0
  345. package/cjs/extensions/forms/index.js +9 -1
  346. package/cjs/extensions/forms/index.js.map +1 -1
  347. package/cjs/extensions/forms/style/dnb-forms.css +65 -12
  348. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  349. package/cjs/extensions/forms/types.d.ts +25 -10
  350. package/cjs/extensions/forms/types.js.map +1 -1
  351. package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
  352. package/cjs/extensions/forms/utils/ajv.js +29 -13
  353. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  354. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  355. package/cjs/extensions/forms/utils/index.js +0 -12
  356. package/cjs/extensions/forms/utils/index.js.map +1 -1
  357. package/cjs/shared/Context.d.ts +2 -0
  358. package/cjs/shared/Context.js.map +1 -1
  359. package/cjs/shared/Eufemia.d.ts +1 -1
  360. package/cjs/shared/Eufemia.js +2 -2
  361. package/cjs/shared/Eufemia.js.map +1 -1
  362. package/cjs/shared/component-helper.d.ts +1 -0
  363. package/cjs/shared/component-helper.js +10 -3
  364. package/cjs/shared/component-helper.js.map +1 -1
  365. package/cjs/shared/helpers/filterValidProps.d.ts +2 -2
  366. package/cjs/shared/helpers/filterValidProps.js +2 -2
  367. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  368. package/cjs/shared/helpers/useSharedState.d.ts +28 -7
  369. package/cjs/shared/helpers/useSharedState.js +62 -43
  370. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  371. package/cjs/shared/helpers/withCamelCaseProps.d.ts +7 -1
  372. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  373. package/cjs/shared/locales/en-GB.d.ts +6 -3
  374. package/cjs/shared/locales/en-GB.js +8 -5
  375. package/cjs/shared/locales/en-GB.js.map +1 -1
  376. package/cjs/shared/locales/en-US.d.ts +6 -3
  377. package/cjs/shared/locales/index.d.ts +12 -6
  378. package/cjs/shared/locales/nb-NO.d.ts +6 -3
  379. package/cjs/shared/locales/nb-NO.js +8 -5
  380. package/cjs/shared/locales/nb-NO.js.map +1 -1
  381. package/cjs/shared/types.d.ts +5 -0
  382. package/cjs/shared/types.js.map +1 -1
  383. package/cjs/style/core/utilities.scss +1 -1
  384. package/cjs/style/dnb-ui-components.css +364 -180
  385. package/cjs/style/dnb-ui-components.min.css +3 -3
  386. package/cjs/style/dnb-ui-elements.css +25 -5
  387. package/cjs/style/dnb-ui-elements.min.css +1 -1
  388. package/cjs/style/dnb-ui-extensions.css +65 -12
  389. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  390. package/cjs/style/dnb-ui-forms.css +65 -12
  391. package/cjs/style/dnb-ui-forms.min.css +1 -1
  392. package/cjs/style/dnb-ui-forms.scss +1 -0
  393. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  394. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  395. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +447 -223
  396. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  397. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  398. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  399. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +65 -12
  400. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  401. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +65 -12
  402. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  403. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +25 -5
  404. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  405. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +457 -218
  406. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  407. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +25 -5
  408. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  409. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +65 -12
  410. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  411. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +65 -12
  412. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  413. package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -5
  414. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  415. package/cjs/style/themes/theme-ui/ui-theme-components.css +447 -223
  416. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  417. package/cjs/style/themes/theme-ui/ui-theme-elements.css +25 -5
  418. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  419. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +65 -12
  420. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  421. package/cjs/style/themes/theme-ui/ui-theme-forms.css +65 -12
  422. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  423. package/cjs/style/themes/theme-ui/ui-theme-tags.css +25 -5
  424. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  425. package/components/accordion/AccordionContent.d.ts +1 -1
  426. package/components/accordion/AccordionContent.js.map +1 -1
  427. package/components/accordion/style/dnb-accordion.css +0 -3
  428. package/components/accordion/style/dnb-accordion.min.css +1 -1
  429. package/components/accordion/style/dnb-accordion.scss +0 -5
  430. package/components/breadcrumb/Breadcrumb.js +11 -2
  431. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  432. package/components/breadcrumb/BreadcrumbItem.js +11 -8
  433. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  434. package/components/card/Card.d.ts +6 -4
  435. package/components/card/Card.js +11 -15
  436. package/components/card/Card.js.map +1 -1
  437. package/components/card/style/dnb-card.css +29 -0
  438. package/components/card/style/dnb-card.min.css +1 -1
  439. package/components/card/style/dnb-card.scss +41 -0
  440. package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  441. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  442. package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  443. package/components/date-picker/DatePicker.d.ts +10 -1
  444. package/components/date-picker/DatePicker.js +5 -2
  445. package/components/date-picker/DatePicker.js.map +1 -1
  446. package/components/date-picker/DatePickerProvider.js +10 -10
  447. package/components/date-picker/DatePickerProvider.js.map +1 -1
  448. package/components/flex/Container.js +1 -1
  449. package/components/flex/Container.js.map +1 -1
  450. package/components/flex/Item.js +8 -11
  451. package/components/flex/Item.js.map +1 -1
  452. package/components/flex/style/dnb-flex.css +3 -0
  453. package/components/flex/style/dnb-flex.min.css +1 -1
  454. package/components/flex/style/flex-container.scss +3 -0
  455. package/components/flex/utils.d.ts +35 -7
  456. package/components/flex/utils.js +56 -24
  457. package/components/flex/utils.js.map +1 -1
  458. package/components/form-label/style/dnb-form-label.css +0 -7
  459. package/components/form-label/style/dnb-form-label.min.css +1 -1
  460. package/components/form-label/style/dnb-form-label.scss +0 -6
  461. package/components/form-status/FormStatus.d.ts +5 -1
  462. package/components/form-status/FormStatus.js +38 -44
  463. package/components/form-status/FormStatus.js.map +1 -1
  464. package/components/form-status/style/dnb-form-status.css +11 -18
  465. package/components/form-status/style/dnb-form-status.min.css +1 -1
  466. package/components/form-status/style/dnb-form-status.scss +11 -45
  467. package/components/global-status/GlobalStatus.js +53 -139
  468. package/components/global-status/GlobalStatus.js.map +1 -1
  469. package/components/global-status/style/dnb-global-status.css +6 -16
  470. package/components/global-status/style/dnb-global-status.min.css +1 -1
  471. package/components/global-status/style/dnb-global-status.scss +11 -23
  472. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  473. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  474. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  475. package/components/height-animation/HeightAnimation.d.ts +12 -4
  476. package/components/height-animation/HeightAnimation.js +27 -14
  477. package/components/height-animation/HeightAnimation.js.map +1 -1
  478. package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  479. package/components/height-animation/HeightAnimationInstance.js +186 -158
  480. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  481. package/components/height-animation/style/dnb-height-animation.css +16 -2
  482. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  483. package/components/height-animation/style/dnb-height-animation.scss +18 -2
  484. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  485. package/components/height-animation/useHeightAnimation.js +124 -92
  486. package/components/height-animation/useHeightAnimation.js.map +1 -1
  487. package/components/info-card/InfoCard.d.ts +6 -0
  488. package/components/info-card/InfoCard.js +4 -2
  489. package/components/info-card/InfoCard.js.map +1 -1
  490. package/components/info-card/style/dnb-info-card.css +3 -1
  491. package/components/info-card/style/dnb-info-card.min.css +1 -1
  492. package/components/info-card/style/dnb-info-card.scss +4 -2
  493. package/components/input/Input.d.ts +8 -8
  494. package/components/input/InputDocs.d.ts +2 -0
  495. package/components/input/InputDocs.js +158 -0
  496. package/components/input/InputDocs.js.map +1 -0
  497. package/components/input/InputPassword.d.ts +6 -17
  498. package/components/input/InputPassword.js +3 -81
  499. package/components/input/InputPassword.js.map +1 -1
  500. package/components/input-masked/InputMasked.d.ts +6 -93
  501. package/components/input-masked/InputMasked.js +3 -1
  502. package/components/input-masked/InputMasked.js.map +1 -1
  503. package/components/input-masked/InputMaskedDocs.d.ts +2 -0
  504. package/components/input-masked/InputMaskedDocs.js +78 -0
  505. package/components/input-masked/InputMaskedDocs.js.map +1 -0
  506. package/components/input-masked/InputMaskedHooks.js +7 -4
  507. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  508. package/components/input-masked/MultiInputMask.js +2 -6
  509. package/components/input-masked/MultiInputMask.js.map +1 -1
  510. package/components/input-masked/style/dnb-input-masked.css +3 -0
  511. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  512. package/components/input-masked/style/dnb-input-masked.scss +5 -0
  513. package/components/number-format/NumberFormat.d.ts +8 -13
  514. package/components/number-format/NumberUtils.js +22 -14
  515. package/components/number-format/NumberUtils.js.map +1 -1
  516. package/components/slider/Slider.d.ts +1 -0
  517. package/components/slider/Slider.js +1 -0
  518. package/components/slider/Slider.js.map +1 -1
  519. package/components/slider/SliderInstance.js +18 -5
  520. package/components/slider/SliderInstance.js.map +1 -1
  521. package/components/slider/SliderMarker.d.ts +7 -0
  522. package/components/slider/SliderMarker.js +53 -0
  523. package/components/slider/SliderMarker.js.map +1 -0
  524. package/components/slider/SliderProvider.js +2 -1
  525. package/components/slider/SliderProvider.js.map +1 -1
  526. package/components/slider/style/dnb-slider.css +43 -2
  527. package/components/slider/style/dnb-slider.min.css +1 -1
  528. package/components/slider/style/dnb-slider.scss +44 -1
  529. package/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  530. package/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  531. package/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  532. package/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  533. package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  534. package/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  535. package/components/slider/types.d.ts +6 -0
  536. package/components/slider/types.js.map +1 -1
  537. package/components/step-indicator/StepIndicatorItem.js +4 -22
  538. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  539. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  540. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  541. package/components/step-indicator/style/dnb-step-indicator.css +0 -5
  542. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  543. package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  544. package/components/table/TableAccordion.js +3 -2
  545. package/components/table/TableAccordion.js.map +1 -1
  546. package/components/table/TableAccordionContent.js +51 -26
  547. package/components/table/TableAccordionContent.js.map +1 -1
  548. package/components/table/style/dnb-table.css +184 -114
  549. package/components/table/style/dnb-table.min.css +1 -1
  550. package/components/table/style/dnb-table.scss +60 -4
  551. package/components/table/style/table-accordion.scss +30 -60
  552. package/components/table/style/table-container.scss +9 -9
  553. package/components/table/style/table-mixins.scss +19 -2
  554. package/components/table/style/table-td.scss +82 -60
  555. package/components/table/style/table-th.scss +5 -30
  556. package/components/table/style/table-tr.scss +0 -20
  557. package/components/table/style/themes/dnb-table-theme-sbanken.css +24 -7
  558. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  559. package/components/table/style/themes/dnb-table-theme-sbanken.scss +17 -12
  560. package/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  561. package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  562. package/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  563. package/components/tabs/Tabs.js +2 -1
  564. package/components/tabs/Tabs.js.map +1 -1
  565. package/components/tabs/TabsContentWrapper.d.ts +1 -0
  566. package/components/tabs/TabsContentWrapper.js +8 -6
  567. package/components/tabs/TabsContentWrapper.js.map +1 -1
  568. package/components/textarea/Textarea.d.ts +4 -10
  569. package/components/textarea/TextareaDocs.d.ts +2 -0
  570. package/components/textarea/TextareaDocs.js +98 -0
  571. package/components/textarea/TextareaDocs.js.map +1 -0
  572. package/components/textarea/style/dnb-textarea.css +1 -0
  573. package/components/textarea/style/dnb-textarea.min.css +1 -1
  574. package/components/textarea/style/dnb-textarea.scss +3 -0
  575. package/components/upload/Upload.js +13 -18
  576. package/components/upload/Upload.js.map +1 -1
  577. package/components/upload/UploadFileInput.js +3 -1
  578. package/components/upload/UploadFileInput.js.map +1 -1
  579. package/components/upload/UploadFileList.js +1 -1
  580. package/components/upload/UploadFileList.js.map +1 -1
  581. package/components/upload/UploadInfo.js +1 -1
  582. package/components/upload/UploadInfo.js.map +1 -1
  583. package/components/upload/UploadStatus.js +6 -2
  584. package/components/upload/UploadStatus.js.map +1 -1
  585. package/components/upload/useUpload.js +5 -7
  586. package/components/upload/useUpload.js.map +1 -1
  587. package/core/jest/jestSetupScreenshots.css +7 -0
  588. package/elements/lib.d.ts +7 -1
  589. package/elements/lists/Dl.d.ts +5 -1
  590. package/elements/lists/Dl.js +5 -4
  591. package/elements/lists/Dl.js.map +1 -1
  592. package/elements/lists/style/lists-mixins.scss +24 -1
  593. package/elements/typography/H1.d.ts +1 -0
  594. package/elements/typography/H1.js +1 -1
  595. package/elements/typography/H1.js.map +1 -1
  596. package/elements/typography/H2.d.ts +1 -0
  597. package/elements/typography/H2.js +1 -1
  598. package/elements/typography/H2.js.map +1 -1
  599. package/elements/typography/H3.d.ts +1 -0
  600. package/elements/typography/H3.js +1 -1
  601. package/elements/typography/H3.js.map +1 -1
  602. package/elements/typography/H4.d.ts +1 -0
  603. package/elements/typography/H4.js +1 -1
  604. package/elements/typography/H4.js.map +1 -1
  605. package/elements/typography/H5.d.ts +1 -0
  606. package/elements/typography/H5.js +1 -1
  607. package/elements/typography/H5.js.map +1 -1
  608. package/elements/typography/H6.d.ts +1 -0
  609. package/elements/typography/H6.js +1 -1
  610. package/elements/typography/H6.js.map +1 -1
  611. package/es/components/accordion/AccordionContent.d.ts +1 -1
  612. package/es/components/accordion/AccordionContent.js.map +1 -1
  613. package/es/components/accordion/style/dnb-accordion.css +0 -3
  614. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  615. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  616. package/es/components/breadcrumb/Breadcrumb.js +11 -2
  617. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  618. package/es/components/breadcrumb/BreadcrumbItem.js +11 -8
  619. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  620. package/es/components/card/Card.d.ts +6 -4
  621. package/es/components/card/Card.js +11 -15
  622. package/es/components/card/Card.js.map +1 -1
  623. package/es/components/card/style/dnb-card.css +29 -0
  624. package/es/components/card/style/dnb-card.min.css +1 -1
  625. package/es/components/card/style/dnb-card.scss +41 -0
  626. package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  627. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  628. package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  629. package/es/components/date-picker/DatePicker.d.ts +10 -1
  630. package/es/components/date-picker/DatePicker.js +5 -2
  631. package/es/components/date-picker/DatePicker.js.map +1 -1
  632. package/es/components/date-picker/DatePickerProvider.js +10 -10
  633. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  634. package/es/components/flex/Container.js +1 -1
  635. package/es/components/flex/Container.js.map +1 -1
  636. package/es/components/flex/Item.js +8 -11
  637. package/es/components/flex/Item.js.map +1 -1
  638. package/es/components/flex/style/dnb-flex.css +3 -0
  639. package/es/components/flex/style/dnb-flex.min.css +1 -1
  640. package/es/components/flex/style/flex-container.scss +3 -0
  641. package/es/components/flex/utils.d.ts +35 -7
  642. package/es/components/flex/utils.js +55 -24
  643. package/es/components/flex/utils.js.map +1 -1
  644. package/es/components/form-label/style/dnb-form-label.css +0 -7
  645. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  646. package/es/components/form-label/style/dnb-form-label.scss +0 -6
  647. package/es/components/form-status/FormStatus.d.ts +5 -1
  648. package/es/components/form-status/FormStatus.js +38 -44
  649. package/es/components/form-status/FormStatus.js.map +1 -1
  650. package/es/components/form-status/style/dnb-form-status.css +11 -18
  651. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  652. package/es/components/form-status/style/dnb-form-status.scss +11 -45
  653. package/es/components/global-status/GlobalStatus.js +51 -133
  654. package/es/components/global-status/GlobalStatus.js.map +1 -1
  655. package/es/components/global-status/style/dnb-global-status.css +6 -16
  656. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  657. package/es/components/global-status/style/dnb-global-status.scss +11 -23
  658. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  659. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  660. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  661. package/es/components/height-animation/HeightAnimation.d.ts +12 -4
  662. package/es/components/height-animation/HeightAnimation.js +27 -14
  663. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  664. package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  665. package/es/components/height-animation/HeightAnimationInstance.js +188 -155
  666. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  667. package/es/components/height-animation/style/dnb-height-animation.css +16 -2
  668. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  669. package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
  670. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  671. package/es/components/height-animation/useHeightAnimation.js +124 -92
  672. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  673. package/es/components/info-card/InfoCard.d.ts +6 -0
  674. package/es/components/info-card/InfoCard.js +4 -2
  675. package/es/components/info-card/InfoCard.js.map +1 -1
  676. package/es/components/info-card/style/dnb-info-card.css +3 -1
  677. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  678. package/es/components/info-card/style/dnb-info-card.scss +4 -2
  679. package/es/components/input/Input.d.ts +8 -8
  680. package/es/components/input/InputDocs.d.ts +2 -0
  681. package/es/components/input/InputDocs.js +158 -0
  682. package/es/components/input/InputDocs.js.map +1 -0
  683. package/es/components/input/InputPassword.d.ts +6 -17
  684. package/es/components/input/InputPassword.js +3 -81
  685. package/es/components/input/InputPassword.js.map +1 -1
  686. package/es/components/input-masked/InputMasked.d.ts +6 -93
  687. package/es/components/input-masked/InputMasked.js +3 -1
  688. package/es/components/input-masked/InputMasked.js.map +1 -1
  689. package/es/components/input-masked/InputMaskedDocs.d.ts +2 -0
  690. package/es/components/input-masked/InputMaskedDocs.js +78 -0
  691. package/es/components/input-masked/InputMaskedDocs.js.map +1 -0
  692. package/es/components/input-masked/InputMaskedHooks.js +7 -4
  693. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  694. package/es/components/input-masked/MultiInputMask.js +2 -6
  695. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  696. package/es/components/input-masked/style/dnb-input-masked.css +3 -0
  697. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  698. package/es/components/input-masked/style/dnb-input-masked.scss +5 -0
  699. package/es/components/number-format/NumberFormat.d.ts +8 -13
  700. package/es/components/number-format/NumberUtils.js +23 -14
  701. package/es/components/number-format/NumberUtils.js.map +1 -1
  702. package/es/components/slider/Slider.d.ts +1 -0
  703. package/es/components/slider/Slider.js +1 -0
  704. package/es/components/slider/Slider.js.map +1 -1
  705. package/es/components/slider/SliderInstance.js +17 -5
  706. package/es/components/slider/SliderInstance.js.map +1 -1
  707. package/es/components/slider/SliderMarker.d.ts +7 -0
  708. package/es/components/slider/SliderMarker.js +52 -0
  709. package/es/components/slider/SliderMarker.js.map +1 -0
  710. package/es/components/slider/SliderProvider.js +2 -1
  711. package/es/components/slider/SliderProvider.js.map +1 -1
  712. package/es/components/slider/style/dnb-slider.css +43 -2
  713. package/es/components/slider/style/dnb-slider.min.css +1 -1
  714. package/es/components/slider/style/dnb-slider.scss +44 -1
  715. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  716. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  717. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  718. package/es/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  719. package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  720. package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  721. package/es/components/slider/types.d.ts +6 -0
  722. package/es/components/slider/types.js.map +1 -1
  723. package/es/components/step-indicator/StepIndicatorItem.js +4 -22
  724. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  725. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  726. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  727. package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
  728. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  729. package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  730. package/es/components/table/TableAccordion.js +3 -3
  731. package/es/components/table/TableAccordion.js.map +1 -1
  732. package/es/components/table/TableAccordionContent.js +50 -26
  733. package/es/components/table/TableAccordionContent.js.map +1 -1
  734. package/es/components/table/style/dnb-table.css +184 -114
  735. package/es/components/table/style/dnb-table.min.css +1 -1
  736. package/es/components/table/style/dnb-table.scss +60 -4
  737. package/es/components/table/style/table-accordion.scss +30 -60
  738. package/es/components/table/style/table-container.scss +9 -9
  739. package/es/components/table/style/table-mixins.scss +19 -2
  740. package/es/components/table/style/table-td.scss +82 -60
  741. package/es/components/table/style/table-th.scss +5 -30
  742. package/es/components/table/style/table-tr.scss +0 -20
  743. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +24 -7
  744. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  745. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +17 -12
  746. package/es/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  747. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  748. package/es/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  749. package/es/components/tabs/Tabs.js +2 -1
  750. package/es/components/tabs/Tabs.js.map +1 -1
  751. package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
  752. package/es/components/tabs/TabsContentWrapper.js +8 -6
  753. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  754. package/es/components/textarea/Textarea.d.ts +4 -10
  755. package/es/components/textarea/TextareaDocs.d.ts +2 -0
  756. package/es/components/textarea/TextareaDocs.js +98 -0
  757. package/es/components/textarea/TextareaDocs.js.map +1 -0
  758. package/es/components/textarea/style/dnb-textarea.css +1 -0
  759. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  760. package/es/components/textarea/style/dnb-textarea.scss +3 -0
  761. package/es/components/upload/Upload.js +13 -18
  762. package/es/components/upload/Upload.js.map +1 -1
  763. package/es/components/upload/UploadFileInput.js +3 -1
  764. package/es/components/upload/UploadFileInput.js.map +1 -1
  765. package/es/components/upload/UploadFileList.js +1 -1
  766. package/es/components/upload/UploadFileList.js.map +1 -1
  767. package/es/components/upload/UploadInfo.js +1 -1
  768. package/es/components/upload/UploadInfo.js.map +1 -1
  769. package/es/components/upload/UploadStatus.js +6 -2
  770. package/es/components/upload/UploadStatus.js.map +1 -1
  771. package/es/components/upload/useUpload.js +5 -7
  772. package/es/components/upload/useUpload.js.map +1 -1
  773. package/es/core/jest/jestSetupScreenshots.css +7 -0
  774. package/es/elements/lib.d.ts +7 -1
  775. package/es/elements/lists/Dl.d.ts +5 -1
  776. package/es/elements/lists/Dl.js +5 -4
  777. package/es/elements/lists/Dl.js.map +1 -1
  778. package/es/elements/lists/style/lists-mixins.scss +24 -1
  779. package/es/elements/typography/H1.d.ts +1 -0
  780. package/es/elements/typography/H1.js +1 -1
  781. package/es/elements/typography/H1.js.map +1 -1
  782. package/es/elements/typography/H2.d.ts +1 -0
  783. package/es/elements/typography/H2.js +1 -1
  784. package/es/elements/typography/H2.js.map +1 -1
  785. package/es/elements/typography/H3.d.ts +1 -0
  786. package/es/elements/typography/H3.js +1 -1
  787. package/es/elements/typography/H3.js.map +1 -1
  788. package/es/elements/typography/H4.d.ts +1 -0
  789. package/es/elements/typography/H4.js +1 -1
  790. package/es/elements/typography/H4.js.map +1 -1
  791. package/es/elements/typography/H5.d.ts +1 -0
  792. package/es/elements/typography/H5.js +1 -1
  793. package/es/elements/typography/H5.js.map +1 -1
  794. package/es/elements/typography/H6.d.ts +1 -0
  795. package/es/elements/typography/H6.js +1 -1
  796. package/es/elements/typography/H6.js.map +1 -1
  797. package/es/extensions/forms/DataContext/Context.d.ts +19 -5
  798. package/es/extensions/forms/DataContext/Context.js +9 -0
  799. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  800. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  801. package/es/extensions/forms/DataContext/Provider/Provider.js +151 -65
  802. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  803. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  804. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  805. package/es/extensions/forms/Field/Currency/Currency.js +1 -1
  806. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  807. package/es/extensions/forms/Field/Date/Date.js +4 -3
  808. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  809. package/es/extensions/forms/Field/Email/Email.js +4 -3
  810. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  811. package/es/extensions/forms/Field/Expiry/Expiry.js +6 -4
  812. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  813. package/es/extensions/forms/Field/FieldDocs.d.ts +3 -0
  814. package/es/extensions/forms/Field/FieldDocs.js +8 -0
  815. package/es/extensions/forms/Field/FieldDocs.js.map +1 -0
  816. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  817. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  818. package/es/extensions/forms/Field/Number/Number.d.ts +3 -4
  819. package/es/extensions/forms/Field/Number/Number.js +25 -20
  820. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  821. package/es/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  822. package/es/extensions/forms/Field/Number/NumberDocs.js +85 -0
  823. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  824. package/es/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  825. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  826. package/es/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  827. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  828. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  829. package/es/extensions/forms/Field/Password/Password.d.ts +45 -0
  830. package/es/extensions/forms/Field/Password/Password.js +99 -0
  831. package/es/extensions/forms/Field/Password/Password.js.map +1 -0
  832. package/es/extensions/forms/Field/Password/index.d.ts +2 -0
  833. package/es/extensions/forms/Field/Password/index.js +3 -0
  834. package/es/extensions/forms/Field/Password/index.js.map +1 -0
  835. package/es/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  836. package/es/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  837. package/es/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  838. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  839. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  840. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  841. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  842. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +3 -6
  843. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  844. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +2 -6
  845. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  846. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  847. package/es/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  848. package/es/extensions/forms/Field/Selection/Selection.js +2 -11
  849. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  850. package/es/extensions/forms/Field/String/String.d.ts +22 -11
  851. package/es/extensions/forms/Field/String/String.js +55 -32
  852. package/es/extensions/forms/Field/String/String.js.map +1 -1
  853. package/es/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  854. package/es/extensions/forms/Field/String/StringDocs.js +99 -0
  855. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -0
  856. package/es/extensions/forms/Field/Toggle/Toggle.js +6 -3
  857. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  858. package/es/extensions/forms/Field/index.d.ts +1 -0
  859. package/es/extensions/forms/Field/index.js +1 -0
  860. package/es/extensions/forms/Field/index.js.map +1 -1
  861. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  862. package/es/extensions/forms/FieldBlock/FieldBlock.js +195 -60
  863. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  864. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +40 -6
  865. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  866. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  867. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +53 -0
  868. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  869. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +46 -5
  870. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  871. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +51 -1
  872. package/es/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  873. package/es/extensions/forms/Form/Appearance/Appearance.js +30 -0
  874. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  875. package/es/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  876. package/es/extensions/forms/Form/Appearance/AppearanceDocs.js +8 -0
  877. package/es/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  878. package/es/extensions/forms/Form/Appearance/index.d.ts +2 -0
  879. package/es/extensions/forms/Form/Appearance/index.js +3 -0
  880. package/es/extensions/forms/Form/Appearance/index.js.map +1 -0
  881. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  882. package/es/extensions/forms/Form/Handler/Handler.js +7 -1
  883. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  884. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  885. package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
  886. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  887. package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
  888. package/es/extensions/forms/Form/data-context/getData.js +15 -0
  889. package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
  890. package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
  891. package/es/extensions/forms/Form/data-context/setData.js +6 -0
  892. package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
  893. package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
  894. package/es/extensions/forms/Form/data-context/useData.js +58 -0
  895. package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
  896. package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
  897. package/es/extensions/forms/Form/data-context/useError.js +13 -0
  898. package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
  899. package/es/extensions/forms/Form/index.d.ts +5 -1
  900. package/es/extensions/forms/Form/index.js +5 -1
  901. package/es/extensions/forms/Form/index.js.map +1 -1
  902. package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  903. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  904. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  905. package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  906. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  907. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  908. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  909. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  910. package/es/extensions/forms/Value/Currency/Currency.js +3 -4
  911. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  912. package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
  913. package/es/extensions/forms/Value/Number/Number.js +22 -27
  914. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  915. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  916. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  917. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  918. package/es/extensions/forms/Value/SummaryList/SummaryList.js +26 -0
  919. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  920. package/es/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  921. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js +4 -0
  922. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  923. package/es/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  924. package/es/extensions/forms/Value/SummaryList/index.js +3 -0
  925. package/es/extensions/forms/Value/SummaryList/index.js.map +1 -0
  926. package/es/extensions/forms/Value/ValueDocs.d.ts +2 -0
  927. package/es/extensions/forms/Value/ValueDocs.js +33 -0
  928. package/es/extensions/forms/Value/ValueDocs.js.map +1 -0
  929. package/es/extensions/forms/Value/index.d.ts +1 -0
  930. package/es/extensions/forms/Value/index.js +1 -0
  931. package/es/extensions/forms/Value/index.js.map +1 -1
  932. package/es/extensions/forms/ValueBlock/ValueBlock.js +12 -4
  933. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  934. package/es/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  935. package/es/extensions/forms/hooks/DataValueDocs.js +110 -0
  936. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  937. package/es/extensions/forms/hooks/index.d.ts +1 -0
  938. package/es/extensions/forms/hooks/index.js +1 -0
  939. package/es/extensions/forms/hooks/index.js.map +1 -1
  940. package/es/extensions/forms/hooks/useDataValue.d.ts +12 -7
  941. package/es/extensions/forms/hooks/useDataValue.js +158 -36
  942. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  943. package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  944. package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
  945. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  946. package/es/extensions/forms/hooks/useId.js +1 -1
  947. package/es/extensions/forms/hooks/useId.js.map +1 -1
  948. package/es/extensions/forms/hooks/useMountEffect.js +1 -1
  949. package/es/extensions/forms/hooks/useMountEffect.js.map +1 -1
  950. package/es/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  951. package/es/extensions/forms/hooks/useUnmountEffect.js +9 -0
  952. package/es/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  953. package/es/extensions/forms/index.d.ts +1 -0
  954. package/es/extensions/forms/index.js +1 -0
  955. package/es/extensions/forms/index.js.map +1 -1
  956. package/es/extensions/forms/style/dnb-forms.css +65 -12
  957. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  958. package/es/extensions/forms/types.d.ts +25 -10
  959. package/es/extensions/forms/types.js.map +1 -1
  960. package/es/extensions/forms/utils/ajv.d.ts +47 -6
  961. package/es/extensions/forms/utils/ajv.js +23 -15
  962. package/es/extensions/forms/utils/ajv.js.map +1 -1
  963. package/es/extensions/forms/utils/index.d.ts +0 -1
  964. package/es/extensions/forms/utils/index.js +0 -1
  965. package/es/extensions/forms/utils/index.js.map +1 -1
  966. package/es/shared/Context.d.ts +2 -0
  967. package/es/shared/Context.js.map +1 -1
  968. package/es/shared/Eufemia.d.ts +1 -1
  969. package/es/shared/Eufemia.js +2 -2
  970. package/es/shared/Eufemia.js.map +1 -1
  971. package/es/shared/component-helper.d.ts +1 -0
  972. package/es/shared/component-helper.js +6 -3
  973. package/es/shared/component-helper.js.map +1 -1
  974. package/es/shared/helpers/filterValidProps.d.ts +2 -2
  975. package/es/shared/helpers/filterValidProps.js +2 -2
  976. package/es/shared/helpers/filterValidProps.js.map +1 -1
  977. package/es/shared/helpers/useSharedState.d.ts +28 -7
  978. package/es/shared/helpers/useSharedState.js +62 -43
  979. package/es/shared/helpers/useSharedState.js.map +1 -1
  980. package/es/shared/helpers/withCamelCaseProps.d.ts +7 -1
  981. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  982. package/es/shared/locales/en-GB.d.ts +6 -3
  983. package/es/shared/locales/en-GB.js +8 -5
  984. package/es/shared/locales/en-GB.js.map +1 -1
  985. package/es/shared/locales/en-US.d.ts +6 -3
  986. package/es/shared/locales/index.d.ts +12 -6
  987. package/es/shared/locales/nb-NO.d.ts +6 -3
  988. package/es/shared/locales/nb-NO.js +8 -5
  989. package/es/shared/locales/nb-NO.js.map +1 -1
  990. package/es/shared/types.d.ts +5 -0
  991. package/es/shared/types.js.map +1 -1
  992. package/es/style/core/utilities.scss +1 -1
  993. package/es/style/dnb-ui-components.css +364 -180
  994. package/es/style/dnb-ui-components.min.css +3 -3
  995. package/es/style/dnb-ui-elements.css +25 -5
  996. package/es/style/dnb-ui-elements.min.css +1 -1
  997. package/es/style/dnb-ui-extensions.css +65 -12
  998. package/es/style/dnb-ui-extensions.min.css +1 -1
  999. package/es/style/dnb-ui-forms.css +65 -12
  1000. package/es/style/dnb-ui-forms.min.css +1 -1
  1001. package/es/style/dnb-ui-forms.scss +1 -0
  1002. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  1003. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1004. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +447 -223
  1005. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  1006. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  1007. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1008. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +65 -12
  1009. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1010. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +65 -12
  1011. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1012. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +25 -5
  1013. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1014. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +457 -218
  1015. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  1016. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +25 -5
  1017. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1018. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +65 -12
  1019. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1020. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +65 -12
  1021. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  1022. package/es/style/themes/theme-ui/ui-theme-basis.css +25 -5
  1023. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1024. package/es/style/themes/theme-ui/ui-theme-components.css +447 -223
  1025. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  1026. package/es/style/themes/theme-ui/ui-theme-elements.css +25 -5
  1027. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1028. package/es/style/themes/theme-ui/ui-theme-extensions.css +65 -12
  1029. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1030. package/es/style/themes/theme-ui/ui-theme-forms.css +65 -12
  1031. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1032. package/es/style/themes/theme-ui/ui-theme-tags.css +25 -5
  1033. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1034. package/esm/dnb-ui-basis.min.mjs +1 -1
  1035. package/esm/dnb-ui-components.min.mjs +1 -1
  1036. package/esm/dnb-ui-elements.min.mjs +1 -1
  1037. package/esm/dnb-ui-extensions.min.mjs +3 -3
  1038. package/esm/dnb-ui-lib.min.mjs +1 -1
  1039. package/extensions/forms/DataContext/Context.d.ts +19 -5
  1040. package/extensions/forms/DataContext/Context.js +9 -0
  1041. package/extensions/forms/DataContext/Context.js.map +1 -1
  1042. package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  1043. package/extensions/forms/DataContext/Provider/Provider.js +153 -65
  1044. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  1045. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  1046. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  1047. package/extensions/forms/Field/Currency/Currency.js +1 -1
  1048. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  1049. package/extensions/forms/Field/Date/Date.js +4 -3
  1050. package/extensions/forms/Field/Date/Date.js.map +1 -1
  1051. package/extensions/forms/Field/Email/Email.js +4 -3
  1052. package/extensions/forms/Field/Email/Email.js.map +1 -1
  1053. package/extensions/forms/Field/Expiry/Expiry.js +6 -4
  1054. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  1055. package/extensions/forms/Field/FieldDocs.d.ts +3 -0
  1056. package/extensions/forms/Field/FieldDocs.js +8 -0
  1057. package/extensions/forms/Field/FieldDocs.js.map +1 -0
  1058. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  1059. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  1060. package/extensions/forms/Field/Number/Number.d.ts +3 -4
  1061. package/extensions/forms/Field/Number/Number.js +25 -20
  1062. package/extensions/forms/Field/Number/Number.js.map +1 -1
  1063. package/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  1064. package/extensions/forms/Field/Number/NumberDocs.js +85 -0
  1065. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  1066. package/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  1067. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  1068. package/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  1069. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  1070. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  1071. package/extensions/forms/Field/Password/Password.d.ts +45 -0
  1072. package/extensions/forms/Field/Password/Password.js +99 -0
  1073. package/extensions/forms/Field/Password/Password.js.map +1 -0
  1074. package/extensions/forms/Field/Password/index.d.ts +2 -0
  1075. package/extensions/forms/Field/Password/index.js +3 -0
  1076. package/extensions/forms/Field/Password/index.js.map +1 -0
  1077. package/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  1078. package/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  1079. package/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  1080. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  1081. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  1082. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  1083. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  1084. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +3 -6
  1085. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  1086. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +2 -6
  1087. package/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  1088. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  1089. package/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  1090. package/extensions/forms/Field/Selection/Selection.js +2 -11
  1091. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  1092. package/extensions/forms/Field/String/String.d.ts +22 -11
  1093. package/extensions/forms/Field/String/String.js +55 -32
  1094. package/extensions/forms/Field/String/String.js.map +1 -1
  1095. package/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  1096. package/extensions/forms/Field/String/StringDocs.js +99 -0
  1097. package/extensions/forms/Field/String/StringDocs.js.map +1 -0
  1098. package/extensions/forms/Field/Toggle/Toggle.js +6 -3
  1099. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  1100. package/extensions/forms/Field/index.d.ts +1 -0
  1101. package/extensions/forms/Field/index.js +1 -0
  1102. package/extensions/forms/Field/index.js.map +1 -1
  1103. package/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  1104. package/extensions/forms/FieldBlock/FieldBlock.js +203 -66
  1105. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1106. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +40 -6
  1107. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  1108. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  1109. package/extensions/forms/FieldBlock/FieldBlockDocs.js +53 -0
  1110. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  1111. package/extensions/forms/FieldBlock/style/dnb-field-block.css +46 -5
  1112. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1113. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +51 -1
  1114. package/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  1115. package/extensions/forms/Form/Appearance/Appearance.js +30 -0
  1116. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  1117. package/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  1118. package/extensions/forms/Form/Appearance/AppearanceDocs.js +8 -0
  1119. package/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  1120. package/extensions/forms/Form/Appearance/index.d.ts +2 -0
  1121. package/extensions/forms/Form/Appearance/index.js +3 -0
  1122. package/extensions/forms/Form/Appearance/index.js.map +1 -0
  1123. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  1124. package/extensions/forms/Form/Handler/Handler.js +7 -1
  1125. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  1126. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  1127. package/extensions/forms/Form/Visibility/Visibility.js +53 -39
  1128. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  1129. package/extensions/forms/Form/data-context/getData.d.ts +8 -0
  1130. package/extensions/forms/Form/data-context/getData.js +15 -0
  1131. package/extensions/forms/Form/data-context/getData.js.map +1 -0
  1132. package/extensions/forms/Form/data-context/setData.d.ts +2 -0
  1133. package/extensions/forms/Form/data-context/setData.js +6 -0
  1134. package/extensions/forms/Form/data-context/setData.js.map +1 -0
  1135. package/extensions/forms/Form/data-context/useData.d.ts +22 -0
  1136. package/extensions/forms/Form/data-context/useData.js +59 -0
  1137. package/extensions/forms/Form/data-context/useData.js.map +1 -0
  1138. package/extensions/forms/Form/data-context/useError.d.ts +5 -0
  1139. package/extensions/forms/Form/data-context/useError.js +13 -0
  1140. package/extensions/forms/Form/data-context/useError.js.map +1 -0
  1141. package/extensions/forms/Form/index.d.ts +5 -1
  1142. package/extensions/forms/Form/index.js +5 -1
  1143. package/extensions/forms/Form/index.js.map +1 -1
  1144. package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  1145. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  1146. package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  1147. package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  1148. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1149. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  1150. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1151. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  1152. package/extensions/forms/Value/Currency/Currency.js +3 -4
  1153. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  1154. package/extensions/forms/Value/Number/Number.d.ts +6 -10
  1155. package/extensions/forms/Value/Number/Number.js +22 -27
  1156. package/extensions/forms/Value/Number/Number.js.map +1 -1
  1157. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  1158. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  1159. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  1160. package/extensions/forms/Value/SummaryList/SummaryList.js +26 -0
  1161. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  1162. package/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  1163. package/extensions/forms/Value/SummaryList/SummaryListContext.js +4 -0
  1164. package/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  1165. package/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  1166. package/extensions/forms/Value/SummaryList/index.js +3 -0
  1167. package/extensions/forms/Value/SummaryList/index.js.map +1 -0
  1168. package/extensions/forms/Value/ValueDocs.d.ts +2 -0
  1169. package/extensions/forms/Value/ValueDocs.js +33 -0
  1170. package/extensions/forms/Value/ValueDocs.js.map +1 -0
  1171. package/extensions/forms/Value/index.d.ts +1 -0
  1172. package/extensions/forms/Value/index.js +1 -0
  1173. package/extensions/forms/Value/index.js.map +1 -1
  1174. package/extensions/forms/ValueBlock/ValueBlock.js +12 -4
  1175. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  1176. package/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  1177. package/extensions/forms/hooks/DataValueDocs.js +110 -0
  1178. package/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  1179. package/extensions/forms/hooks/index.d.ts +1 -0
  1180. package/extensions/forms/hooks/index.js +1 -0
  1181. package/extensions/forms/hooks/index.js.map +1 -1
  1182. package/extensions/forms/hooks/useDataValue.d.ts +12 -7
  1183. package/extensions/forms/hooks/useDataValue.js +160 -36
  1184. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  1185. package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  1186. package/extensions/forms/hooks/useErrorMessage.js +15 -0
  1187. package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  1188. package/extensions/forms/hooks/useId.js +1 -1
  1189. package/extensions/forms/hooks/useId.js.map +1 -1
  1190. package/extensions/forms/hooks/useMountEffect.js +1 -1
  1191. package/extensions/forms/hooks/useMountEffect.js.map +1 -1
  1192. package/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  1193. package/extensions/forms/hooks/useUnmountEffect.js +9 -0
  1194. package/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  1195. package/extensions/forms/index.d.ts +1 -0
  1196. package/extensions/forms/index.js +1 -0
  1197. package/extensions/forms/index.js.map +1 -1
  1198. package/extensions/forms/style/dnb-forms.css +65 -12
  1199. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1200. package/extensions/forms/types.d.ts +25 -10
  1201. package/extensions/forms/types.js.map +1 -1
  1202. package/extensions/forms/utils/ajv.d.ts +47 -6
  1203. package/extensions/forms/utils/ajv.js +23 -15
  1204. package/extensions/forms/utils/ajv.js.map +1 -1
  1205. package/extensions/forms/utils/index.d.ts +0 -1
  1206. package/extensions/forms/utils/index.js +0 -1
  1207. package/extensions/forms/utils/index.js.map +1 -1
  1208. package/package.json +1 -1
  1209. package/shared/Context.d.ts +2 -0
  1210. package/shared/Context.js.map +1 -1
  1211. package/shared/Eufemia.d.ts +1 -1
  1212. package/shared/Eufemia.js +2 -2
  1213. package/shared/Eufemia.js.map +1 -1
  1214. package/shared/component-helper.d.ts +1 -0
  1215. package/shared/component-helper.js +9 -3
  1216. package/shared/component-helper.js.map +1 -1
  1217. package/shared/helpers/filterValidProps.d.ts +2 -2
  1218. package/shared/helpers/filterValidProps.js +2 -2
  1219. package/shared/helpers/filterValidProps.js.map +1 -1
  1220. package/shared/helpers/useSharedState.d.ts +28 -7
  1221. package/shared/helpers/useSharedState.js +62 -43
  1222. package/shared/helpers/useSharedState.js.map +1 -1
  1223. package/shared/helpers/withCamelCaseProps.d.ts +7 -1
  1224. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1225. package/shared/locales/en-GB.d.ts +6 -3
  1226. package/shared/locales/en-GB.js +8 -5
  1227. package/shared/locales/en-GB.js.map +1 -1
  1228. package/shared/locales/en-US.d.ts +6 -3
  1229. package/shared/locales/index.d.ts +12 -6
  1230. package/shared/locales/nb-NO.d.ts +6 -3
  1231. package/shared/locales/nb-NO.js +8 -5
  1232. package/shared/locales/nb-NO.js.map +1 -1
  1233. package/shared/types.d.ts +5 -0
  1234. package/shared/types.js.map +1 -1
  1235. package/style/core/utilities.scss +1 -1
  1236. package/style/dnb-ui-components.css +364 -180
  1237. package/style/dnb-ui-components.min.css +3 -3
  1238. package/style/dnb-ui-elements.css +25 -5
  1239. package/style/dnb-ui-elements.min.css +1 -1
  1240. package/style/dnb-ui-extensions.css +65 -12
  1241. package/style/dnb-ui-extensions.min.css +1 -1
  1242. package/style/dnb-ui-forms.css +65 -12
  1243. package/style/dnb-ui-forms.min.css +1 -1
  1244. package/style/dnb-ui-forms.scss +1 -0
  1245. package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  1246. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1247. package/style/themes/theme-eiendom/eiendom-theme-components.css +447 -223
  1248. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  1249. package/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  1250. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1251. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +65 -12
  1252. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1253. package/style/themes/theme-eiendom/eiendom-theme-forms.css +65 -12
  1254. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1255. package/style/themes/theme-sbanken/sbanken-theme-basis.css +25 -5
  1256. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1257. package/style/themes/theme-sbanken/sbanken-theme-components.css +457 -218
  1258. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  1259. package/style/themes/theme-sbanken/sbanken-theme-elements.css +25 -5
  1260. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1261. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +65 -12
  1262. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1263. package/style/themes/theme-sbanken/sbanken-theme-forms.css +65 -12
  1264. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  1265. package/style/themes/theme-ui/ui-theme-basis.css +25 -5
  1266. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1267. package/style/themes/theme-ui/ui-theme-components.css +447 -223
  1268. package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  1269. package/style/themes/theme-ui/ui-theme-elements.css +25 -5
  1270. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1271. package/style/themes/theme-ui/ui-theme-extensions.css +65 -12
  1272. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1273. package/style/themes/theme-ui/ui-theme-forms.css +65 -12
  1274. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1275. package/style/themes/theme-ui/ui-theme-tags.css +25 -5
  1276. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1277. package/umd/dnb-ui-basis.min.js +1 -1
  1278. package/umd/dnb-ui-components.min.js +1 -1
  1279. package/umd/dnb-ui-elements.min.js +1 -1
  1280. package/umd/dnb-ui-extensions.min.js +3 -3
  1281. package/umd/dnb-ui-lib.min.js +1 -1
  1282. package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
  1283. package/cjs/components/global-status/AnimationHelper.js +0 -109
  1284. package/cjs/components/global-status/AnimationHelper.js.map +0 -1
  1285. package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
  1286. package/cjs/extensions/forms/Form/hooks/useData.js +0 -39
  1287. package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
  1288. package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
  1289. package/cjs/extensions/forms/utils/numbers.js +0 -42
  1290. package/cjs/extensions/forms/utils/numbers.js.map +0 -1
  1291. package/components/global-status/AnimationHelper.d.ts +0 -12
  1292. package/components/global-status/AnimationHelper.js +0 -100
  1293. package/components/global-status/AnimationHelper.js.map +0 -1
  1294. package/es/components/global-status/AnimationHelper.d.ts +0 -12
  1295. package/es/components/global-status/AnimationHelper.js +0 -100
  1296. package/es/components/global-status/AnimationHelper.js.map +0 -1
  1297. package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
  1298. package/es/extensions/forms/Form/hooks/useData.js +0 -32
  1299. package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
  1300. package/es/extensions/forms/utils/numbers.d.ts +0 -17
  1301. package/es/extensions/forms/utils/numbers.js +0 -35
  1302. package/es/extensions/forms/utils/numbers.js.map +0 -1
  1303. package/extensions/forms/Form/hooks/useData.d.ts +0 -10
  1304. package/extensions/forms/Form/hooks/useData.js +0 -33
  1305. package/extensions/forms/Form/hooks/useData.js.map +0 -1
  1306. package/extensions/forms/utils/numbers.d.ts +0 -17
  1307. package/extensions/forms/utils/numbers.js +0 -35
  1308. package/extensions/forms/utils/numbers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_this","this","_defineProperty","cb","arguments","length","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_this","this","_defineProperty","cb","arguments","length","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
@@ -111,7 +111,7 @@ function FlexContainer(props) {
111
111
  const n = 'dnb-flex-container';
112
112
  const getRowGapClass = useCallback(() => {
113
113
  if (rowGap === false) {
114
- return;
114
+ return `${n}--row-gap-off`;
115
115
  }
116
116
  if (rowGap === true || !rowGap && wrap && direction === 'horizontal') {
117
117
  return `${n}--row-gap-small`;
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","arguments","length","undefined","skip","_objectSpread","Object","fromEntries","entries","filter","_ref","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref2","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","arguments","length","undefined","skip","_objectSpread","Object","fromEntries","entries","filter","_ref","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref2","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
3
  const _excluded = ["element", "className", "grow", "shrink", "alignSelf", "size", "style", "children"];
5
- 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; }
6
- 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; }
7
4
  import React from 'react';
8
5
  import classnames from 'classnames';
9
6
  import Space from '../space/Space';
10
- import { omitSpacingProps, pickSpacingProps } from './utils';
11
7
  function FlexItem(props) {
12
8
  const {
13
9
  element = 'div',
@@ -20,7 +16,7 @@ function FlexItem(props) {
20
16
  children
21
17
  } = props,
22
18
  rest = _objectWithoutProperties(props, _excluded);
23
- const cn = classnames('dnb-flex-item', className, grow && 'dnb-flex-item--grow', shrink && 'dnb-flex-item--shrink', alignSelf && `dnb-flex-item--align-self-${alignSelf}`, size && 'dnb-flex-item--responsive');
19
+ const cn = classnames('dnb-flex-item', grow && 'dnb-flex-item--grow', shrink && 'dnb-flex-item--shrink', alignSelf && `dnb-flex-item--align-self-${alignSelf}`, size && 'dnb-flex-item--responsive');
24
20
  const spaceStyles = {};
25
21
  if (size) {
26
22
  if (isValidSize(size)) {
@@ -35,17 +31,18 @@ function FlexItem(props) {
35
31
  }
36
32
  }
37
33
  if (Object.keys(spaceStyles).length) {
38
- return React.createElement(Space, _extends({
34
+ return React.createElement(Space, {
39
35
  element: element,
40
36
  className: cn,
41
- style: _objectSpread(_objectSpread({}, spaceStyles), style)
42
- }, omitSpacingProps(rest)), React.createElement(Space, _extends({
43
- className: "dnb-flex-item__spacer"
44
- }, pickSpacingProps(rest)), children));
37
+ style: spaceStyles
38
+ }, React.createElement(Space, _extends({
39
+ className: classnames('dnb-flex-item__spacer', className),
40
+ style: style
41
+ }, rest), children));
45
42
  }
46
43
  return React.createElement(Space, _extends({
47
44
  element: element,
48
- className: cn,
45
+ className: classnames(cn, className),
49
46
  style: style
50
47
  }, rest), children);
51
48
  function isValidSize(size) {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["React","classnames","Space","omitSpacingProps","pickSpacingProps","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_objectSpread","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { omitSpacingProps, pickSpacingProps } from './utils'\n\nexport type Sizes =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 'auto'\ntype MediaSizes = {\n xsmall?: Sizes\n small?: Sizes\n medium?: Sizes\n large?: Sizes\n}\nexport type Size = MediaSizes | Sizes\n\nexport type BasicProps = {\n grow?: boolean\n shrink?: boolean\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n size?: Size\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction FlexItem(props: Props) {\n const {\n element = 'div',\n className,\n grow,\n shrink,\n alignSelf,\n size,\n style,\n children,\n ...rest\n } = props\n\n const cn = classnames(\n 'dnb-flex-item',\n grow && 'dnb-flex-item--grow',\n shrink && 'dnb-flex-item--shrink',\n alignSelf && `dnb-flex-item--align-self-${alignSelf}`,\n size && 'dnb-flex-item--responsive',\n className\n )\n\n const spaceStyles = {} as React.CSSProperties\n\n if (size) {\n if (isValidSize(size as Sizes)) {\n spaceStyles['--size--default'] = size\n } else {\n const sizes = size as MediaSizes\n for (const key in sizes) {\n if (isValidSize(size[key])) {\n spaceStyles[`--${key}`] = size[key]\n }\n }\n }\n }\n\n if (Object.keys(spaceStyles).length) {\n return (\n <Space\n element={element}\n className={cn}\n style={{ ...spaceStyles, ...style }}\n {...omitSpacingProps(rest)}\n >\n <Space\n className=\"dnb-flex-item__spacer\"\n {...pickSpacingProps(rest)}\n >\n {children}\n </Space>\n </Space>\n )\n }\n\n return (\n <Space element={element} className={cn} style={style} {...rest}>\n {children}\n </Space>\n )\n\n function isValidSize(size: Sizes) {\n return typeof size === 'number' || size === 'auto'\n }\n}\n\nFlexItem._supportsSpacingProps = true\n\nexport default FlexItem\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAsB,gBAAgB;AAClD,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAmC5D,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAM;MACJC,OAAO,GAAG,KAAK;MACfC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,EAAE,GAAGjB,UAAU,CACnB,eAAe,EAKfO,SAAS,EAJTC,IAAI,IAAI,qBAAqB,EAC7BC,MAAM,IAAI,uBAAuB,EACjCC,SAAS,IAAK,6BAA4BA,SAAU,EAAC,EACrDC,IAAI,IAAI,2BAEV,CAAC;EAED,MAAMO,WAAW,GAAG,CAAC,CAAwB;EAE7C,IAAIP,IAAI,EAAE;IACR,IAAIQ,WAAW,CAACR,IAAa,CAAC,EAAE;MAC9BO,WAAW,CAAC,iBAAiB,CAAC,GAAGP,IAAI;IACvC,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGT,IAAkB;MAChC,KAAK,MAAMU,GAAG,IAAID,KAAK,EAAE;QACvB,IAAID,WAAW,CAACR,IAAI,CAACU,GAAG,CAAC,CAAC,EAAE;UAC1BH,WAAW,CAAE,KAAIG,GAAI,EAAC,CAAC,GAAGV,IAAI,CAACU,GAAG,CAAC;QACrC;MACF;IACF;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,MAAM,EAAE;IACnC,OACEzB,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;MACJpB,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEU,EAAG;MACdL,KAAK,EAAAe,aAAA,CAAAA,aAAA,KAAOT,WAAW,GAAKN,KAAK;IAAG,GAChCV,gBAAgB,CAACY,IAAI,CAAC,GAE1Bf,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;MACJnB,SAAS,EAAC;IAAuB,GAC7BJ,gBAAgB,CAACW,IAAI,CAAC,GAEzBD,QACI,CACF,CAAC;EAEZ;EAEA,OACEd,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;IAACpB,OAAO,EAAEA,OAAQ;IAACC,SAAS,EAAEU,EAAG;IAACL,KAAK,EAAEA;EAAM,GAAKE,IAAI,GAC3DD,QACI,CAAC;EAGV,SAASM,WAAWA,CAACR,IAAW,EAAE;IAChC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM;EACpD;AACF;AAEAP,QAAQ,CAACwB,qBAAqB,GAAG,IAAI;AAErC,eAAexB,QAAQ"}
1
+ {"version":3,"file":"Item.js","names":["React","classnames","Space","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\n\nexport type Sizes =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 'auto'\ntype MediaSizes = {\n xsmall?: Sizes\n small?: Sizes\n medium?: Sizes\n large?: Sizes\n}\nexport type Size = MediaSizes | Sizes\n\nexport type BasicProps = {\n grow?: boolean\n shrink?: boolean\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n size?: Size\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction FlexItem(props: Props) {\n const {\n element = 'div',\n className,\n grow,\n shrink,\n alignSelf,\n size,\n style,\n children,\n ...rest\n } = props\n\n const cn = classnames(\n 'dnb-flex-item',\n grow && 'dnb-flex-item--grow',\n shrink && 'dnb-flex-item--shrink',\n alignSelf && `dnb-flex-item--align-self-${alignSelf}`,\n size && 'dnb-flex-item--responsive'\n )\n\n const spaceStyles = {} as React.CSSProperties\n\n if (size) {\n if (isValidSize(size as Sizes)) {\n spaceStyles['--size--default'] = size\n } else {\n const sizes = size as MediaSizes\n for (const key in sizes) {\n if (isValidSize(size[key])) {\n spaceStyles[`--${key}`] = size[key]\n }\n }\n }\n }\n\n if (Object.keys(spaceStyles).length) {\n return (\n <Space element={element} className={cn} style={spaceStyles}>\n <Space\n className={classnames('dnb-flex-item__spacer', className)}\n style={style}\n {...rest}\n >\n {children}\n </Space>\n </Space>\n )\n }\n\n return (\n <Space\n element={element}\n className={classnames(cn, className)}\n style={style}\n {...rest}\n >\n {children}\n </Space>\n )\n\n function isValidSize(size: Sizes) {\n return typeof size === 'number' || size === 'auto'\n }\n}\n\nFlexItem._supportsSpacingProps = true\n\nexport default FlexItem\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAsB,gBAAgB;AAmClD,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAM;MACJC,OAAO,GAAG,KAAK;MACfC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,EAAE,GAAGf,UAAU,CACnB,eAAe,EACfM,IAAI,IAAI,qBAAqB,EAC7BC,MAAM,IAAI,uBAAuB,EACjCC,SAAS,IAAK,6BAA4BA,SAAU,EAAC,EACrDC,IAAI,IAAI,2BACV,CAAC;EAED,MAAMO,WAAW,GAAG,CAAC,CAAwB;EAE7C,IAAIP,IAAI,EAAE;IACR,IAAIQ,WAAW,CAACR,IAAa,CAAC,EAAE;MAC9BO,WAAW,CAAC,iBAAiB,CAAC,GAAGP,IAAI;IACvC,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGT,IAAkB;MAChC,KAAK,MAAMU,GAAG,IAAID,KAAK,EAAE;QACvB,IAAID,WAAW,CAACR,IAAI,CAACU,GAAG,CAAC,CAAC,EAAE;UAC1BH,WAAW,CAAE,KAAIG,GAAI,EAAC,CAAC,GAAGV,IAAI,CAACU,GAAG,CAAC;QACrC;MACF;IACF;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,MAAM,EAAE;IACnC,OACEvB,KAAA,CAAAwB,aAAA,CAACtB,KAAK;MAACG,OAAO,EAAEA,OAAQ;MAACC,SAAS,EAAEU,EAAG;MAACL,KAAK,EAAEM;IAAY,GACzDjB,KAAA,CAAAwB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;MACJnB,SAAS,EAAEL,UAAU,CAAC,uBAAuB,EAAEK,SAAS,CAAE;MAC1DK,KAAK,EAAEA;IAAM,GACTE,IAAI,GAEPD,QACI,CACF,CAAC;EAEZ;EAEA,OACEZ,KAAA,CAAAwB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;IACJpB,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEL,UAAU,CAACe,EAAE,EAAEV,SAAS,CAAE;IACrCK,KAAK,EAAEA;EAAM,GACTE,IAAI,GAEPD,QACI,CAAC;EAGV,SAASM,WAAWA,CAACR,IAAW,EAAE;IAChC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM;EACpD;AACF;AAEAP,QAAQ,CAACuB,qBAAqB,GAAG,IAAI;AAErC,eAAevB,QAAQ"}
@@ -60,6 +60,9 @@
60
60
  .dnb-flex-container--wrap {
61
61
  flex-wrap: wrap;
62
62
  }
63
+ .dnb-flex-container--row-gap-off {
64
+ --gap: 0;
65
+ }
63
66
  .dnb-flex-container--row-gap-small {
64
67
  --gap: var(--spacing-small);
65
68
  }
@@ -1 +1 @@
1
- .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-large)}
1
+ .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-off{--gap:0}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-large)}
@@ -88,6 +88,9 @@
88
88
  flex-wrap: wrap;
89
89
  }
90
90
 
91
+ &--row-gap-off {
92
+ --gap: 0;
93
+ }
91
94
  &--row-gap-small {
92
95
  --gap: var(--spacing-small);
93
96
  }
@@ -1,18 +1,46 @@
1
1
  import React from 'react';
2
2
  import { SpaceType, SpacingProps } from '../../shared/types';
3
3
  import { End, Start } from './types';
4
- export declare const pickSpacingProps: <Props extends SpacingProps>(props: Props) => SpacingProps;
5
4
  export declare const omitSpacingProps: <Props extends SpacingProps>(props: Props) => Omit<Props, "space" | "innerSpace" | keyof import("../space/types").SpacingElementProps>;
6
- export declare const getSpaceValue: (type: Start | End, element: React.ReactChild | React.ReactFragment | React.ReactPortal) => SpaceType | undefined;
5
+ /**
6
+ * Picks the spacing props from the given props object.
7
+ * @template Props - The type of the props object.
8
+ * @param {Props} props - The props object.
9
+ * @returns {SpacingProps} - The spacing props object.
10
+ */
11
+ export declare function pickSpacingProps<Props extends SpacingProps>(props: Props): SpacingProps;
12
+ /**
13
+ * Retrieves the space value of a Flex component based on the specified type and element.
14
+ * @param type - The type of space value to retrieve (Start or End).
15
+ * @param element - The React element to extract the space value from.
16
+ * @returns The space value of the element, or undefined if it cannot be determined.
17
+ */
18
+ export declare function getSpaceValue(type: Start | End, element: React.ReactNode): SpaceType | undefined;
19
+ /**
20
+ * Checks if the provided element is a heading element.
21
+ * @param element - The element to check.
22
+ * @returns `true` if the element is a heading element, `false` otherwise.
23
+ */
7
24
  export declare function isHeadingElement(element: React.ReactNode & {
8
25
  _isHeadingElement?: boolean;
9
26
  }): boolean;
10
- export declare const isEufemiaElement: (element: any) => boolean;
11
27
  /**
12
- * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?
28
+ * Determines the spacing variant of a React node element.
29
+ * @param element - The React node element to check.
30
+ * @returns The spacing variant (true, false or "children") of the element, or undefined if it does not support spacing props.
31
+ */
32
+ export declare function getSpaceVariant(element: React.ReactNode): any;
33
+ /**
34
+ * Renders an element with spacing props applied.
35
+ * If the element is a component that accepts spacing props, the props are directly applied.
36
+ * If the element is a component that has children and accepts spacing props, the props are applied to the children.
37
+ * If the element does not accept spacing props, the element is returned as is.
38
+ *
39
+ * @param element - The element to render with spacing props.
40
+ * @param spaceProps - The spacing props to apply.
41
+ * @returns The rendered element with spacing props applied.
13
42
  */
14
- export declare const isSpacePropsComponent: (element: React.ReactNode) => boolean;
15
- export declare const renderWithSpacing: (element: React.ReactNode, props: SpacingProps & {
43
+ export declare function renderWithSpacing(element: React.ReactNode, spaceProps: SpacingProps & {
16
44
  key?: string;
17
45
  className?: string;
18
- }) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
46
+ }): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
@@ -1,8 +1,11 @@
1
- import React from 'react';
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ import React, { Fragment } from 'react';
2
5
  import Space from '../space/Space';
3
6
  import { removeSpaceProps } from '../space/SpacingUtils';
4
- import * as EufemiaElements from '../../elements';
5
- export const pickSpacingProps = props => {
7
+ export const omitSpacingProps = removeSpaceProps;
8
+ export function pickSpacingProps(props) {
6
9
  return {
7
10
  space: props === null || props === void 0 ? void 0 : props.space,
8
11
  top: props === null || props === void 0 ? void 0 : props.top,
@@ -10,38 +13,67 @@ export const pickSpacingProps = props => {
10
13
  left: props === null || props === void 0 ? void 0 : props.left,
11
14
  right: props === null || props === void 0 ? void 0 : props.right
12
15
  };
13
- };
14
- export const omitSpacingProps = removeSpaceProps;
15
- export const getSpaceValue = (type, element) => {
16
+ }
17
+ export function getSpaceValue(type, element) {
16
18
  var _element$props$type, _element$props, _element$props2;
17
19
  if (!React.isValidElement(element)) {
18
20
  return;
19
21
  }
20
22
  return (_element$props$type = (_element$props = element.props) === null || _element$props === void 0 ? void 0 : _element$props[type]) !== null && _element$props$type !== void 0 ? _element$props$type : typeof ((_element$props2 = element.props) === null || _element$props2 === void 0 ? void 0 : _element$props2.space) === 'object' ? element.props.space[type] : undefined;
21
- };
23
+ }
22
24
  export function isHeadingElement(element) {
23
25
  var _element$type;
24
26
  return React.isValidElement(element) && (element === null || element === void 0 ? void 0 : (_element$type = element.type) === null || _element$type === void 0 ? void 0 : _element$type['_isHeadingElement']) === true;
25
27
  }
26
- export const isEufemiaElement = element => {
27
- return Object.values(EufemiaElements).some(eufemiaElement => (element === null || element === void 0 ? void 0 : element.type) === eufemiaElement);
28
- };
29
- export const isSpacePropsComponent = element => {
30
- var _element$type2;
31
- if (React.isValidElement(element) && typeof (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === 'boolean') {
32
- var _element$type3;
33
- return element === null || element === void 0 ? void 0 : (_element$type3 = element.type) === null || _element$type3 === void 0 ? void 0 : _element$type3['_supportsSpacingProps'];
34
- }
35
- if (isEufemiaElement(element)) {
36
- return true;
28
+ export function getSpaceVariant(element) {
29
+ if (React.isValidElement(element)) {
30
+ var _element$type2, _element$props3;
31
+ if ((element === null || element === void 0 ? void 0 : element.type) === Fragment) {
32
+ return 'children';
33
+ }
34
+ const check = element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps'];
35
+ if (typeof check !== 'undefined') {
36
+ return check;
37
+ }
38
+ const keys = ['space', 'top', 'right', 'bottom', 'left'];
39
+ const props = (_element$props3 = element === null || element === void 0 ? void 0 : element.props) !== null && _element$props3 !== void 0 ? _element$props3 : {};
40
+ if (keys.some(key => key in props)) {
41
+ return true;
42
+ }
37
43
  }
38
44
  return undefined;
39
- };
40
- export const renderWithSpacing = (element, props) => {
41
- const takesSpaceProps = isSpacePropsComponent(element);
42
- if (takesSpaceProps === false) {
45
+ }
46
+ export function renderWithSpacing(element, spaceProps) {
47
+ const variant = getSpaceVariant(element);
48
+ if (variant === false) {
43
49
  return element;
44
50
  }
45
- return takesSpaceProps ? React.cloneElement(element, props) : React.createElement(Space, props, element);
46
- };
51
+ if (variant === 'children') {
52
+ return React.Children.toArray(element).map(child => {
53
+ var _child$props;
54
+ const children = child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children;
55
+ return React.Children.toArray(children).map((element, i) => {
56
+ return React.cloneElement(child, _objectSpread({
57
+ key: i
58
+ }, child === null || child === void 0 ? void 0 : child.props), wrapWithSpace({
59
+ element,
60
+ spaceProps
61
+ }));
62
+ });
63
+ });
64
+ }
65
+ return wrapWithSpace({
66
+ element,
67
+ spaceProps,
68
+ variant
69
+ });
70
+ }
71
+ function wrapWithSpace(_ref) {
72
+ let {
73
+ element,
74
+ spaceProps,
75
+ variant = null
76
+ } = _ref;
77
+ return (variant !== null && variant !== void 0 ? variant : getSpaceVariant(element) === true) ? React.cloneElement(element, spaceProps) : React.createElement(Space, spaceProps, element);
78
+ }
47
79
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","_element$type3","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n if (\n React.isValidElement(element) &&\n typeof element?.type?.['_supportsSpacingProps'] === 'boolean'\n ) {\n return element?.type?.['_supportsSpacingProps']\n }\n\n if (isEufemiaElement(element)) {\n return true\n }\n\n return undefined\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n if (takesSpaceProps === false) {\n return element\n }\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["React","Fragment","Space","removeSpaceProps","omitSpacingProps","pickSpacingProps","props","space","top","bottom","left","right","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","getSpaceVariant","_element$type2","_element$props3","check","keys","some","key","renderWithSpacing","spaceProps","variant","Children","toArray","map","child","_child$props","children","i","cloneElement","_objectSpread","wrapWithSpace","_ref","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React, { Fragment } from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport { End, Start } from './types'\n\nexport const omitSpacingProps = removeSpaceProps\n\n/**\n * Picks the spacing props from the given props object.\n * @template Props - The type of the props object.\n * @param {Props} props - The props object.\n * @returns {SpacingProps} - The spacing props object.\n */\nexport function pickSpacingProps<Props extends SpacingProps>(\n props: Props\n): SpacingProps {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\n/**\n * Retrieves the space value of a Flex component based on the specified type and element.\n * @param type - The type of space value to retrieve (Start or End).\n * @param element - The React element to extract the space value from.\n * @returns The space value of the element, or undefined if it cannot be determined.\n */\nexport function getSpaceValue(\n type: Start | End,\n element: React.ReactNode\n): SpaceType | undefined {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\n/**\n * Checks if the provided element is a heading element.\n * @param element - The element to check.\n * @returns `true` if the element is a heading element, `false` otherwise.\n */\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\n/**\n * Determines the spacing variant of a React node element.\n * @param element - The React node element to check.\n * @returns The spacing variant (true, false or \"children\") of the element, or undefined if it does not support spacing props.\n */\nexport function getSpaceVariant(element: React.ReactNode) {\n if (React.isValidElement(element)) {\n if (element?.type === Fragment) {\n return 'children'\n }\n\n const check = element?.type?.['_supportsSpacingProps']\n if (typeof check !== 'undefined') {\n return check\n }\n\n const keys = ['space', 'top', 'right', 'bottom', 'left']\n const props = element?.props ?? {}\n if (keys.some((key) => key in props)) {\n return true\n }\n }\n\n return undefined\n}\n\n/**\n * Renders an element with spacing props applied.\n * If the element is a component that accepts spacing props, the props are directly applied.\n * If the element is a component that has children and accepts spacing props, the props are applied to the children.\n * If the element does not accept spacing props, the element is returned as is.\n *\n * @param element - The element to render with spacing props.\n * @param spaceProps - The spacing props to apply.\n * @returns The rendered element with spacing props applied.\n */\nexport function renderWithSpacing(\n element: React.ReactNode,\n spaceProps: SpacingProps & { key?: string; className?: string }\n) {\n const variant = getSpaceVariant(element)\n\n if (variant === false) {\n return element\n }\n\n if (variant === 'children') {\n return React.Children.toArray(element).map(\n (child: React.ReactElement) => {\n const children = child?.props?.children\n\n return React.Children.toArray(children).map((element, i) => {\n return React.cloneElement(\n child,\n { key: i, ...child?.props },\n wrapWithSpace({ element, spaceProps })\n )\n })\n }\n )\n }\n\n return wrapWithSpace({ element, spaceProps, variant })\n}\n\nfunction wrapWithSpace({ element, spaceProps, variant = null }) {\n return variant ?? getSpaceVariant(element) === true ? (\n React.cloneElement(element as React.ReactElement, spaceProps)\n ) : (\n <Space {...spaceProps}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -2,9 +2,6 @@
2
2
  * FormLabel component
3
3
  *
4
4
  */
5
- /*
6
- * Utilities
7
- */
8
5
  .dnb-form-label {
9
6
  display: inline-block;
10
7
  width: auto;
@@ -21,10 +18,6 @@
21
18
  margin-right: 0;
22
19
  margin-bottom: 0.5rem;
23
20
  }
24
- .dnb-form-label[for]:not([disabled]) {
25
- -webkit-user-select: none;
26
- user-select: none;
27
- }
28
21
  .dnb-form-label[disabled] {
29
22
  cursor: not-allowed;
30
23
  }
@@ -1 +1 @@
1
- .dnb-form-label{color:inherit;display:inline-block;font-size:var(--font-size-basis);padding:0;text-align:left;vertical-align:baseline;white-space:pre-wrap;width:auto;word-break:normal}.dnb-form-label--vertical{display:block;margin-bottom:.5rem;margin-right:0}.dnb-form-label[for]:not([disabled]){-webkit-user-select:none;user-select:none}.dnb-form-label[disabled]{cursor:not-allowed}legend.dnb-form-label{display:inline-block}
1
+ .dnb-form-label{color:inherit;display:inline-block;font-size:var(--font-size-basis);padding:0;text-align:left;vertical-align:baseline;white-space:pre-wrap;width:auto;word-break:normal}.dnb-form-label--vertical{display:block;margin-bottom:.5rem;margin-right:0}.dnb-form-label[disabled]{cursor:not-allowed}legend.dnb-form-label{display:inline-block}
@@ -3,8 +3,6 @@
3
3
  *
4
4
  */
5
5
 
6
- @import '../../../style/core/utilities.scss';
7
-
8
6
  .dnb-form-label {
9
7
  display: inline-block;
10
8
 
@@ -26,10 +24,6 @@
26
24
  margin-bottom: 0.5rem;
27
25
  }
28
26
 
29
- &[for]:not([disabled]) {
30
- user-select: none; // Safari / Touch fix
31
- }
32
-
33
27
  &[disabled] {
34
28
  cursor: not-allowed;
35
29
  }
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import type { GlobalStatusConfigObject } from '../GlobalStatus';
3
3
  import type { IconIcon, IconSize } from '../Icon';
4
4
  import type { SkeletonShow } from '../Skeleton';
5
- import type { SpacingProps } from '../space/types';
5
+ import type { SpacingProps, SpaceTypeAll } from '../space/types';
6
6
  export type FormStatusText =
7
7
  | string
8
8
  | boolean
@@ -84,6 +84,10 @@ export interface FormStatusProps
84
84
  * The `role` attribute for accessibility, defaults to `alert`
85
85
  */
86
86
  role?: string;
87
+ /**
88
+ * Use it to set an inner margin. It supports the same props as `space`. Useful for animation.
89
+ */
90
+ shellSpace?: SpaceTypeAll;
87
91
  className?: string;
88
92
  /**
89
93
  * The `text` appears as the status message. Beside plain text, you can send in a React component as well.