@dnb/eufemia 10.19.0 → 10.20.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 (759) hide show
  1. package/CHANGELOG.md +40 -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/DatePickerProvider.js +10 -10
  21. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  22. package/cjs/components/flex/Container.js +1 -1
  23. package/cjs/components/flex/Container.js.map +1 -1
  24. package/cjs/components/flex/Item.js +8 -13
  25. package/cjs/components/flex/Item.js.map +1 -1
  26. package/cjs/components/flex/style/dnb-flex.css +3 -0
  27. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  28. package/cjs/components/flex/style/flex-container.scss +3 -0
  29. package/cjs/components/flex/utils.d.ts +35 -7
  30. package/cjs/components/flex/utils.js +65 -33
  31. package/cjs/components/flex/utils.js.map +1 -1
  32. package/cjs/components/form-status/FormStatus.d.ts +5 -1
  33. package/cjs/components/form-status/FormStatus.js +38 -44
  34. package/cjs/components/form-status/FormStatus.js.map +1 -1
  35. package/cjs/components/form-status/style/dnb-form-status.css +0 -18
  36. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  37. package/cjs/components/form-status/style/dnb-form-status.scss +0 -45
  38. package/cjs/components/global-status/GlobalStatus.js +52 -138
  39. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  40. package/cjs/components/global-status/style/dnb-global-status.css +6 -16
  41. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  42. package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
  43. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  44. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  45. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  46. package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
  47. package/cjs/components/height-animation/HeightAnimation.js +31 -14
  48. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  49. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  50. package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
  51. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  52. package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
  53. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  54. package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
  55. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  56. package/cjs/components/height-animation/useHeightAnimation.js +125 -92
  57. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  58. package/cjs/components/number-format/NumberFormat.d.ts +7 -12
  59. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
  60. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  61. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
  62. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  63. package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
  64. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  65. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  66. package/cjs/components/table/TableAccordionContent.js +51 -23
  67. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  68. package/cjs/components/table/style/dnb-table.css +6 -3
  69. package/cjs/components/table/style/dnb-table.min.css +1 -1
  70. package/cjs/components/table/style/table-accordion.scss +6 -3
  71. package/cjs/components/tabs/Tabs.js +2 -1
  72. package/cjs/components/tabs/Tabs.js.map +1 -1
  73. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
  74. package/cjs/components/tabs/TabsContentWrapper.js +8 -6
  75. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  76. package/cjs/components/upload/Upload.js +15 -18
  77. package/cjs/components/upload/Upload.js.map +1 -1
  78. package/cjs/components/upload/UploadFileInput.js +3 -1
  79. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  80. package/cjs/components/upload/UploadFileList.js +1 -1
  81. package/cjs/components/upload/UploadFileList.js.map +1 -1
  82. package/cjs/components/upload/UploadStatus.js +6 -2
  83. package/cjs/components/upload/UploadStatus.js.map +1 -1
  84. package/cjs/components/upload/useUpload.js +5 -6
  85. package/cjs/components/upload/useUpload.js.map +1 -1
  86. package/cjs/elements/lib.d.ts +6 -0
  87. package/cjs/elements/typography/H1.d.ts +1 -0
  88. package/cjs/elements/typography/H1.js +1 -1
  89. package/cjs/elements/typography/H1.js.map +1 -1
  90. package/cjs/elements/typography/H2.d.ts +1 -0
  91. package/cjs/elements/typography/H2.js +1 -1
  92. package/cjs/elements/typography/H2.js.map +1 -1
  93. package/cjs/elements/typography/H3.d.ts +1 -0
  94. package/cjs/elements/typography/H3.js +1 -1
  95. package/cjs/elements/typography/H3.js.map +1 -1
  96. package/cjs/elements/typography/H4.d.ts +1 -0
  97. package/cjs/elements/typography/H4.js +1 -1
  98. package/cjs/elements/typography/H4.js.map +1 -1
  99. package/cjs/elements/typography/H5.d.ts +1 -0
  100. package/cjs/elements/typography/H5.js +1 -1
  101. package/cjs/elements/typography/H5.js.map +1 -1
  102. package/cjs/elements/typography/H6.d.ts +1 -0
  103. package/cjs/elements/typography/H6.js +1 -1
  104. package/cjs/elements/typography/H6.js.map +1 -1
  105. package/cjs/extensions/forms/DataContext/Context.d.ts +18 -5
  106. package/cjs/extensions/forms/DataContext/Context.js +9 -0
  107. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  108. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  109. package/cjs/extensions/forms/DataContext/Provider/Provider.js +127 -57
  110. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  111. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  112. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  113. package/cjs/extensions/forms/Field/Date/Date.js +4 -3
  114. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Email/Email.js +3 -2
  116. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  118. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  119. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  120. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -4
  122. package/cjs/extensions/forms/Field/Number/Number.js +14 -15
  123. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  124. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  125. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  127. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  129. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  130. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  131. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  132. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  133. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/String/String.js +5 -3
  135. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  136. package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -2
  137. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  138. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  139. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  140. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  141. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  142. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  143. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  144. package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
  145. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  146. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  147. package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
  148. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  149. package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
  150. package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
  151. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
  152. package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
  153. package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
  154. package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
  155. package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
  156. package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
  157. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
  158. package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
  159. package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
  160. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
  161. package/cjs/extensions/forms/Form/index.d.ts +4 -1
  162. package/cjs/extensions/forms/Form/index.js +22 -1
  163. package/cjs/extensions/forms/Form/index.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  165. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  166. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  167. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
  168. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  169. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  170. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  171. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  172. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -3
  173. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
  175. package/cjs/extensions/forms/Value/Number/Number.js +25 -27
  176. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  177. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  178. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  179. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  180. package/cjs/extensions/forms/hooks/index.js +7 -0
  181. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  182. package/cjs/extensions/forms/hooks/useDataValue.d.ts +6 -1
  183. package/cjs/extensions/forms/hooks/useDataValue.js +76 -21
  184. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  186. package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
  187. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  188. package/cjs/extensions/forms/index.d.ts +1 -0
  189. package/cjs/extensions/forms/index.js +9 -1
  190. package/cjs/extensions/forms/index.js.map +1 -1
  191. package/cjs/extensions/forms/style/dnb-forms.css +34 -5
  192. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  193. package/cjs/extensions/forms/types.d.ts +22 -7
  194. package/cjs/extensions/forms/types.js.map +1 -1
  195. package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
  196. package/cjs/extensions/forms/utils/ajv.js +29 -13
  197. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  198. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  199. package/cjs/extensions/forms/utils/index.js +0 -12
  200. package/cjs/extensions/forms/utils/index.js.map +1 -1
  201. package/cjs/shared/Eufemia.d.ts +1 -1
  202. package/cjs/shared/Eufemia.js +2 -2
  203. package/cjs/shared/Eufemia.js.map +1 -1
  204. package/cjs/shared/component-helper.js +0 -3
  205. package/cjs/shared/component-helper.js.map +1 -1
  206. package/cjs/shared/helpers/useSharedState.d.ts +28 -7
  207. package/cjs/shared/helpers/useSharedState.js +62 -43
  208. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  209. package/cjs/shared/locales/en-GB.d.ts +1 -0
  210. package/cjs/shared/locales/en-GB.js +1 -0
  211. package/cjs/shared/locales/en-GB.js.map +1 -1
  212. package/cjs/shared/locales/en-US.d.ts +1 -0
  213. package/cjs/shared/locales/index.d.ts +2 -0
  214. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  215. package/cjs/shared/locales/nb-NO.js +1 -0
  216. package/cjs/shared/locales/nb-NO.js.map +1 -1
  217. package/cjs/style/core/utilities.scss +1 -1
  218. package/cjs/style/dnb-ui-components.css +94 -52
  219. package/cjs/style/dnb-ui-components.min.css +3 -3
  220. package/cjs/style/dnb-ui-extensions.css +34 -5
  221. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  222. package/cjs/style/dnb-ui-forms.css +34 -5
  223. package/cjs/style/dnb-ui-forms.min.css +1 -1
  224. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  225. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  230. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  231. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  232. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  233. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  235. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  236. package/cjs/style/themes/theme-ui/ui-theme-components.css +129 -79
  237. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  238. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  239. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  240. package/cjs/style/themes/theme-ui/ui-theme-forms.css +34 -5
  241. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  242. package/components/accordion/AccordionContent.d.ts +1 -1
  243. package/components/accordion/AccordionContent.js.map +1 -1
  244. package/components/accordion/style/dnb-accordion.css +0 -3
  245. package/components/accordion/style/dnb-accordion.min.css +1 -1
  246. package/components/accordion/style/dnb-accordion.scss +0 -5
  247. package/components/breadcrumb/Breadcrumb.js +11 -2
  248. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  249. package/components/breadcrumb/BreadcrumbItem.js +11 -8
  250. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  251. package/components/card/Card.d.ts +6 -4
  252. package/components/card/Card.js +11 -15
  253. package/components/card/Card.js.map +1 -1
  254. package/components/card/style/dnb-card.css +29 -0
  255. package/components/card/style/dnb-card.min.css +1 -1
  256. package/components/card/style/dnb-card.scss +41 -0
  257. package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  258. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  259. package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  260. package/components/date-picker/DatePickerProvider.js +10 -10
  261. package/components/date-picker/DatePickerProvider.js.map +1 -1
  262. package/components/flex/Container.js +1 -1
  263. package/components/flex/Container.js.map +1 -1
  264. package/components/flex/Item.js +8 -11
  265. package/components/flex/Item.js.map +1 -1
  266. package/components/flex/style/dnb-flex.css +3 -0
  267. package/components/flex/style/dnb-flex.min.css +1 -1
  268. package/components/flex/style/flex-container.scss +3 -0
  269. package/components/flex/utils.d.ts +35 -7
  270. package/components/flex/utils.js +56 -24
  271. package/components/flex/utils.js.map +1 -1
  272. package/components/form-status/FormStatus.d.ts +5 -1
  273. package/components/form-status/FormStatus.js +38 -44
  274. package/components/form-status/FormStatus.js.map +1 -1
  275. package/components/form-status/style/dnb-form-status.css +0 -18
  276. package/components/form-status/style/dnb-form-status.min.css +1 -1
  277. package/components/form-status/style/dnb-form-status.scss +0 -45
  278. package/components/global-status/GlobalStatus.js +53 -139
  279. package/components/global-status/GlobalStatus.js.map +1 -1
  280. package/components/global-status/style/dnb-global-status.css +6 -16
  281. package/components/global-status/style/dnb-global-status.min.css +1 -1
  282. package/components/global-status/style/dnb-global-status.scss +11 -23
  283. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  284. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  285. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  286. package/components/height-animation/HeightAnimation.d.ts +12 -4
  287. package/components/height-animation/HeightAnimation.js +27 -14
  288. package/components/height-animation/HeightAnimation.js.map +1 -1
  289. package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  290. package/components/height-animation/HeightAnimationInstance.js +186 -158
  291. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  292. package/components/height-animation/style/dnb-height-animation.css +16 -2
  293. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  294. package/components/height-animation/style/dnb-height-animation.scss +18 -2
  295. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  296. package/components/height-animation/useHeightAnimation.js +124 -92
  297. package/components/height-animation/useHeightAnimation.js.map +1 -1
  298. package/components/number-format/NumberFormat.d.ts +7 -12
  299. package/components/step-indicator/StepIndicatorItem.js +4 -22
  300. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  301. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  302. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  303. package/components/step-indicator/style/dnb-step-indicator.css +0 -5
  304. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  305. package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  306. package/components/table/TableAccordionContent.js +48 -23
  307. package/components/table/TableAccordionContent.js.map +1 -1
  308. package/components/table/style/dnb-table.css +6 -3
  309. package/components/table/style/dnb-table.min.css +1 -1
  310. package/components/table/style/table-accordion.scss +6 -3
  311. package/components/tabs/Tabs.js +2 -1
  312. package/components/tabs/Tabs.js.map +1 -1
  313. package/components/tabs/TabsContentWrapper.d.ts +1 -0
  314. package/components/tabs/TabsContentWrapper.js +8 -6
  315. package/components/tabs/TabsContentWrapper.js.map +1 -1
  316. package/components/upload/Upload.js +13 -18
  317. package/components/upload/Upload.js.map +1 -1
  318. package/components/upload/UploadFileInput.js +3 -1
  319. package/components/upload/UploadFileInput.js.map +1 -1
  320. package/components/upload/UploadFileList.js +1 -1
  321. package/components/upload/UploadFileList.js.map +1 -1
  322. package/components/upload/UploadStatus.js +6 -2
  323. package/components/upload/UploadStatus.js.map +1 -1
  324. package/components/upload/useUpload.js +5 -7
  325. package/components/upload/useUpload.js.map +1 -1
  326. package/elements/lib.d.ts +6 -0
  327. package/elements/typography/H1.d.ts +1 -0
  328. package/elements/typography/H1.js +1 -1
  329. package/elements/typography/H1.js.map +1 -1
  330. package/elements/typography/H2.d.ts +1 -0
  331. package/elements/typography/H2.js +1 -1
  332. package/elements/typography/H2.js.map +1 -1
  333. package/elements/typography/H3.d.ts +1 -0
  334. package/elements/typography/H3.js +1 -1
  335. package/elements/typography/H3.js.map +1 -1
  336. package/elements/typography/H4.d.ts +1 -0
  337. package/elements/typography/H4.js +1 -1
  338. package/elements/typography/H4.js.map +1 -1
  339. package/elements/typography/H5.d.ts +1 -0
  340. package/elements/typography/H5.js +1 -1
  341. package/elements/typography/H5.js.map +1 -1
  342. package/elements/typography/H6.d.ts +1 -0
  343. package/elements/typography/H6.js +1 -1
  344. package/elements/typography/H6.js.map +1 -1
  345. package/es/components/accordion/AccordionContent.d.ts +1 -1
  346. package/es/components/accordion/AccordionContent.js.map +1 -1
  347. package/es/components/accordion/style/dnb-accordion.css +0 -3
  348. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  349. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  350. package/es/components/breadcrumb/Breadcrumb.js +11 -2
  351. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  352. package/es/components/breadcrumb/BreadcrumbItem.js +11 -8
  353. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  354. package/es/components/card/Card.d.ts +6 -4
  355. package/es/components/card/Card.js +11 -15
  356. package/es/components/card/Card.js.map +1 -1
  357. package/es/components/card/style/dnb-card.css +29 -0
  358. package/es/components/card/style/dnb-card.min.css +1 -1
  359. package/es/components/card/style/dnb-card.scss +41 -0
  360. package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  361. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  362. package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  363. package/es/components/date-picker/DatePickerProvider.js +10 -10
  364. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  365. package/es/components/flex/Container.js +1 -1
  366. package/es/components/flex/Container.js.map +1 -1
  367. package/es/components/flex/Item.js +8 -11
  368. package/es/components/flex/Item.js.map +1 -1
  369. package/es/components/flex/style/dnb-flex.css +3 -0
  370. package/es/components/flex/style/dnb-flex.min.css +1 -1
  371. package/es/components/flex/style/flex-container.scss +3 -0
  372. package/es/components/flex/utils.d.ts +35 -7
  373. package/es/components/flex/utils.js +55 -24
  374. package/es/components/flex/utils.js.map +1 -1
  375. package/es/components/form-status/FormStatus.d.ts +5 -1
  376. package/es/components/form-status/FormStatus.js +38 -44
  377. package/es/components/form-status/FormStatus.js.map +1 -1
  378. package/es/components/form-status/style/dnb-form-status.css +0 -18
  379. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  380. package/es/components/form-status/style/dnb-form-status.scss +0 -45
  381. package/es/components/global-status/GlobalStatus.js +51 -133
  382. package/es/components/global-status/GlobalStatus.js.map +1 -1
  383. package/es/components/global-status/style/dnb-global-status.css +6 -16
  384. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  385. package/es/components/global-status/style/dnb-global-status.scss +11 -23
  386. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  387. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  388. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  389. package/es/components/height-animation/HeightAnimation.d.ts +12 -4
  390. package/es/components/height-animation/HeightAnimation.js +27 -14
  391. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  392. package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  393. package/es/components/height-animation/HeightAnimationInstance.js +188 -155
  394. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  395. package/es/components/height-animation/style/dnb-height-animation.css +16 -2
  396. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  397. package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
  398. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  399. package/es/components/height-animation/useHeightAnimation.js +124 -92
  400. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  401. package/es/components/number-format/NumberFormat.d.ts +7 -12
  402. package/es/components/step-indicator/StepIndicatorItem.js +4 -22
  403. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  404. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  405. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  406. package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
  407. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  408. package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  409. package/es/components/table/TableAccordionContent.js +47 -23
  410. package/es/components/table/TableAccordionContent.js.map +1 -1
  411. package/es/components/table/style/dnb-table.css +6 -3
  412. package/es/components/table/style/dnb-table.min.css +1 -1
  413. package/es/components/table/style/table-accordion.scss +6 -3
  414. package/es/components/tabs/Tabs.js +2 -1
  415. package/es/components/tabs/Tabs.js.map +1 -1
  416. package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
  417. package/es/components/tabs/TabsContentWrapper.js +8 -6
  418. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  419. package/es/components/upload/Upload.js +13 -18
  420. package/es/components/upload/Upload.js.map +1 -1
  421. package/es/components/upload/UploadFileInput.js +3 -1
  422. package/es/components/upload/UploadFileInput.js.map +1 -1
  423. package/es/components/upload/UploadFileList.js +1 -1
  424. package/es/components/upload/UploadFileList.js.map +1 -1
  425. package/es/components/upload/UploadStatus.js +6 -2
  426. package/es/components/upload/UploadStatus.js.map +1 -1
  427. package/es/components/upload/useUpload.js +5 -7
  428. package/es/components/upload/useUpload.js.map +1 -1
  429. package/es/elements/lib.d.ts +6 -0
  430. package/es/elements/typography/H1.d.ts +1 -0
  431. package/es/elements/typography/H1.js +1 -1
  432. package/es/elements/typography/H1.js.map +1 -1
  433. package/es/elements/typography/H2.d.ts +1 -0
  434. package/es/elements/typography/H2.js +1 -1
  435. package/es/elements/typography/H2.js.map +1 -1
  436. package/es/elements/typography/H3.d.ts +1 -0
  437. package/es/elements/typography/H3.js +1 -1
  438. package/es/elements/typography/H3.js.map +1 -1
  439. package/es/elements/typography/H4.d.ts +1 -0
  440. package/es/elements/typography/H4.js +1 -1
  441. package/es/elements/typography/H4.js.map +1 -1
  442. package/es/elements/typography/H5.d.ts +1 -0
  443. package/es/elements/typography/H5.js +1 -1
  444. package/es/elements/typography/H5.js.map +1 -1
  445. package/es/elements/typography/H6.d.ts +1 -0
  446. package/es/elements/typography/H6.js +1 -1
  447. package/es/elements/typography/H6.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Context.d.ts +18 -5
  449. package/es/extensions/forms/DataContext/Context.js +9 -0
  450. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  451. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  452. package/es/extensions/forms/DataContext/Provider/Provider.js +126 -58
  453. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  454. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  455. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  456. package/es/extensions/forms/Field/Date/Date.js +4 -3
  457. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  458. package/es/extensions/forms/Field/Email/Email.js +4 -3
  459. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  460. package/es/extensions/forms/Field/Expiry/Expiry.js +5 -4
  461. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  462. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  463. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  464. package/es/extensions/forms/Field/Number/Number.d.ts +2 -4
  465. package/es/extensions/forms/Field/Number/Number.js +14 -15
  466. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  467. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  468. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  469. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  470. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  471. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  472. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  473. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  474. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  475. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  476. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  477. package/es/extensions/forms/Field/String/String.js +5 -3
  478. package/es/extensions/forms/Field/String/String.js.map +1 -1
  479. package/es/extensions/forms/Field/Toggle/Toggle.js +5 -2
  480. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  486. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  487. package/es/extensions/forms/Form/Handler/Handler.js +7 -1
  488. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  489. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  490. package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
  491. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  492. package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
  493. package/es/extensions/forms/Form/data-context/getData.js +15 -0
  494. package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
  495. package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
  496. package/es/extensions/forms/Form/data-context/setData.js +6 -0
  497. package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
  498. package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
  499. package/es/extensions/forms/Form/data-context/useData.js +58 -0
  500. package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
  501. package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
  502. package/es/extensions/forms/Form/data-context/useError.js +13 -0
  503. package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
  504. package/es/extensions/forms/Form/index.d.ts +4 -1
  505. package/es/extensions/forms/Form/index.js +4 -1
  506. package/es/extensions/forms/Form/index.js.map +1 -1
  507. package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  508. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  509. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  510. package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  511. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  512. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  513. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  514. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  515. package/es/extensions/forms/Value/Currency/Currency.js +2 -3
  516. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  517. package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
  518. package/es/extensions/forms/Value/Number/Number.js +22 -27
  519. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  520. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  521. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  522. package/es/extensions/forms/hooks/index.d.ts +1 -0
  523. package/es/extensions/forms/hooks/index.js +1 -0
  524. package/es/extensions/forms/hooks/index.js.map +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.d.ts +6 -1
  526. package/es/extensions/forms/hooks/useDataValue.js +72 -19
  527. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  528. package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  529. package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
  530. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  531. package/es/extensions/forms/index.d.ts +1 -0
  532. package/es/extensions/forms/index.js +1 -0
  533. package/es/extensions/forms/index.js.map +1 -1
  534. package/es/extensions/forms/style/dnb-forms.css +34 -5
  535. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  536. package/es/extensions/forms/types.d.ts +22 -7
  537. package/es/extensions/forms/types.js.map +1 -1
  538. package/es/extensions/forms/utils/ajv.d.ts +47 -6
  539. package/es/extensions/forms/utils/ajv.js +23 -15
  540. package/es/extensions/forms/utils/ajv.js.map +1 -1
  541. package/es/extensions/forms/utils/index.d.ts +0 -1
  542. package/es/extensions/forms/utils/index.js +0 -1
  543. package/es/extensions/forms/utils/index.js.map +1 -1
  544. package/es/shared/Eufemia.d.ts +1 -1
  545. package/es/shared/Eufemia.js +2 -2
  546. package/es/shared/Eufemia.js.map +1 -1
  547. package/es/shared/component-helper.js +0 -3
  548. package/es/shared/component-helper.js.map +1 -1
  549. package/es/shared/helpers/useSharedState.d.ts +28 -7
  550. package/es/shared/helpers/useSharedState.js +62 -43
  551. package/es/shared/helpers/useSharedState.js.map +1 -1
  552. package/es/shared/locales/en-GB.d.ts +1 -0
  553. package/es/shared/locales/en-GB.js +1 -0
  554. package/es/shared/locales/en-GB.js.map +1 -1
  555. package/es/shared/locales/en-US.d.ts +1 -0
  556. package/es/shared/locales/index.d.ts +2 -0
  557. package/es/shared/locales/nb-NO.d.ts +1 -0
  558. package/es/shared/locales/nb-NO.js +1 -0
  559. package/es/shared/locales/nb-NO.js.map +1 -1
  560. package/es/style/core/utilities.scss +1 -1
  561. package/es/style/dnb-ui-components.css +94 -52
  562. package/es/style/dnb-ui-components.min.css +3 -3
  563. package/es/style/dnb-ui-extensions.css +34 -5
  564. package/es/style/dnb-ui-extensions.min.css +1 -1
  565. package/es/style/dnb-ui-forms.css +34 -5
  566. package/es/style/dnb-ui-forms.min.css +1 -1
  567. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  568. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  569. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  570. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  571. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  572. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  573. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  574. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  575. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  576. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  577. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  578. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  579. package/es/style/themes/theme-ui/ui-theme-components.css +129 -79
  580. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  581. package/es/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  582. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  583. package/es/style/themes/theme-ui/ui-theme-forms.css +34 -5
  584. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  585. package/esm/dnb-ui-basis.min.mjs +1 -1
  586. package/esm/dnb-ui-components.min.mjs +1 -1
  587. package/esm/dnb-ui-elements.min.mjs +1 -1
  588. package/esm/dnb-ui-extensions.min.mjs +3 -3
  589. package/esm/dnb-ui-lib.min.mjs +1 -1
  590. package/extensions/forms/DataContext/Context.d.ts +18 -5
  591. package/extensions/forms/DataContext/Context.js +9 -0
  592. package/extensions/forms/DataContext/Context.js.map +1 -1
  593. package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  594. package/extensions/forms/DataContext/Provider/Provider.js +128 -58
  595. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  596. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  597. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  598. package/extensions/forms/Field/Date/Date.js +4 -3
  599. package/extensions/forms/Field/Date/Date.js.map +1 -1
  600. package/extensions/forms/Field/Email/Email.js +4 -3
  601. package/extensions/forms/Field/Email/Email.js.map +1 -1
  602. package/extensions/forms/Field/Expiry/Expiry.js +5 -4
  603. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  604. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  605. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  606. package/extensions/forms/Field/Number/Number.d.ts +2 -4
  607. package/extensions/forms/Field/Number/Number.js +14 -15
  608. package/extensions/forms/Field/Number/Number.js.map +1 -1
  609. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  610. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  611. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  612. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  613. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  614. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  615. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  616. package/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  617. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  618. package/extensions/forms/Field/String/String.d.ts +2 -2
  619. package/extensions/forms/Field/String/String.js +5 -3
  620. package/extensions/forms/Field/String/String.js.map +1 -1
  621. package/extensions/forms/Field/Toggle/Toggle.js +5 -2
  622. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  623. package/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  624. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  625. package/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  626. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  627. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  628. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  629. package/extensions/forms/Form/Handler/Handler.js +7 -1
  630. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  631. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  632. package/extensions/forms/Form/Visibility/Visibility.js +53 -39
  633. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  634. package/extensions/forms/Form/data-context/getData.d.ts +8 -0
  635. package/extensions/forms/Form/data-context/getData.js +15 -0
  636. package/extensions/forms/Form/data-context/getData.js.map +1 -0
  637. package/extensions/forms/Form/data-context/setData.d.ts +2 -0
  638. package/extensions/forms/Form/data-context/setData.js +6 -0
  639. package/extensions/forms/Form/data-context/setData.js.map +1 -0
  640. package/extensions/forms/Form/data-context/useData.d.ts +22 -0
  641. package/extensions/forms/Form/data-context/useData.js +59 -0
  642. package/extensions/forms/Form/data-context/useData.js.map +1 -0
  643. package/extensions/forms/Form/data-context/useError.d.ts +5 -0
  644. package/extensions/forms/Form/data-context/useError.js +13 -0
  645. package/extensions/forms/Form/data-context/useError.js.map +1 -0
  646. package/extensions/forms/Form/index.d.ts +4 -1
  647. package/extensions/forms/Form/index.js +4 -1
  648. package/extensions/forms/Form/index.js.map +1 -1
  649. package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  650. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  651. package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  652. package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  653. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  654. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  655. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  656. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  657. package/extensions/forms/Value/Currency/Currency.js +2 -3
  658. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  659. package/extensions/forms/Value/Number/Number.d.ts +6 -10
  660. package/extensions/forms/Value/Number/Number.js +22 -27
  661. package/extensions/forms/Value/Number/Number.js.map +1 -1
  662. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  663. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  664. package/extensions/forms/hooks/index.d.ts +1 -0
  665. package/extensions/forms/hooks/index.js +1 -0
  666. package/extensions/forms/hooks/index.js.map +1 -1
  667. package/extensions/forms/hooks/useDataValue.d.ts +6 -1
  668. package/extensions/forms/hooks/useDataValue.js +74 -19
  669. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  670. package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  671. package/extensions/forms/hooks/useErrorMessage.js +15 -0
  672. package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  673. package/extensions/forms/index.d.ts +1 -0
  674. package/extensions/forms/index.js +1 -0
  675. package/extensions/forms/index.js.map +1 -1
  676. package/extensions/forms/style/dnb-forms.css +34 -5
  677. package/extensions/forms/style/dnb-forms.min.css +1 -1
  678. package/extensions/forms/types.d.ts +22 -7
  679. package/extensions/forms/types.js.map +1 -1
  680. package/extensions/forms/utils/ajv.d.ts +47 -6
  681. package/extensions/forms/utils/ajv.js +23 -15
  682. package/extensions/forms/utils/ajv.js.map +1 -1
  683. package/extensions/forms/utils/index.d.ts +0 -1
  684. package/extensions/forms/utils/index.js +0 -1
  685. package/extensions/forms/utils/index.js.map +1 -1
  686. package/package.json +1 -1
  687. package/shared/Eufemia.d.ts +1 -1
  688. package/shared/Eufemia.js +2 -2
  689. package/shared/Eufemia.js.map +1 -1
  690. package/shared/component-helper.js +0 -3
  691. package/shared/component-helper.js.map +1 -1
  692. package/shared/helpers/useSharedState.d.ts +28 -7
  693. package/shared/helpers/useSharedState.js +62 -43
  694. package/shared/helpers/useSharedState.js.map +1 -1
  695. package/shared/locales/en-GB.d.ts +1 -0
  696. package/shared/locales/en-GB.js +1 -0
  697. package/shared/locales/en-GB.js.map +1 -1
  698. package/shared/locales/en-US.d.ts +1 -0
  699. package/shared/locales/index.d.ts +2 -0
  700. package/shared/locales/nb-NO.d.ts +1 -0
  701. package/shared/locales/nb-NO.js +1 -0
  702. package/shared/locales/nb-NO.js.map +1 -1
  703. package/style/core/utilities.scss +1 -1
  704. package/style/dnb-ui-components.css +94 -52
  705. package/style/dnb-ui-components.min.css +3 -3
  706. package/style/dnb-ui-extensions.css +34 -5
  707. package/style/dnb-ui-extensions.min.css +1 -1
  708. package/style/dnb-ui-forms.css +34 -5
  709. package/style/dnb-ui-forms.min.css +1 -1
  710. package/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  711. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  712. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  713. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  714. package/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  715. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  716. package/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  717. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  718. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  719. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  720. package/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  721. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  722. package/style/themes/theme-ui/ui-theme-components.css +129 -79
  723. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  724. package/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  725. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  726. package/style/themes/theme-ui/ui-theme-forms.css +34 -5
  727. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  728. package/umd/dnb-ui-basis.min.js +1 -1
  729. package/umd/dnb-ui-components.min.js +1 -1
  730. package/umd/dnb-ui-elements.min.js +1 -1
  731. package/umd/dnb-ui-extensions.min.js +3 -3
  732. package/umd/dnb-ui-lib.min.js +1 -1
  733. package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
  734. package/cjs/components/global-status/AnimationHelper.js +0 -109
  735. package/cjs/components/global-status/AnimationHelper.js.map +0 -1
  736. package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
  737. package/cjs/extensions/forms/Form/hooks/useData.js +0 -39
  738. package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
  739. package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
  740. package/cjs/extensions/forms/utils/numbers.js +0 -42
  741. package/cjs/extensions/forms/utils/numbers.js.map +0 -1
  742. package/components/global-status/AnimationHelper.d.ts +0 -12
  743. package/components/global-status/AnimationHelper.js +0 -100
  744. package/components/global-status/AnimationHelper.js.map +0 -1
  745. package/es/components/global-status/AnimationHelper.d.ts +0 -12
  746. package/es/components/global-status/AnimationHelper.js +0 -100
  747. package/es/components/global-status/AnimationHelper.js.map +0 -1
  748. package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
  749. package/es/extensions/forms/Form/hooks/useData.js +0 -32
  750. package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
  751. package/es/extensions/forms/utils/numbers.d.ts +0 -17
  752. package/es/extensions/forms/utils/numbers.js +0 -35
  753. package/es/extensions/forms/utils/numbers.js.map +0 -1
  754. package/extensions/forms/Form/hooks/useData.d.ts +0 -10
  755. package/extensions/forms/Form/hooks/useData.js +0 -33
  756. package/extensions/forms/Form/hooks/useData.js.map +0 -1
  757. package/extensions/forms/utils/numbers.d.ts +0 -17
  758. package/extensions/forms/utils/numbers.js +0 -35
  759. package/extensions/forms/utils/numbers.js.map +0 -1
@@ -2,60 +2,64 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["className", "id", "mode", "scrollTopOnStepChange", "initialActiveIndex", "onStepChange", "children"];
5
+ const _excluded = ["className", "id", "mode", "scrollTopOnStepChange", "initialActiveIndex", "onStepChange", "children", "noAnimation", "variant", "sidebarId"];
6
6
  import React, { useContext, useState, useCallback } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { Space, StepIndicator } from '../../../components';
9
- import { makeUniqueId } from '../../../shared/component-helper';
9
+ import { warn } from '../../../shared/component-helper';
10
10
  import DataContext from '../DataContext/Context';
11
11
  import Step from './Step';
12
12
  import StepsContext from './StepsContext';
13
13
  import NextButton from './NextButton';
14
14
  import PreviousButton from './PreviousButton';
15
15
  import Buttons from './Buttons';
16
+ import Provider from '../DataContext/Provider';
17
+ import useId from '../hooks/useId';
16
18
  function StepsLayout(props) {
17
19
  const {
18
20
  className,
19
- id = makeUniqueId(),
21
+ id: _id,
20
22
  mode = 'strict',
21
23
  scrollTopOnStepChange,
22
24
  initialActiveIndex = 0,
23
25
  onStepChange,
24
- children
26
+ children,
27
+ noAnimation = true,
28
+ variant = 'sidebar',
29
+ sidebarId
25
30
  } = props,
26
31
  rest = _objectWithoutProperties(props, _excluded);
27
32
  const dataContext = useContext(DataContext);
33
+ const {
34
+ hasContext,
35
+ hasErrors,
36
+ setShowAllErrors,
37
+ scrollToTop
38
+ } = dataContext;
28
39
  const [activeIndex, setActiveIndex] = useState(initialActiveIndex);
40
+ const id = useId(_id);
29
41
  const handlePrevious = useCallback(() => {
30
42
  setActiveIndex(activeIndex => {
31
43
  onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(activeIndex - 1);
32
44
  return activeIndex - 1;
33
45
  });
34
46
  if (scrollTopOnStepChange) {
35
- var _window;
36
- (_window = window) === null || _window === void 0 ? void 0 : _window.scrollTo({
37
- top: 0,
38
- behavior: 'smooth'
39
- });
47
+ scrollToTop();
40
48
  }
41
- }, [scrollTopOnStepChange, onStepChange]);
49
+ }, [scrollTopOnStepChange, onStepChange, scrollToTop]);
42
50
  const handleNext = useCallback(() => {
43
- if (!dataContext.hasErrors()) {
51
+ if (!hasErrors()) {
44
52
  setActiveIndex(activeIndex => {
45
53
  onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(activeIndex + 1);
46
54
  return activeIndex + 1;
47
55
  });
48
56
  if (scrollTopOnStepChange) {
49
- var _window2;
50
- (_window2 = window) === null || _window2 === void 0 ? void 0 : _window2.scrollTo({
51
- top: 0,
52
- behavior: 'smooth'
53
- });
57
+ scrollToTop();
54
58
  }
55
59
  } else {
56
- dataContext.setShowAllErrors(true);
60
+ setShowAllErrors(true);
57
61
  }
58
- }, [dataContext, scrollTopOnStepChange, onStepChange]);
62
+ }, [hasErrors, scrollTopOnStepChange, onStepChange, scrollToTop, setShowAllErrors]);
59
63
  const stepIndicatorData = React.Children.map(children, child => {
60
64
  var _child$props$title;
61
65
  if (!React.isValidElement(child) || child.type !== Step) {
@@ -69,6 +73,12 @@ function StepsLayout(props) {
69
73
  } = _ref;
70
74
  setActiveIndex(current_step);
71
75
  }, []);
76
+ if (!hasContext) {
77
+ warn('You may wrap StepsLayout in Form.Handler');
78
+ return React.createElement(Provider, null, React.createElement(StepsLayout, _extends({}, props, {
79
+ id: id
80
+ })));
81
+ }
72
82
  return React.createElement(StepsContext.Provider, {
73
83
  value: {
74
84
  activeIndex,
@@ -76,7 +86,7 @@ function StepsLayout(props) {
76
86
  handleNext
77
87
  }
78
88
  }, React.createElement(Space, _extends({
79
- className: classnames('dnb-forms-steps-layout', className)
89
+ className: classnames('dnb-forms-steps-layout', className, variant === 'drawer' && 'dnb-forms-steps-layout--drawer')
80
90
  }, rest), React.createElement("aside", {
81
91
  className: "dnb-forms-steps-layout__sidebar"
82
92
  }, React.createElement(StepIndicator.Sidebar, {
@@ -86,10 +96,9 @@ function StepsLayout(props) {
86
96
  current_step: activeIndex,
87
97
  data: stepIndicatorData,
88
98
  mode: mode,
89
- no_animation: true,
99
+ no_animation: noAnimation,
90
100
  on_change: handleChange,
91
- sidebar_id: id,
92
- title: ""
101
+ sidebar_id: variant === 'drawer' && !sidebarId ? '' : sidebarId ? sidebarId : id
93
102
  })), React.createElement("div", {
94
103
  className: "dnb-forms-steps-layout__contents"
95
104
  }, React.Children.map(children, (child, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"StepsLayout.js","names":["React","useContext","useState","useCallback","classnames","Space","StepIndicator","makeUniqueId","DataContext","Step","StepsContext","NextButton","PreviousButton","Buttons","StepsLayout","props","className","id","mode","scrollTopOnStepChange","initialActiveIndex","onStepChange","children","rest","_objectWithoutProperties","_excluded","dataContext","activeIndex","setActiveIndex","handlePrevious","_window","window","scrollTo","top","behavior","handleNext","hasErrors","_window2","setShowAllErrors","stepIndicatorData","Children","map","child","_child$props$title","isValidElement","type","Error","title","handleChange","_ref","current_step","createElement","Provider","value","_extends","Sidebar","sidebar_id","bottom","data","no_animation","on_change","i","cloneElement","index","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayout.tsx"],"sourcesContent":["import React, { useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../components'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport { ComponentProps } from '../types'\nimport DataContext from '../DataContext/Context'\nimport Step, { Props as StepProps } from './Step'\nimport StepsContext from './StepsContext'\nimport NextButton from './NextButton'\nimport PreviousButton from './PreviousButton'\nimport Buttons from './Buttons'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n scrollTopOnStepChange?: boolean\n initialActiveIndex?: number\n onStepChange?: (index: number) => void\n children: React.ReactNode\n}\n\nfunction StepsLayout(props: Props) {\n const {\n className,\n id = makeUniqueId(),\n mode = 'strict',\n scrollTopOnStepChange,\n initialActiveIndex = 0,\n onStepChange,\n children,\n ...rest\n } = props\n const dataContext = useContext(DataContext)\n const [activeIndex, setActiveIndex] =\n useState<number>(initialActiveIndex)\n\n const handlePrevious = useCallback(() => {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex - 1)\n return activeIndex - 1\n })\n if (scrollTopOnStepChange) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }, [scrollTopOnStepChange, onStepChange])\n\n const handleNext = useCallback(() => {\n if (!dataContext.hasErrors()) {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex + 1)\n return activeIndex + 1\n })\n if (scrollTopOnStepChange) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n dataContext.setShowAllErrors(true)\n }\n }, [dataContext, scrollTopOnStepChange, onStepChange])\n\n const stepIndicatorData = React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== Step) {\n throw new Error('Only Step can be children of StepsLayout')\n }\n return child.props.title ?? 'Title missing'\n }) as string[]\n\n const handleChange = useCallback(({ current_step }) => {\n setActiveIndex(current_step)\n }, [])\n\n return (\n <StepsContext.Provider\n value={{\n activeIndex,\n handlePrevious,\n handleNext,\n }}\n >\n <Space\n className={classnames('dnb-forms-steps-layout', className)}\n {...rest}\n >\n <aside className=\"dnb-forms-steps-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndex}\n data={stepIndicatorData}\n mode={mode}\n no_animation\n on_change={handleChange}\n sidebar_id={id}\n title=\"\"\n />\n </aside>\n <div className=\"dnb-forms-steps-layout__contents\">\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child) && child.type === Step) {\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n return child\n })}\n </div>\n </Space>\n </StepsContext.Provider>\n )\n}\n\nStepsLayout._supportsSpacingProps = true\n\nStepsLayout.Step = Step\nStepsLayout.NextButton = NextButton\nStepsLayout.PreviousButton = PreviousButton\nStepsLayout.Buttons = Buttons\n\nexport default StepsLayout\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepsLayout.js","names":["React","useContext","useState","useCallback","classnames","Space","StepIndicator","warn","DataContext","Step","StepsContext","NextButton","PreviousButton","Buttons","Provider","useId","StepsLayout","props","className","id","_id","mode","scrollTopOnStepChange","initialActiveIndex","onStepChange","children","noAnimation","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","hasErrors","setShowAllErrors","scrollToTop","activeIndex","setActiveIndex","handlePrevious","handleNext","stepIndicatorData","Children","map","child","_child$props$title","isValidElement","type","Error","title","handleChange","_ref","current_step","createElement","_extends","value","Sidebar","sidebar_id","bottom","data","no_animation","on_change","i","cloneElement","index","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayout.tsx"],"sourcesContent":["import React, { useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../components'\nimport { warn } from '../../../shared/component-helper'\nimport { ComponentProps } from '../types'\nimport DataContext from '../DataContext/Context'\nimport Step, { Props as StepProps } from './Step'\nimport StepsContext from './StepsContext'\nimport NextButton from './NextButton'\nimport PreviousButton from './PreviousButton'\nimport Buttons from './Buttons'\nimport Provider from '../DataContext/Provider'\nimport useId from '../hooks/useId'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n scrollTopOnStepChange?: boolean\n initialActiveIndex?: number\n onStepChange?: (index: number) => void\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\n}\n\nfunction StepsLayout(props: Props) {\n const {\n className,\n id: _id,\n mode = 'strict',\n scrollTopOnStepChange,\n initialActiveIndex = 0,\n onStepChange,\n children,\n noAnimation = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n const dataContext = useContext(DataContext)\n const { hasContext, hasErrors, setShowAllErrors, scrollToTop } =\n dataContext\n\n const [activeIndex, setActiveIndex] =\n useState<number>(initialActiveIndex)\n\n const id = useId(_id)\n\n const handlePrevious = useCallback(() => {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex - 1)\n return activeIndex - 1\n })\n if (scrollTopOnStepChange) {\n scrollToTop()\n }\n }, [scrollTopOnStepChange, onStepChange, scrollToTop])\n\n const handleNext = useCallback(() => {\n if (!hasErrors()) {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex + 1)\n return activeIndex + 1\n })\n if (scrollTopOnStepChange) {\n scrollToTop()\n }\n } else {\n setShowAllErrors(true)\n }\n }, [\n hasErrors,\n scrollTopOnStepChange,\n onStepChange,\n scrollToTop,\n setShowAllErrors,\n ])\n\n const stepIndicatorData = React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== Step) {\n throw new Error('Only Step can be children of StepsLayout')\n }\n return child.props.title ?? 'Title missing'\n }) as string[]\n\n const handleChange = useCallback(({ current_step }) => {\n setActiveIndex(current_step)\n }, [])\n\n if (!hasContext) {\n warn('You may wrap StepsLayout in Form.Handler')\n return (\n <Provider>\n <StepsLayout {...props} id={id} />\n </Provider>\n )\n }\n\n return (\n <StepsContext.Provider\n value={{\n activeIndex,\n handlePrevious,\n handleNext,\n }}\n >\n <Space\n className={classnames(\n 'dnb-forms-steps-layout',\n variant === 'drawer' && 'dnb-forms-steps-layout--drawer',\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-steps-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndex}\n data={stepIndicatorData}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n <div className=\"dnb-forms-steps-layout__contents\">\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child) && child.type === Step) {\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n return child\n })}\n </div>\n </Space>\n </StepsContext.Provider>\n )\n}\n\nStepsLayout._supportsSpacingProps = true\n\nStepsLayout.Step = Step\nStepsLayout.NextButton = NextButton\nStepsLayout.PreviousButton = PreviousButton\nStepsLayout.Buttons = Buttons\n\nexport default StepsLayout\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AAChE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,KAAK,EAAEC,aAAa,QAAQ,qBAAqB;AAC1D,SAASC,IAAI,QAAQ,kCAAkC;AAEvD,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,IAAI,MAA8B,QAAQ;AACjD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,OAAOC,KAAK,MAAM,gBAAgB;AAclC,SAASC,WAAWA,CAACC,KAAY,EAAE;EACjC,MAAM;MACJC,SAAS;MACTC,EAAE,EAAEC,GAAG;MACPC,IAAI,GAAG,QAAQ;MACfC,qBAAqB;MACrBC,kBAAkB,GAAG,CAAC;MACtBC,YAAY;MACZC,QAAQ;MACRC,WAAW,GAAG,IAAI;MAClBC,OAAO,GAAG,SAAS;MACnBC;IAEF,CAAC,GAAGX,KAAK;IADJY,IAAI,GAAAC,wBAAA,CACLb,KAAK,EAAAc,SAAA;EACT,MAAMC,WAAW,GAAG/B,UAAU,CAACO,WAAW,CAAC;EAC3C,MAAM;IAAEyB,UAAU;IAAEC,SAAS;IAAEC,gBAAgB;IAAEC;EAAY,CAAC,GAC5DJ,WAAW;EAEb,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GACjCpC,QAAQ,CAASqB,kBAAkB,CAAC;EAEtC,MAAMJ,EAAE,GAAGJ,KAAK,CAACK,GAAG,CAAC;EAErB,MAAMmB,cAAc,GAAGpC,WAAW,CAAC,MAAM;IACvCmC,cAAc,CAAED,WAAW,IAAK;MAC9Bb,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGa,WAAW,GAAG,CAAC,CAAC;MAC/B,OAAOA,WAAW,GAAG,CAAC;IACxB,CAAC,CAAC;IACF,IAAIf,qBAAqB,EAAE;MACzBc,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACd,qBAAqB,EAAEE,YAAY,EAAEY,WAAW,CAAC,CAAC;EAEtD,MAAMI,UAAU,GAAGrC,WAAW,CAAC,MAAM;IACnC,IAAI,CAAC+B,SAAS,CAAC,CAAC,EAAE;MAChBI,cAAc,CAAED,WAAW,IAAK;QAC9Bb,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGa,WAAW,GAAG,CAAC,CAAC;QAC/B,OAAOA,WAAW,GAAG,CAAC;MACxB,CAAC,CAAC;MACF,IAAIf,qBAAqB,EAAE;QACzBc,WAAW,CAAC,CAAC;MACf;IACF,CAAC,MAAM;MACLD,gBAAgB,CAAC,IAAI,CAAC;IACxB;EACF,CAAC,EAAE,CACDD,SAAS,EACTZ,qBAAqB,EACrBE,YAAY,EACZY,WAAW,EACXD,gBAAgB,CACjB,CAAC;EAEF,MAAMM,iBAAiB,GAAGzC,KAAK,CAAC0C,QAAQ,CAACC,GAAG,CAAClB,QAAQ,EAAGmB,KAAK,IAAK;IAAA,IAAAC,kBAAA;IAChE,IAAI,CAAC7C,KAAK,CAAC8C,cAAc,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACG,IAAI,KAAKtC,IAAI,EAAE;MACvD,MAAM,IAAIuC,KAAK,CAAC,0CAA0C,CAAC;IAC7D;IACA,QAAAH,kBAAA,GAAOD,KAAK,CAAC3B,KAAK,CAACgC,KAAK,cAAAJ,kBAAA,cAAAA,kBAAA,GAAI,eAAe;EAC7C,CAAC,CAAa;EAEd,MAAMK,YAAY,GAAG/C,WAAW,CAACgD,IAAA,IAAsB;IAAA,IAArB;MAAEC;IAAa,CAAC,GAAAD,IAAA;IAChDb,cAAc,CAACc,YAAY,CAAC;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACnB,UAAU,EAAE;IACf1B,IAAI,CAAC,0CAA0C,CAAC;IAChD,OACEP,KAAA,CAAAqD,aAAA,CAACvC,QAAQ,QACPd,KAAA,CAAAqD,aAAA,CAACrC,WAAW,EAAAsC,QAAA,KAAKrC,KAAK;MAAEE,EAAE,EAAEA;IAAG,EAAE,CACzB,CAAC;EAEf;EAEA,OACEnB,KAAA,CAAAqD,aAAA,CAAC3C,YAAY,CAACI,QAAQ;IACpByC,KAAK,EAAE;MACLlB,WAAW;MACXE,cAAc;MACdC;IACF;EAAE,GAEFxC,KAAA,CAAAqD,aAAA,CAAChD,KAAK,EAAAiD,QAAA;IACJpC,SAAS,EAAEd,UAAU,CACnB,wBAAwB,EAExBc,SAAS,EADTS,OAAO,KAAK,QAAQ,IAAI,gCAE1B;EAAE,GACEE,IAAI,GAER7B,KAAA,CAAAqD,aAAA;IAAOnC,SAAS,EAAC;EAAiC,GAChDlB,KAAA,CAAAqD,aAAA,CAAC/C,aAAa,CAACkD,OAAO;IAACC,UAAU,EAAEtC;EAAG,CAAE,CAAC,EACzCnB,KAAA,CAAAqD,aAAA,CAAC/C,aAAa;IACZoD,MAAM;IACNN,YAAY,EAAEf,WAAY;IAC1BsB,IAAI,EAAElB,iBAAkB;IACxBpB,IAAI,EAAEA,IAAK;IACXuC,YAAY,EAAElC,WAAY;IAC1BmC,SAAS,EAAEX,YAAa;IACxBO,UAAU,EACR9B,OAAO,KAAK,QAAQ,IAAI,CAACC,SAAS,GAC9B,EAAE,GACFA,SAAS,GACTA,SAAS,GACTT;EACL,CACF,CACI,CAAC,EACRnB,KAAA,CAAAqD,aAAA;IAAKnC,SAAS,EAAC;EAAkC,GAC9ClB,KAAK,CAAC0C,QAAQ,CAACC,GAAG,CAAClB,QAAQ,EAAE,CAACmB,KAAK,EAAEkB,CAAC,KAAK;IAC1C,IAAI9D,KAAK,CAAC8C,cAAc,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACG,IAAI,KAAKtC,IAAI,EAAE;MACtD,OAAOT,KAAK,CAAC+D,YAAY,CACvBnB,KAAK,EACL;QACEoB,KAAK,EAAEF;MACT,CACF,CAAC;IACH;IACA,OAAOlB,KAAK;EACd,CAAC,CACE,CACA,CACc,CAAC;AAE5B;AAEA5B,WAAW,CAACiD,qBAAqB,GAAG,IAAI;AAExCjD,WAAW,CAACP,IAAI,GAAGA,IAAI;AACvBO,WAAW,CAACL,UAAU,GAAGA,UAAU;AACnCK,WAAW,CAACJ,cAAc,GAAGA,cAAc;AAC3CI,WAAW,CAACH,OAAO,GAAGA,OAAO;AAE7B,eAAeG,WAAW"}
@@ -7,8 +7,14 @@
7
7
  -moz-column-gap: var(--spacing-medium);
8
8
  column-gap: var(--spacing-medium);
9
9
  }
10
+ .dnb-forms-steps-layout--drawer {
11
+ flex-direction: column;
12
+ justify-content: stretch;
13
+ align-items: stretch;
14
+ }
10
15
  .dnb-forms-steps-layout__sidebar {
11
16
  flex: 0;
17
+ margin-bottom: 2rem;
12
18
  }
13
19
  .dnb-forms-steps-layout__contents {
14
20
  flex: 1 0 25rem;
@@ -1 +1 @@
1
- .dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout__sidebar{flex:0}.dnb-forms-steps-layout__contents{flex:1 0 25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}@media screen and (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__contents{flex-basis:auto}}.dnb-forms-steps-layout .dnb-step-indicator__sidebar{margin-right:0}
1
+ .dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-steps-layout__contents{flex:1 0 25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}@media screen and (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__contents{flex-basis:auto}}.dnb-forms-steps-layout .dnb-step-indicator__sidebar{margin-right:0}
@@ -5,8 +5,15 @@
5
5
  flex-flow: row wrap;
6
6
  column-gap: var(--spacing-medium);
7
7
 
8
+ &--drawer {
9
+ flex-direction: column;
10
+ justify-content: stretch;
11
+ align-items: stretch;
12
+ }
13
+
8
14
  &__sidebar {
9
15
  flex: 0;
16
+ margin-bottom: 2rem;
10
17
  }
11
18
 
12
19
  &__contents {
@@ -4,11 +4,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
  import React from 'react';
5
5
  import NumberValue from '../Number';
6
6
  function Currency(props) {
7
- var _props$thousandSepara, _props$suffix;
7
+ var _props$currency;
8
8
  const numberProps = _objectSpread(_objectSpread({}, props), {}, {
9
9
  label: props.label,
10
- thousandSeparator: (_props$thousandSepara = props.thousandSeparator) !== null && _props$thousandSepara !== void 0 ? _props$thousandSepara : ' ',
11
- suffix: (_props$suffix = props.suffix) !== null && _props$suffix !== void 0 ? _props$suffix : ' kr'
10
+ currency: (_props$currency = props.currency) !== null && _props$currency !== void 0 ? _props$currency : true
12
11
  });
13
12
  return React.createElement(NumberValue, numberProps);
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Currency.js","names":["React","NumberValue","Currency","props","_props$thousandSepara","_props$suffix","numberProps","_objectSpread","label","thousandSeparator","suffix","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Currency/Currency.tsx"],"sourcesContent":["import React from 'react'\nimport NumberValue, { Props as NumberValueProps } from '../Number'\n\nexport type Props = NumberValueProps\n\nfunction Currency(props: Props) {\n const numberProps: Props = {\n ...props,\n label: props.label,\n thousandSeparator: props.thousandSeparator ?? ' ',\n suffix: props.suffix ?? ' kr',\n }\n return <NumberValue {...numberProps} />\n}\n\nCurrency._supportsSpacingProps = true\nexport default Currency\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAqC,WAAW;AAIlE,SAASC,QAAQA,CAACC,KAAY,EAAE;EAAA,IAAAC,qBAAA,EAAAC,aAAA;EAC9B,MAAMC,WAAkB,GAAAC,aAAA,CAAAA,aAAA,KACnBJ,KAAK;IACRK,KAAK,EAAEL,KAAK,CAACK,KAAK;IAClBC,iBAAiB,GAAAL,qBAAA,GAAED,KAAK,CAACM,iBAAiB,cAAAL,qBAAA,cAAAA,qBAAA,GAAI,GAAG;IACjDM,MAAM,GAAAL,aAAA,GAAEF,KAAK,CAACO,MAAM,cAAAL,aAAA,cAAAA,aAAA,GAAI;EAAK,EAC9B;EACD,OAAOL,KAAA,CAAAW,aAAA,CAACV,WAAW,EAAKK,WAAc,CAAC;AACzC;AAEAJ,QAAQ,CAACU,qBAAqB,GAAG,IAAI;AACrC,eAAeV,QAAQ"}
1
+ {"version":3,"file":"Currency.js","names":["React","NumberValue","Currency","props","_props$currency","numberProps","_objectSpread","label","currency","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Currency/Currency.tsx"],"sourcesContent":["import React from 'react'\nimport NumberValue, { Props as NumberValueProps } from '../Number'\n\nexport type Props = NumberValueProps\n\nfunction Currency(props: Props) {\n const numberProps: Props = {\n ...props,\n label: props.label,\n currency: props.currency ?? true,\n }\n\n return <NumberValue {...numberProps} />\n}\n\nCurrency._supportsSpacingProps = true\nexport default Currency\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAqC,WAAW;AAIlE,SAASC,QAAQA,CAACC,KAAY,EAAE;EAAA,IAAAC,eAAA;EAC9B,MAAMC,WAAkB,GAAAC,aAAA,CAAAA,aAAA,KACnBH,KAAK;IACRI,KAAK,EAAEJ,KAAK,CAACI,KAAK;IAClBC,QAAQ,GAAAJ,eAAA,GAAED,KAAK,CAACK,QAAQ,cAAAJ,eAAA,cAAAA,eAAA,GAAI;EAAI,EACjC;EAED,OAAOJ,KAAA,CAAAS,aAAA,CAACR,WAAW,EAAKI,WAAc,CAAC;AACzC;AAEAH,QAAQ,CAACQ,qBAAqB,GAAG,IAAI;AACrC,eAAeR,QAAQ"}
@@ -1,13 +1,9 @@
1
1
  import { ValueProps } from '../../types';
2
- export type Props = ValueProps<number> & {
3
- thousandSeparator?: string | true;
4
- decimalSymbol?: string;
5
- decimalLimit?: number;
6
- prefix?: string;
7
- suffix?: string;
8
- };
9
- declare function NumberComponent(props: Props): import("react/jsx-runtime").JSX.Element;
10
- declare namespace NumberComponent {
2
+ import { NumberFormatProps } from '../../../../components/NumberFormat';
3
+ import { ToCamelCase } from '../../../../shared/helpers/withCamelCaseProps';
4
+ export type Props = ValueProps<number> & ToCamelCase<NumberFormatProps>;
5
+ declare function NumberValue(props: Props): import("react/jsx-runtime").JSX.Element;
6
+ declare namespace NumberValue {
11
7
  var _supportsSpacingProps: boolean;
12
8
  }
13
- export default NumberComponent;
9
+ export default NumberValue;
@@ -1,37 +1,32 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ const _excluded = ["className", "label", "placeholder", "inline", "showEmpty"];
2
4
  import React from 'react';
3
- import { formatNumber } from '../../utils';
5
+ import classnames from 'classnames';
4
6
  import ValueBlock from '../../ValueBlock';
5
- import { useDataValue } from '../../hooks';
6
- import { pickSpacingProps } from '../../../../components/flex/utils';
7
- function NumberComponent(props) {
8
- const {
9
- className,
10
- label,
11
- placeholder,
12
- value,
13
- inline,
14
- showEmpty,
15
- thousandSeparator,
16
- decimalSymbol,
17
- decimalLimit,
18
- prefix,
19
- suffix
20
- } = useDataValue(props);
7
+ import useDataValue, { omitDataValueProps } from '../../hooks/useDataValue';
8
+ import { omitSpacingProps, pickSpacingProps } from '../../../../components/flex/utils';
9
+ import NumberFormat from '../../../../components/NumberFormat';
10
+ import { convertCamelCaseProps } from '../../../../shared/helpers/withCamelCaseProps';
11
+ function NumberValue(props) {
12
+ const _useDataValue = useDataValue(props),
13
+ {
14
+ className,
15
+ label,
16
+ placeholder,
17
+ inline,
18
+ showEmpty
19
+ } = _useDataValue,
20
+ rest = _objectWithoutProperties(_useDataValue, _excluded);
21
+ const numberFormatProps = convertCamelCaseProps(omitSpacingProps(omitDataValueProps(rest)));
21
22
  return React.createElement(ValueBlock, _extends({
22
- className: className,
23
+ className: classnames('dnb-forms-value-number', className),
23
24
  label: label,
24
25
  showEmpty: showEmpty,
25
26
  placeholder: placeholder,
26
27
  inline: inline
27
- }, pickSpacingProps(props)), value !== undefined ? formatNumber(value, {
28
- thousandSeparator: thousandSeparator === true ? ' ' : thousandSeparator,
29
- decimalSymbol,
30
- decimalLimit,
31
- prefix,
32
- suffix
33
- }) : null);
28
+ }, pickSpacingProps(rest)), rest.value && React.createElement(NumberFormat, numberFormatProps));
34
29
  }
35
- NumberComponent._supportsSpacingProps = true;
36
- export default NumberComponent;
30
+ NumberValue._supportsSpacingProps = true;
31
+ export default NumberValue;
37
32
  //# sourceMappingURL=Number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["React","formatNumber","ValueBlock","useDataValue","pickSpacingProps","NumberComponent","props","className","label","placeholder","value","inline","showEmpty","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","createElement","_extends","undefined","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Number/Number.tsx"],"sourcesContent":["import React from 'react'\nimport { formatNumber } from '../../utils'\nimport ValueBlock from '../../ValueBlock'\nimport { useDataValue } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\nexport type Props = ValueProps<number> & {\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n}\n\nfunction NumberComponent(props: Props) {\n const {\n className,\n label,\n placeholder,\n value,\n inline,\n showEmpty,\n thousandSeparator,\n decimalSymbol,\n decimalLimit,\n prefix,\n suffix,\n } = useDataValue(props)\n\n return (\n <ValueBlock\n className={className}\n label={label}\n showEmpty={showEmpty}\n placeholder={placeholder}\n inline={inline}\n {...pickSpacingProps(props)}\n >\n {value !== undefined\n ? formatNumber(value, {\n thousandSeparator:\n thousandSeparator === true ? ' ' : thousandSeparator,\n decimalSymbol,\n decimalLimit,\n prefix,\n suffix,\n })\n : null}\n </ValueBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,aAAa;AAC1C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,YAAY,QAAQ,aAAa;AAE1C,SAASC,gBAAgB,QAAQ,mCAAmC;AAWpE,SAASC,eAAeA,CAACC,KAAY,EAAE;EACrC,MAAM;IACJC,SAAS;IACTC,KAAK;IACLC,WAAW;IACXC,KAAK;IACLC,MAAM;IACNC,SAAS;IACTC,iBAAiB;IACjBC,aAAa;IACbC,YAAY;IACZC,MAAM;IACNC;EACF,CAAC,GAAGd,YAAY,CAACG,KAAK,CAAC;EAEvB,OACEN,KAAA,CAAAkB,aAAA,CAAChB,UAAU,EAAAiB,QAAA;IACTZ,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbI,SAAS,EAAEA,SAAU;IACrBH,WAAW,EAAEA,WAAY;IACzBE,MAAM,EAAEA;EAAO,GACXP,gBAAgB,CAACE,KAAK,CAAC,GAE1BI,KAAK,KAAKU,SAAS,GAChBnB,YAAY,CAACS,KAAK,EAAE;IAClBG,iBAAiB,EACfA,iBAAiB,KAAK,IAAI,GAAG,GAAG,GAAGA,iBAAiB;IACtDC,aAAa;IACbC,YAAY;IACZC,MAAM;IACNC;EACF,CAAC,CAAC,GACF,IACM,CAAC;AAEjB;AAEAZ,eAAe,CAACgB,qBAAqB,GAAG,IAAI;AAC5C,eAAehB,eAAe"}
1
+ {"version":3,"file":"Number.js","names":["React","classnames","ValueBlock","useDataValue","omitDataValueProps","omitSpacingProps","pickSpacingProps","NumberFormat","convertCamelCaseProps","NumberValue","props","_useDataValue","className","label","placeholder","inline","showEmpty","rest","_objectWithoutProperties","_excluded","numberFormatProps","createElement","_extends","value","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Number/Number.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport useDataValue, { omitDataValueProps } from '../../hooks/useDataValue'\nimport { ValueProps } from '../../types'\nimport {\n omitSpacingProps,\n pickSpacingProps,\n} from '../../../../components/flex/utils'\nimport NumberFormat, {\n NumberFormatProps,\n} from '../../../../components/NumberFormat'\nimport {\n ToCamelCase,\n convertCamelCaseProps,\n} from '../../../../shared/helpers/withCamelCaseProps'\n\nexport type Props = ValueProps<number> & ToCamelCase<NumberFormatProps>\n\nfunction NumberValue(props: Props) {\n const { className, label, placeholder, inline, showEmpty, ...rest } =\n useDataValue(props)\n\n const numberFormatProps = convertCamelCaseProps(\n omitSpacingProps(omitDataValueProps(rest)) as NumberFormatProps\n )\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-number', className)}\n label={label}\n showEmpty={showEmpty}\n placeholder={placeholder}\n inline={inline}\n {...pickSpacingProps(rest)}\n >\n {rest.value && <NumberFormat {...numberFormatProps} />}\n </ValueBlock>\n )\n}\n\nNumberValue._supportsSpacingProps = true\nexport default NumberValue\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,YAAY,IAAIC,kBAAkB,QAAQ,0BAA0B;AAE3E,SACEC,gBAAgB,EAChBC,gBAAgB,QACX,mCAAmC;AAC1C,OAAOC,YAAY,MAEZ,qCAAqC;AAC5C,SAEEC,qBAAqB,QAChB,+CAA+C;AAItD,SAASC,WAAWA,CAACC,KAAY,EAAE;EACjC,MAAAC,aAAA,GACER,YAAY,CAACO,KAAK,CAAC;IADf;MAAEE,SAAS;MAAEC,KAAK;MAAEC,WAAW;MAAEC,MAAM;MAAEC;IAAmB,CAAC,GAAAL,aAAA;IAANM,IAAI,GAAAC,wBAAA,CAAAP,aAAA,EAAAQ,SAAA;EAGjE,MAAMC,iBAAiB,GAAGZ,qBAAqB,CAC7CH,gBAAgB,CAACD,kBAAkB,CAACa,IAAI,CAAC,CAC3C,CAAC;EAED,OACEjB,KAAA,CAAAqB,aAAA,CAACnB,UAAU,EAAAoB,QAAA;IACTV,SAAS,EAAEX,UAAU,CAAC,wBAAwB,EAAEW,SAAS,CAAE;IAC3DC,KAAK,EAAEA,KAAM;IACbG,SAAS,EAAEA,SAAU;IACrBF,WAAW,EAAEA,WAAY;IACzBC,MAAM,EAAEA;EAAO,GACXT,gBAAgB,CAACW,IAAI,CAAC,GAEzBA,IAAI,CAACM,KAAK,IAAIvB,KAAA,CAAAqB,aAAA,CAACd,YAAY,EAAKa,iBAAoB,CAC3C,CAAC;AAEjB;AAEAX,WAAW,CAACe,qBAAqB,GAAG,IAAI;AACxC,eAAef,WAAW"}
@@ -10,11 +10,13 @@ import { format, cleanNumber } from '../../../../components/number-format/Number
10
10
  function PhoneNumber(props) {
11
11
  var _props$label;
12
12
  const sharedContext = useContext(SharedContext);
13
+ const label = (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : props.inline ? undefined : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.phoneNumberLabel;
14
+ const prepare = value => format(cleanNumber(value), {
15
+ phone: true
16
+ }).toString();
13
17
  const stringValueProps = _objectSpread(_objectSpread({}, props), {}, {
14
- label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : props.inline ? undefined : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.phoneNumberLabel,
15
- prepare: value => format(cleanNumber(value), {
16
- phone: true
17
- }).toString()
18
+ label,
19
+ prepare
18
20
  });
19
21
  return React.createElement(StringValue, stringValueProps);
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","names":["React","useContext","StringValue","SharedContext","format","cleanNumber","PhoneNumber","props","_props$label","sharedContext","stringValueProps","_objectSpread","label","inline","undefined","translation","Forms","phoneNumberLabel","prepare","value","phone","toString","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringValue, { Props as StringValueProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\nimport {\n format,\n cleanNumber,\n} from '../../../../components/number-format/NumberUtils'\n\nexport type Props = StringValueProps\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const stringValueProps: Props = {\n ...props,\n label:\n props.label ??\n (props.inline\n ? undefined\n : sharedContext?.translation.Forms.phoneNumberLabel),\n prepare: (value) =>\n format(cleanNumber(value), {\n phone: true,\n }).toString(),\n }\n return <StringValue {...stringValueProps} />\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,aAAa,MAAM,4BAA4B;AACtD,SACEC,MAAM,EACNC,WAAW,QACN,kDAAkD;AAIzD,SAASC,WAAWA,CAACC,KAAY,EAAE;EAAA,IAAAC,YAAA;EACjC,MAAMC,aAAa,GAAGR,UAAU,CAACE,aAAa,CAAC;EAE/C,MAAMO,gBAAuB,GAAAC,aAAA,CAAAA,aAAA,KACxBJ,KAAK;IACRK,KAAK,GAAAJ,YAAA,GACHD,KAAK,CAACK,KAAK,cAAAJ,YAAA,cAAAA,YAAA,GACVD,KAAK,CAACM,MAAM,GACTC,SAAS,GACTL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEM,WAAW,CAACC,KAAK,CAACC,gBAAiB;IACxDC,OAAO,EAAGC,KAAK,IACbf,MAAM,CAACC,WAAW,CAACc,KAAK,CAAC,EAAE;MACzBC,KAAK,EAAE;IACT,CAAC,CAAC,CAACC,QAAQ,CAAC;EAAC,EAChB;EACD,OAAOrB,KAAA,CAAAsB,aAAA,CAACpB,WAAW,EAAKQ,gBAAmB,CAAC;AAC9C;AAEAJ,WAAW,CAACiB,qBAAqB,GAAG,IAAI;AACxC,eAAejB,WAAW"}
1
+ {"version":3,"file":"PhoneNumber.js","names":["React","useContext","StringValue","SharedContext","format","cleanNumber","PhoneNumber","props","_props$label","sharedContext","label","inline","undefined","translation","Forms","phoneNumberLabel","prepare","value","phone","toString","stringValueProps","_objectSpread","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringValue, { Props as StringValueProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\nimport {\n format,\n cleanNumber,\n} from '../../../../components/number-format/NumberUtils'\n\nexport type Props = StringValueProps\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const label =\n props.label ??\n (props.inline\n ? undefined\n : sharedContext?.translation.Forms.phoneNumberLabel)\n const prepare = (value) =>\n format(cleanNumber(value), {\n phone: true,\n }).toString()\n const stringValueProps: Props = {\n ...props,\n label,\n prepare,\n }\n\n return <StringValue {...stringValueProps} />\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,aAAa,MAAM,4BAA4B;AACtD,SACEC,MAAM,EACNC,WAAW,QACN,kDAAkD;AAIzD,SAASC,WAAWA,CAACC,KAAY,EAAE;EAAA,IAAAC,YAAA;EACjC,MAAMC,aAAa,GAAGR,UAAU,CAACE,aAAa,CAAC;EAE/C,MAAMO,KAAK,IAAAF,YAAA,GACTD,KAAK,CAACG,KAAK,cAAAF,YAAA,cAAAA,YAAA,GACVD,KAAK,CAACI,MAAM,GACTC,SAAS,GACTH,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACC,gBAAiB;EACxD,MAAMC,OAAO,GAAIC,KAAK,IACpBb,MAAM,CAACC,WAAW,CAACY,KAAK,CAAC,EAAE;IACzBC,KAAK,EAAE;EACT,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACf,MAAMC,gBAAuB,GAAAC,aAAA,CAAAA,aAAA,KACxBd,KAAK;IACRG,KAAK;IACLM;EAAO,EACR;EAED,OAAOhB,KAAA,CAAAsB,aAAA,CAACpB,WAAW,EAAKkB,gBAAmB,CAAC;AAC9C;AAEAd,WAAW,CAACiB,qBAAqB,GAAG,IAAI;AACxC,eAAejB,WAAW"}
@@ -1,4 +1,5 @@
1
1
  export { default as useDataValue } from './useDataValue';
2
+ export { default as useErrorMessage } from './useErrorMessage';
2
3
  export { default as useMountEffect } from './useMountEffect';
3
4
  export { default as useUpdateEffect } from './useUpdateEffect';
4
5
  export { default as useProcessManager } from './useProcessManager';
@@ -1,4 +1,5 @@
1
1
  export { default as useDataValue } from './useDataValue';
2
+ export { default as useErrorMessage } from './useErrorMessage';
2
3
  export { default as useMountEffect } from './useMountEffect';
3
4
  export { default as useUpdateEffect } from './useUpdateEffect';
4
5
  export { default as useProcessManager } from './useProcessManager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","useDataValue","useMountEffect","useUpdateEffect","useProcessManager"],"sources":["../../../../../src/extensions/forms/hooks/index.ts"],"sourcesContent":["export { default as useDataValue } from './useDataValue'\nexport { default as useMountEffect } from './useMountEffect'\nexport { default as useUpdateEffect } from './useUpdateEffect'\nexport { default as useProcessManager } from './useProcessManager'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,YAAY,QAAQ,gBAAgB;AACxD,SAASD,OAAO,IAAIE,cAAc,QAAQ,kBAAkB;AAC5D,SAASF,OAAO,IAAIG,eAAe,QAAQ,mBAAmB;AAC9D,SAASH,OAAO,IAAII,iBAAiB,QAAQ,qBAAqB"}
1
+ {"version":3,"file":"index.js","names":["default","useDataValue","useErrorMessage","useMountEffect","useUpdateEffect","useProcessManager"],"sources":["../../../../../src/extensions/forms/hooks/index.ts"],"sourcesContent":["export { default as useDataValue } from './useDataValue'\nexport { default as useErrorMessage } from './useErrorMessage'\nexport { default as useMountEffect } from './useMountEffect'\nexport { default as useUpdateEffect } from './useUpdateEffect'\nexport { default as useProcessManager } from './useProcessManager'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,YAAY,QAAQ,gBAAgB;AACxD,SAASD,OAAO,IAAIE,eAAe,QAAQ,mBAAmB;AAC9D,SAASF,OAAO,IAAIG,cAAc,QAAQ,kBAAkB;AAC5D,SAASH,OAAO,IAAII,eAAe,QAAQ,mBAAmB;AAC9D,SAASJ,OAAO,IAAIK,iBAAiB,QAAQ,qBAAqB"}
@@ -1,10 +1,15 @@
1
1
  import { FormError, FieldProps } from '../types';
2
2
  import { ContextState } from '../DataContext';
3
+ export default function useDataValue<Value = unknown, Props extends FieldProps<Value> = FieldProps<Value>>(props: Props): Props & ReturnAdditional<Value>;
3
4
  interface ReturnAdditional<Value> {
4
5
  id: string;
6
+ name: string;
5
7
  value: Value;
6
8
  error: Error | FormError | undefined;
9
+ autoComplete: HTMLInputElement['autocomplete'];
10
+ disabled: boolean;
7
11
  hasError: boolean;
12
+ isChanged: boolean;
8
13
  dataContext: ContextState;
9
14
  ariaAttributes: {
10
15
  'aria-invalid'?: 'true' | 'false';
@@ -17,5 +22,5 @@ interface ReturnAdditional<Value> {
17
22
  updateValue: (value: Value) => void;
18
23
  forceUpdate: () => void;
19
24
  }
20
- export default function useDataValue<Value = unknown, Props extends FieldProps<Value> = FieldProps<Value>>(props: Props): Props & ReturnAdditional<Value>;
25
+ export declare function omitDataValueProps<OmittedProps extends ReturnAdditional<unknown>>(props: OmittedProps): Omit<OmittedProps, keyof ReturnAdditional<unknown>>;
21
26
  export {};
@@ -1,14 +1,17 @@
1
1
  "use client";
2
2
 
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ const _excluded = ["name", "error", "hasError", "isChanged", "autoComplete", "ariaAttributes", "dataContext", "setHasFocus", "handleFocus", "handleBlur", "handleChange", "updateValue", "forceUpdate"];
4
6
  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; }
5
7
  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; }
6
8
  import { useRef, useEffect, useContext, useCallback, useMemo, useReducer } from 'react';
7
9
  import pointer from 'json-pointer';
8
10
  import { errorChanged } from '../utils';
9
- import ajv, { ajvErrorsToOneFormError } from '../utils/ajv';
11
+ import { ajvErrorsToOneFormError } from '../utils/ajv';
10
12
  import { FormError } from '../types';
11
13
  import { Context } from '../DataContext';
14
+ import SharedContext from '../../../shared/Context';
12
15
  import FieldBlockContext from '../FieldBlock/FieldBlockContext';
13
16
  import IterateElementContext from '../Iterate/IterateElementContext';
14
17
  import useMountEffect from './useMountEffect';
@@ -16,7 +19,9 @@ import useUpdateEffect from './useUpdateEffect';
16
19
  import useProcessManager from './useProcessManager';
17
20
  import useId from './useId';
18
21
  export default function useDataValue(props) {
19
- var _this = this,
22
+ var _props$disabled,
23
+ _dataContext$ajvInsta,
24
+ _this = this,
20
25
  _ref3,
21
26
  _props$path,
22
27
  _props$autoComplete;
@@ -51,6 +56,7 @@ export default function useDataValue(props) {
51
56
  return res;
52
57
  }
53
58
  } = props;
59
+ const disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props.readOnly;
54
60
  const [, forceUpdate] = useReducer(() => ({}), {});
55
61
  const {
56
62
  startProcess
@@ -59,6 +65,8 @@ export default function useDataValue(props) {
59
65
  const dataContext = useContext(Context);
60
66
  const fieldBlockContext = useContext(FieldBlockContext);
61
67
  const iterateElementContext = useContext(IterateElementContext);
68
+ const sharedContext = useContext(SharedContext);
69
+ const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
62
70
  const transformers = useRef({
63
71
  toInput,
64
72
  fromInput,
@@ -70,8 +78,11 @@ export default function useDataValue(props) {
70
78
  const {
71
79
  handlePathChange: dataContextHandlePathChange,
72
80
  updateDataValue: dataContextUpdateDataValue,
81
+ validateData: dataContextValidateData,
73
82
  setValueWithError: dataContextSetValueWithError,
74
- errors: dataContextErrors
83
+ setProps: dataContextSetProps,
84
+ errors: dataContextErrors,
85
+ contextErrorMessages
75
86
  } = dataContext !== null && dataContext !== void 0 ? dataContext : {};
76
87
  const dataContextError = path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[path] : undefined;
77
88
  const inFieldBlock = Boolean(fieldBlockContext);
@@ -121,16 +132,13 @@ export default function useDataValue(props) {
121
132
  const showErrorInitially = validateInitially || errorProp;
122
133
  const localErrorRef = useRef();
123
134
  const contextErrorRef = useRef(dataContextError);
135
+ dataContextSetProps === null || dataContextSetProps === void 0 ? void 0 : dataContextSetProps(identifier, props);
124
136
  const showErrorRef = useRef(Boolean(showErrorInitially));
125
- const errorMessagesRef = useRef(errorMessages);
126
- useEffect(() => {
127
- errorMessagesRef.current = errorMessages;
128
- }, [errorMessages]);
129
137
  const validatorRef = useRef(validator);
130
- useEffect(() => {
138
+ useUpdateEffect(() => {
131
139
  validatorRef.current = validator;
132
140
  }, [validator]);
133
- const schemaValidatorRef = useRef(schema ? ajv.compile(schema) : undefined);
141
+ const schemaValidatorRef = useRef(schema ? (_dataContext$ajvInsta = dataContext.ajvInstance) === null || _dataContext$ajvInsta === void 0 ? void 0 : _dataContext$ajvInsta.compile(schema) : undefined);
134
142
  const showError = useCallback(() => {
135
143
  showErrorRef.current = true;
136
144
  setShowFieldBlockError === null || setShowFieldBlockError === void 0 ? void 0 : setShowFieldBlockError(path !== null && path !== void 0 ? path : id, true);
@@ -139,13 +147,29 @@ export default function useDataValue(props) {
139
147
  showErrorRef.current = false;
140
148
  setShowFieldBlockError === null || setShowFieldBlockError === void 0 ? void 0 : setShowFieldBlockError(path !== null && path !== void 0 ? path : id, false);
141
149
  }, [path, id, setShowFieldBlockError]);
150
+ const errorMessagesRef = useRef(null);
151
+ errorMessagesRef.current = useMemo(() => {
152
+ return _objectSpread({
153
+ required: tr.fieldErrorRequired
154
+ }, errorMessages);
155
+ }, [errorMessages, tr.fieldErrorRequired]);
142
156
  const prepareError = useCallback(error => {
143
157
  if (error === undefined) {
144
158
  return;
145
159
  }
146
160
  if (error instanceof FormError) {
147
- var _errorMessagesRef$cur, _error$messageValues;
148
- const message = typeof error.validationRule === 'string' && ((_errorMessagesRef$cur = errorMessagesRef.current) === null || _errorMessagesRef$cur === void 0 ? void 0 : _errorMessagesRef$cur[error.validationRule]) || error.message;
161
+ var _error$messageValues;
162
+ let message = error.message;
163
+ const {
164
+ validationRule
165
+ } = error;
166
+ if (typeof validationRule === 'string') {
167
+ var _errorMessagesRef$cur;
168
+ const fieldMessage = (_errorMessagesRef$cur = errorMessagesRef.current) === null || _errorMessagesRef$cur === void 0 ? void 0 : _errorMessagesRef$cur[validationRule];
169
+ if (fieldMessage) {
170
+ message = fieldMessage;
171
+ }
172
+ }
149
173
  const messageWithValues = Object.entries((_error$messageValues = error.messageValues) !== null && _error$messageValues !== void 0 ? _error$messageValues : {}).reduce((message, _ref2) => {
150
174
  let [key, value] = _ref2;
151
175
  return message.replace(`{${key}}`, value);
@@ -167,6 +191,13 @@ export default function useDataValue(props) {
167
191
  const clearErrorState = useCallback(() => persistErrorState(undefined), [persistErrorState]);
168
192
  const validateValue = useCallback(async () => {
169
193
  const isProcessActive = startProcess();
194
+ if (disabled) {
195
+ if (isProcessActive()) {
196
+ clearErrorState();
197
+ }
198
+ hideError();
199
+ return;
200
+ }
170
201
  try {
171
202
  const requiredError = transformers.current.validateRequired(valueRef.current, {
172
203
  emptyValue,
@@ -185,7 +216,7 @@ export default function useDataValue(props) {
185
216
  }
186
217
  if (validatorRef.current) {
187
218
  var _validatorRef$current;
188
- const res = await ((_validatorRef$current = validatorRef.current) === null || _validatorRef$current === void 0 ? void 0 : _validatorRef$current.call(validatorRef, valueRef.current, errorMessagesRef.current));
219
+ const res = await ((_validatorRef$current = validatorRef.current) === null || _validatorRef$current === void 0 ? void 0 : _validatorRef$current.call(validatorRef, valueRef.current, _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current)));
189
220
  if (res instanceof Error) {
190
221
  throw res;
191
222
  }
@@ -198,9 +229,10 @@ export default function useDataValue(props) {
198
229
  persistErrorState(error);
199
230
  }
200
231
  }
201
- }, [startProcess, emptyValue, required, clearErrorState, persistErrorState]);
232
+ }, [startProcess, disabled, hideError, clearErrorState, emptyValue, required, contextErrorMessages, persistErrorState]);
202
233
  useUpdateEffect(() => {
203
- schemaValidatorRef.current = schema ? ajv.compile(schema) : undefined;
234
+ var _dataContext$ajvInsta2;
235
+ schemaValidatorRef.current = schema ? (_dataContext$ajvInsta2 = dataContext.ajvInstance) === null || _dataContext$ajvInsta2 === void 0 ? void 0 : _dataContext$ajvInsta2.compile(schema) : undefined;
204
236
  validateValue();
205
237
  }, [schema, validateValue]);
206
238
  useUpdateEffect(() => {
@@ -222,14 +254,17 @@ export default function useDataValue(props) {
222
254
  }
223
255
  }, [dataContext.showAllErrors, showError]);
224
256
  useEffect(() => {
225
- if (path && typeof props.value !== 'undefined') {
257
+ if (path) {
226
258
  const hasValue = pointer.has(dataContext.data, path);
227
- const value = hasValue ? pointer.get(dataContext.data, path) : undefined;
228
- if (!hasValue || props.value !== value && valueRef.current !== value) {
229
- dataContextUpdateDataValue === null || dataContextUpdateDataValue === void 0 ? void 0 : dataContextUpdateDataValue(path, props.value);
259
+ const existingValue = hasValue ? pointer.get(dataContext.data, path) : undefined;
260
+ if (!hasValue || props.value !== existingValue && valueRef.current !== existingValue) {
261
+ dataContextUpdateDataValue === null || dataContextUpdateDataValue === void 0 ? void 0 : dataContextUpdateDataValue(path, props.value, {
262
+ disabled
263
+ });
264
+ dataContextValidateData === null || dataContextValidateData === void 0 ? void 0 : dataContextValidateData();
230
265
  }
231
266
  }
232
- }, [dataContext.data, dataContextUpdateDataValue, path, props.value]);
267
+ }, [dataContext.data, dataContextUpdateDataValue, dataContextValidateData, disabled, path, props.value]);
233
268
  const handleError = useCallback(() => {
234
269
  if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
235
270
  showError();
@@ -314,6 +349,7 @@ export default function useDataValue(props) {
314
349
  hasError: Boolean(error),
315
350
  isChanged: changedRef.current,
316
351
  autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : 'off',
352
+ disabled,
317
353
  ariaAttributes,
318
354
  dataContext,
319
355
  setHasFocus,
@@ -324,4 +360,23 @@ export default function useDataValue(props) {
324
360
  forceUpdate
325
361
  });
326
362
  }
363
+ export function omitDataValueProps(props) {
364
+ const {
365
+ name,
366
+ error,
367
+ hasError,
368
+ isChanged,
369
+ autoComplete,
370
+ ariaAttributes,
371
+ dataContext,
372
+ setHasFocus,
373
+ handleFocus,
374
+ handleBlur,
375
+ handleChange,
376
+ updateValue,
377
+ forceUpdate
378
+ } = props,
379
+ restProps = _objectWithoutProperties(props, _excluded);
380
+ return Object.freeze(restProps);
381
+ }
327
382
  //# sourceMappingURL=useDataValue.js.map