@dnb/eufemia 10.51.2 → 10.52.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 (588) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +4 -0
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  5. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  6. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  7. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  8. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  9. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  10. package/cjs/components/form-status/FormStatus.d.ts +5 -0
  11. package/cjs/components/icon/Icon.d.ts +2 -1
  12. package/cjs/components/icon/Icon.js.map +1 -1
  13. package/cjs/components/logo/Logo.js.map +1 -1
  14. package/cjs/components/number-format/NumberUtils.d.ts +14 -0
  15. package/cjs/components/number-format/NumberUtils.js +7 -8
  16. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  17. package/cjs/components/skeleton/style/dnb-skeleton.css +3 -1
  18. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  19. package/cjs/components/skeleton/style/dnb-skeleton.scss +4 -2
  20. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  21. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -0
  22. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  23. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  24. package/cjs/extensions/forms/DataContext/Provider/Provider.js +86 -77
  25. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  26. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  27. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +112 -23
  28. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  29. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  30. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  31. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  32. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  33. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  34. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  35. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +25 -0
  36. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  37. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  38. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  39. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  40. package/cjs/extensions/forms/Form/Isolation/Isolation.js +26 -0
  41. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  42. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  43. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  44. package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  45. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js +45 -0
  46. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  47. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  48. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js +12 -0
  49. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  50. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  51. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js +17 -0
  52. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  53. package/cjs/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  54. package/cjs/extensions/forms/Form/Snapshot/index.js +27 -0
  55. package/cjs/extensions/forms/Form/Snapshot/index.js.map +1 -0
  56. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  57. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  58. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
  59. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  60. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  61. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  63. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  64. package/cjs/extensions/forms/Form/data-context/clearData.js +2 -5
  65. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
  66. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  67. package/cjs/extensions/forms/Form/data-context/useData.js +3 -2
  68. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  69. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  70. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  71. package/cjs/extensions/forms/Form/index.js +14 -0
  72. package/cjs/extensions/forms/Form/index.js.map +1 -1
  73. package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
  74. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  75. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +30 -17
  76. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  77. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  78. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  79. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  80. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js +33 -0
  81. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  82. package/cjs/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  83. package/cjs/extensions/forms/Iterate/ItemNo/index.js +27 -0
  84. package/cjs/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  85. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  86. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  87. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  88. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
  89. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  90. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  91. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  93. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  94. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  95. package/cjs/extensions/forms/Iterate/index.js +7 -0
  96. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  97. package/cjs/extensions/forms/Tools/Log.d.ts +7 -2
  98. package/cjs/extensions/forms/Tools/Log.js +36 -4
  99. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  100. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  101. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  102. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  103. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  104. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  105. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  107. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  109. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  110. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
  111. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  112. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  113. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  114. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  115. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -7
  116. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  117. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  118. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +11 -6
  119. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  120. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  121. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  122. package/cjs/extensions/forms/Wizard/Step/Step.js +4 -4
  123. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  124. package/cjs/extensions/forms/Wizard/hooks/useStep.js +4 -4
  125. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  126. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  127. package/cjs/extensions/forms/constants/locales/en-GB.js +9 -4
  128. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  129. package/cjs/extensions/forms/constants/locales/en-US.d.ts +6 -1
  130. package/cjs/extensions/forms/constants/locales/en-US.js +2 -1
  131. package/cjs/extensions/forms/constants/locales/en-US.js.map +1 -1
  132. package/cjs/extensions/forms/constants/locales/index.d.ts +12 -2
  133. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  134. package/cjs/extensions/forms/constants/locales/nb-NO.js +9 -4
  135. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  136. package/cjs/extensions/forms/hooks/useDataContext.d.ts +6 -0
  137. package/cjs/extensions/forms/hooks/useDataContext.js +31 -0
  138. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -0
  139. package/cjs/extensions/forms/hooks/useExternalValue.js +12 -6
  140. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  141. package/cjs/extensions/forms/hooks/useFieldProps.js +82 -43
  142. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  143. package/cjs/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  144. package/cjs/extensions/forms/hooks/useSnapshot.js +87 -0
  145. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -0
  146. package/cjs/extensions/forms/hooks/useValueProps.js +6 -1
  147. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  148. package/cjs/extensions/forms/types.d.ts +4 -0
  149. package/cjs/extensions/forms/types.js.map +1 -1
  150. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
  151. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  152. package/cjs/shared/Eufemia.d.ts +1 -1
  153. package/cjs/shared/Eufemia.js +2 -2
  154. package/cjs/shared/Eufemia.js.map +1 -1
  155. package/cjs/shared/component-helper.js +1 -1
  156. package/cjs/shared/component-helper.js.map +1 -1
  157. package/cjs/style/core/scopes.scss +1 -1
  158. package/cjs/style/dnb-ui-basis.css +1 -1
  159. package/cjs/style/dnb-ui-basis.min.css +1 -1
  160. package/cjs/style/dnb-ui-body.css +1 -1
  161. package/cjs/style/dnb-ui-body.min.css +1 -1
  162. package/cjs/style/dnb-ui-components.css +3 -1
  163. package/cjs/style/dnb-ui-components.min.css +1 -1
  164. package/cjs/style/dnb-ui-core.css +1 -1
  165. package/cjs/style/dnb-ui-core.min.css +1 -1
  166. package/cjs/style/dnb-ui-extensions.css +3 -2
  167. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  168. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  171. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  172. package/cjs/style/themes/theme-eiendom/properties.d.ts +1 -0
  173. package/cjs/style/themes/theme-eiendom/properties.js +3 -2
  174. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  175. package/cjs/style/themes/theme-sbanken/properties.d.ts +1 -0
  176. package/cjs/style/themes/theme-sbanken/properties.js +3 -2
  177. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  178. package/cjs/style/themes/theme-sbanken/properties.scss +9 -8
  179. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  180. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  181. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  182. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  183. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  184. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  185. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  186. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  187. package/cjs/style/themes/theme-ui/properties.d.ts +1 -0
  188. package/cjs/style/themes/theme-ui/properties.js +3 -2
  189. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  190. package/cjs/style/themes/theme-ui/ui-theme-components.css +3 -1
  191. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  192. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  193. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  194. package/components/autocomplete/Autocomplete.js +4 -0
  195. package/components/autocomplete/Autocomplete.js.map +1 -1
  196. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  197. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  198. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  199. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  200. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  201. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  202. package/components/form-status/FormStatus.d.ts +5 -0
  203. package/components/icon/Icon.d.ts +2 -1
  204. package/components/icon/Icon.js.map +1 -1
  205. package/components/logo/Logo.js.map +1 -1
  206. package/components/number-format/NumberUtils.d.ts +14 -0
  207. package/components/number-format/NumberUtils.js +7 -8
  208. package/components/number-format/NumberUtils.js.map +1 -1
  209. package/components/skeleton/style/dnb-skeleton.css +3 -1
  210. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  211. package/components/skeleton/style/dnb-skeleton.scss +4 -2
  212. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  213. package/es/components/autocomplete/Autocomplete.js +4 -0
  214. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  215. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  216. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  217. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  218. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  219. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  220. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  221. package/es/components/form-status/FormStatus.d.ts +5 -0
  222. package/es/components/icon/Icon.d.ts +2 -1
  223. package/es/components/icon/Icon.js.map +1 -1
  224. package/es/components/logo/Logo.js.map +1 -1
  225. package/es/components/number-format/NumberUtils.d.ts +14 -0
  226. package/es/components/number-format/NumberUtils.js +7 -8
  227. package/es/components/number-format/NumberUtils.js.map +1 -1
  228. package/es/components/skeleton/style/dnb-skeleton.css +3 -1
  229. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  230. package/es/components/skeleton/style/dnb-skeleton.scss +4 -2
  231. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  232. package/es/extensions/forms/DataContext/Context.d.ts +5 -0
  233. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  234. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  235. package/es/extensions/forms/DataContext/Provider/Provider.js +84 -75
  236. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  237. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  238. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
  239. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  240. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  241. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  242. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  243. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  244. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  245. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  246. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
  247. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  248. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  249. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  250. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  251. package/es/extensions/forms/Form/Isolation/Isolation.js +28 -3
  252. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  253. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  254. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  255. package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  256. package/es/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
  257. package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  258. package/es/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  259. package/es/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
  260. package/es/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  261. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  262. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
  263. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  264. package/es/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  265. package/es/extensions/forms/Form/Snapshot/index.js +3 -0
  266. package/es/extensions/forms/Form/Snapshot/index.js.map +1 -0
  267. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  268. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  269. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
  270. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  271. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  272. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  273. package/es/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  274. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  275. package/es/extensions/forms/Form/data-context/clearData.js +2 -5
  276. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
  277. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  278. package/es/extensions/forms/Form/data-context/useData.js +1 -0
  279. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  280. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  281. package/es/extensions/forms/Form/index.d.ts +2 -0
  282. package/es/extensions/forms/Form/index.js +2 -0
  283. package/es/extensions/forms/Form/index.js.map +1 -1
  284. package/es/extensions/forms/Iterate/Array/Array.js +3 -1
  285. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  286. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
  287. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  288. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  289. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  290. package/es/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  291. package/es/extensions/forms/Iterate/ItemNo/ItemNo.js +22 -0
  292. package/es/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  293. package/es/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  294. package/es/extensions/forms/Iterate/ItemNo/index.js +3 -0
  295. package/es/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  296. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  297. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  298. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  299. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +43 -16
  300. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  301. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  302. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  303. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  304. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  305. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  306. package/es/extensions/forms/Iterate/index.js +1 -0
  307. package/es/extensions/forms/Iterate/index.js.map +1 -1
  308. package/es/extensions/forms/Tools/Log.d.ts +7 -2
  309. package/es/extensions/forms/Tools/Log.js +26 -3
  310. package/es/extensions/forms/Tools/Log.js.map +1 -1
  311. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  312. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  313. package/es/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  314. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  315. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  316. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  317. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  318. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  319. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  320. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  321. package/es/extensions/forms/Wizard/Container/WizardContainer.js +67 -23
  322. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  323. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  324. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  325. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  326. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
  327. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  328. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  329. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
  330. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  331. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  332. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  333. package/es/extensions/forms/Wizard/Step/Step.js +4 -4
  334. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  335. package/es/extensions/forms/Wizard/hooks/useStep.js +4 -4
  336. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  337. package/es/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  338. package/es/extensions/forms/constants/locales/en-GB.js +9 -4
  339. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  340. package/es/extensions/forms/constants/locales/en-US.d.ts +6 -1
  341. package/es/extensions/forms/constants/locales/en-US.js +2 -1
  342. package/es/extensions/forms/constants/locales/en-US.js.map +1 -1
  343. package/es/extensions/forms/constants/locales/index.d.ts +12 -2
  344. package/es/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  345. package/es/extensions/forms/constants/locales/nb-NO.js +9 -4
  346. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  347. package/es/extensions/forms/hooks/useDataContext.d.ts +6 -0
  348. package/es/extensions/forms/hooks/useDataContext.js +24 -0
  349. package/es/extensions/forms/hooks/useDataContext.js.map +1 -0
  350. package/es/extensions/forms/hooks/useExternalValue.js +12 -6
  351. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  352. package/es/extensions/forms/hooks/useFieldProps.js +83 -44
  353. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  354. package/es/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  355. package/es/extensions/forms/hooks/useSnapshot.js +73 -0
  356. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -0
  357. package/es/extensions/forms/hooks/useValueProps.js +6 -1
  358. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  359. package/es/extensions/forms/types.d.ts +4 -0
  360. package/es/extensions/forms/types.js.map +1 -1
  361. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
  362. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  363. package/es/shared/Eufemia.d.ts +1 -1
  364. package/es/shared/Eufemia.js +2 -2
  365. package/es/shared/Eufemia.js.map +1 -1
  366. package/es/shared/component-helper.js +1 -1
  367. package/es/shared/component-helper.js.map +1 -1
  368. package/es/style/core/scopes.scss +1 -1
  369. package/es/style/dnb-ui-basis.css +1 -1
  370. package/es/style/dnb-ui-basis.min.css +1 -1
  371. package/es/style/dnb-ui-body.css +1 -1
  372. package/es/style/dnb-ui-body.min.css +1 -1
  373. package/es/style/dnb-ui-components.css +3 -1
  374. package/es/style/dnb-ui-components.min.css +1 -1
  375. package/es/style/dnb-ui-core.css +1 -1
  376. package/es/style/dnb-ui-core.min.css +1 -1
  377. package/es/style/dnb-ui-extensions.css +3 -2
  378. package/es/style/dnb-ui-extensions.min.css +1 -1
  379. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  380. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  381. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  382. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  383. package/es/style/themes/theme-eiendom/properties.d.ts +1 -0
  384. package/es/style/themes/theme-eiendom/properties.js +3 -2
  385. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  386. package/es/style/themes/theme-sbanken/properties.d.ts +1 -0
  387. package/es/style/themes/theme-sbanken/properties.js +3 -2
  388. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  389. package/es/style/themes/theme-sbanken/properties.scss +9 -8
  390. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  391. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  392. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  393. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  394. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  395. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  396. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  397. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  398. package/es/style/themes/theme-ui/properties.d.ts +1 -0
  399. package/es/style/themes/theme-ui/properties.js +3 -2
  400. package/es/style/themes/theme-ui/properties.js.map +1 -1
  401. package/es/style/themes/theme-ui/ui-theme-components.css +3 -1
  402. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  403. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  404. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  405. package/esm/dnb-ui-basis.min.mjs +1 -1
  406. package/esm/dnb-ui-components.min.mjs +1 -1
  407. package/esm/dnb-ui-elements.min.mjs +1 -1
  408. package/esm/dnb-ui-extensions.min.mjs +2 -2
  409. package/esm/dnb-ui-lib.min.mjs +1 -1
  410. package/extensions/forms/DataContext/Context.d.ts +5 -0
  411. package/extensions/forms/DataContext/Context.js.map +1 -1
  412. package/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  413. package/extensions/forms/DataContext/Provider/Provider.js +86 -77
  414. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  415. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  416. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
  417. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  418. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  419. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  420. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  421. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  422. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  423. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  424. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
  425. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  426. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  427. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  428. package/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  429. package/extensions/forms/Form/Isolation/Isolation.js +29 -3
  430. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  431. package/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  432. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  433. package/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  434. package/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
  435. package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  436. package/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  437. package/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
  438. package/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  439. package/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  440. package/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
  441. package/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  442. package/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  443. package/extensions/forms/Form/Snapshot/index.js +3 -0
  444. package/extensions/forms/Form/Snapshot/index.js.map +1 -0
  445. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  446. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  447. package/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
  448. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  449. package/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  450. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  451. package/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  452. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  453. package/extensions/forms/Form/data-context/clearData.js +2 -5
  454. package/extensions/forms/Form/data-context/clearData.js.map +1 -1
  455. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  456. package/extensions/forms/Form/data-context/useData.js +1 -0
  457. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  458. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  459. package/extensions/forms/Form/index.d.ts +2 -0
  460. package/extensions/forms/Form/index.js +2 -0
  461. package/extensions/forms/Form/index.js.map +1 -1
  462. package/extensions/forms/Iterate/Array/Array.js +3 -1
  463. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  464. package/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
  465. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  466. package/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  467. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  468. package/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  469. package/extensions/forms/Iterate/ItemNo/ItemNo.js +23 -0
  470. package/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  471. package/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  472. package/extensions/forms/Iterate/ItemNo/index.js +3 -0
  473. package/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  474. package/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  475. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  476. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  477. package/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
  478. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  479. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  480. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  481. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  482. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  483. package/extensions/forms/Iterate/index.d.ts +1 -0
  484. package/extensions/forms/Iterate/index.js +1 -0
  485. package/extensions/forms/Iterate/index.js.map +1 -1
  486. package/extensions/forms/Tools/Log.d.ts +7 -2
  487. package/extensions/forms/Tools/Log.js +30 -3
  488. package/extensions/forms/Tools/Log.js.map +1 -1
  489. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  490. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  491. package/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  492. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  493. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  494. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  495. package/extensions/forms/Value/ValueDocs.js +5 -0
  496. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  497. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  498. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  499. package/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
  500. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  501. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  502. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  503. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  504. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
  505. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  506. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  507. package/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
  508. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  509. package/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  510. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  511. package/extensions/forms/Wizard/Step/Step.js +4 -4
  512. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  513. package/extensions/forms/Wizard/hooks/useStep.js +4 -4
  514. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  515. package/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  516. package/extensions/forms/constants/locales/en-GB.js +9 -4
  517. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  518. package/extensions/forms/constants/locales/en-US.d.ts +6 -1
  519. package/extensions/forms/constants/locales/en-US.js +2 -1
  520. package/extensions/forms/constants/locales/en-US.js.map +1 -1
  521. package/extensions/forms/constants/locales/index.d.ts +12 -2
  522. package/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  523. package/extensions/forms/constants/locales/nb-NO.js +9 -4
  524. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  525. package/extensions/forms/hooks/useDataContext.d.ts +6 -0
  526. package/extensions/forms/hooks/useDataContext.js +25 -0
  527. package/extensions/forms/hooks/useDataContext.js.map +1 -0
  528. package/extensions/forms/hooks/useExternalValue.js +12 -6
  529. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  530. package/extensions/forms/hooks/useFieldProps.js +83 -44
  531. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  532. package/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  533. package/extensions/forms/hooks/useSnapshot.js +81 -0
  534. package/extensions/forms/hooks/useSnapshot.js.map +1 -0
  535. package/extensions/forms/hooks/useValueProps.js +6 -1
  536. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  537. package/extensions/forms/types.d.ts +4 -0
  538. package/extensions/forms/types.js.map +1 -1
  539. package/extensions/payment-card/style/dnb-payment-card.css +3 -2
  540. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  541. package/package.json +1 -1
  542. package/shared/Eufemia.d.ts +1 -1
  543. package/shared/Eufemia.js +2 -2
  544. package/shared/Eufemia.js.map +1 -1
  545. package/shared/component-helper.js +1 -1
  546. package/shared/component-helper.js.map +1 -1
  547. package/style/core/scopes.scss +1 -1
  548. package/style/dnb-ui-basis.css +1 -1
  549. package/style/dnb-ui-basis.min.css +1 -1
  550. package/style/dnb-ui-body.css +1 -1
  551. package/style/dnb-ui-body.min.css +1 -1
  552. package/style/dnb-ui-components.css +3 -1
  553. package/style/dnb-ui-components.min.css +1 -1
  554. package/style/dnb-ui-core.css +1 -1
  555. package/style/dnb-ui-core.min.css +1 -1
  556. package/style/dnb-ui-extensions.css +3 -2
  557. package/style/dnb-ui-extensions.min.css +1 -1
  558. package/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  559. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  560. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  561. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  562. package/style/themes/theme-eiendom/properties.d.ts +1 -0
  563. package/style/themes/theme-eiendom/properties.js +3 -2
  564. package/style/themes/theme-eiendom/properties.js.map +1 -1
  565. package/style/themes/theme-sbanken/properties.d.ts +1 -0
  566. package/style/themes/theme-sbanken/properties.js +3 -2
  567. package/style/themes/theme-sbanken/properties.js.map +1 -1
  568. package/style/themes/theme-sbanken/properties.scss +9 -8
  569. package/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  570. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  571. package/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  572. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  573. package/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  574. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  575. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  576. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  577. package/style/themes/theme-ui/properties.d.ts +1 -0
  578. package/style/themes/theme-ui/properties.js +3 -2
  579. package/style/themes/theme-ui/properties.js.map +1 -1
  580. package/style/themes/theme-ui/ui-theme-components.css +3 -1
  581. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  582. package/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  583. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  584. package/umd/dnb-ui-basis.min.js +1 -1
  585. package/umd/dnb-ui-components.min.js +1 -1
  586. package/umd/dnb-ui-elements.min.js +1 -1
  587. package/umd/dnb-ui-extensions.min.js +2 -2
  588. package/umd/dnb-ui-lib.min.js +1 -1
@@ -30,6 +30,6 @@
30
30
  }
31
31
  .dnb-avatar__group {
32
32
  --avatar-font-size-left--medium: var(--font-size-basis);
33
- --avatar-font-size-left--large: var(--font-size-medium);
34
- --avatar-font-size-left--x-large: var(--font-size-medium);
33
+ --avatar-font-size-left--large: var(--sb-font-size-medium--plus);
34
+ --avatar-font-size-left--x-large: var(--sb-font-size-medium--plus);
35
35
  }
@@ -1 +1 @@
1
- .dnb-avatar{--avatar-font-size--large:var(--font-size-x-large);--avatar-font-size--x-large:var(--font-size-x-large);color:var(--sb-color-white)}.dnb-avatar--primary{background-color:var(--sb-color-purple-alternative)}.dnb-avatar--secondary{background-color:var(--sb-color-violet-light)}.dnb-avatar--tertiary{background-color:var(--sb-color-violet-light-2);color:var(--sb-color-purple-alternative)}.dnb-avatar--size-large,.dnb-avatar--size-x-large{font-family:var(--sb-font-family-headings);font-weight:var(--sb-font-weight-basis)}.dnb-avatar__group{--avatar-font-size-left--medium:var(--font-size-basis);--avatar-font-size-left--large:var(--font-size-medium);--avatar-font-size-left--x-large:var(--font-size-medium)}
1
+ .dnb-avatar{--avatar-font-size--large:var(--font-size-x-large);--avatar-font-size--x-large:var(--font-size-x-large);color:var(--sb-color-white)}.dnb-avatar--primary{background-color:var(--sb-color-purple-alternative)}.dnb-avatar--secondary{background-color:var(--sb-color-violet-light)}.dnb-avatar--tertiary{background-color:var(--sb-color-violet-light-2);color:var(--sb-color-purple-alternative)}.dnb-avatar--size-large,.dnb-avatar--size-x-large{font-family:var(--sb-font-family-headings);font-weight:var(--sb-font-weight-basis)}.dnb-avatar__group{--avatar-font-size-left--medium:var(--font-size-basis);--avatar-font-size-left--large:var(--sb-font-size-medium--plus);--avatar-font-size-left--x-large:var(--sb-font-size-medium--plus)}
@@ -36,7 +36,7 @@
36
36
 
37
37
  &__group {
38
38
  --avatar-font-size-left--medium: var(--font-size-basis);
39
- --avatar-font-size-left--large: var(--font-size-medium);
40
- --avatar-font-size-left--x-large: var(--font-size-medium);
39
+ --avatar-font-size-left--large: var(--sb-font-size-medium--plus);
40
+ --avatar-font-size-left--x-large: var(--sb-font-size-medium--plus);
41
41
  }
42
42
  }
@@ -17,4 +17,10 @@
17
17
  .dnb-dialog__icon {
18
18
  margin-top: calc(var(--dialog-icon-positioning) * -1);
19
19
  margin-bottom: calc(var(--dialog-icon-positioning) * -1);
20
+ }
21
+ @media screen and (max-width: 60em) and (min-width: 40.00625em) {
22
+ .dnb-dialog__title {
23
+ font-size: var(--sb-font-size-medium--plus) !important;
24
+ line-height: var(--line-height-medium) !important;
25
+ }
20
26
  }
@@ -1 +1 @@
1
- .dnb-dialog{--dialog-background:var(--sb-color-white);--dialog-icon-positioning:-0.5rem;--dialog-radius:0.25rem;--dialog-icon-color--info:var(--sb-color-violet);--dialog-icon-color--warning:var(--sb-color-red);--dialog-icon-background--info:var(--sb-color-green-light-2);--dialog-icon-background--warning:var(--sb-color-magenta-light-2)}.dnb-dialog__icon{margin-bottom:calc(var(--dialog-icon-positioning)*-1);margin-top:calc(var(--dialog-icon-positioning)*-1)}
1
+ .dnb-dialog{--dialog-background:var(--sb-color-white);--dialog-icon-positioning:-0.5rem;--dialog-radius:0.25rem;--dialog-icon-color--info:var(--sb-color-violet);--dialog-icon-color--warning:var(--sb-color-red);--dialog-icon-background--info:var(--sb-color-green-light-2);--dialog-icon-background--warning:var(--sb-color-magenta-light-2)}.dnb-dialog__icon{margin-bottom:calc(var(--dialog-icon-positioning)*-1);margin-top:calc(var(--dialog-icon-positioning)*-1)}@media screen and (max-width:60em) and (min-width:40.00625em){.dnb-dialog__title{font-size:var(--sb-font-size-medium--plus)!important;line-height:var(--line-height-medium)!important}}
@@ -22,4 +22,11 @@
22
22
  margin-top: calc(var(--dialog-icon-positioning) * -1);
23
23
  margin-bottom: calc(var(--dialog-icon-positioning) * -1);
24
24
  }
25
+
26
+ &__title {
27
+ @include allBetween(small, medium) {
28
+ font-size: var(--sb-font-size-medium--plus) !important;
29
+ line-height: var(--line-height-medium) !important;
30
+ }
31
+ }
25
32
  }
@@ -129,3 +129,8 @@ export interface MarketingIconProps {
129
129
  title?: string;
130
130
  }
131
131
  export declare const MarketingIcon: React.FC<MarketingIconProps>;
132
+ export type FormStatusIconTypes =
133
+ | typeof ErrorIcon
134
+ | typeof WarnIcon
135
+ | typeof InfoIcon
136
+ | typeof MarketingIcon;
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { ContextProps } from '../../shared/Context';
3
3
  import { SpacingProps } from '../../shared/types';
4
4
  import { SkeletonShow } from '../Skeleton';
5
+ import { FormStatusIconTypes } from '../FormStatus';
5
6
  export declare const DefaultIconSize = 16;
6
7
  export declare const DefaultIconSizes: {
7
8
  readonly default: 16;
@@ -18,7 +19,7 @@ export type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes];
18
19
  /** For internal usage */
19
20
  type IconType = string | React.ReactElement<SVGElement> | ((props?: unknown) => JSX.Element) | false;
20
21
  /** For external usage */
21
- export type IconIcon = IconType | React.FC<unknown>;
22
+ export type IconIcon = IconType | FormStatusIconTypes | React.FC<unknown>;
22
23
  export type IconSize = ValidIconNumericSize | `${ValidIconNumericSize | number}` | ValidIconType | 'auto' | 'basis';
23
24
  export type IconColor = string | number | {
24
25
  [key: string]: string | number;
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component.\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { FormStatusIconTypes } from '../FormStatus'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | FormStatusIconTypes | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component.\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.js","names":["React","useContext","useMemo","classnames","Context","validateDOMAttributes","extendPropsWithContext","createSpacingClasses","convertSnakeCaseProps","LogoSvg","defaultProps","size","variant","inheritSize","Logo","localProps","context","props","_convertDimensionalPr","convertDimensionalPropsToString","alt","ratio","width","height","heightProp","brand","brandProp","color","inheritColor","className","classNameProp","rest","_objectWithoutProperties","_excluded","theme","name","logoType","parseFloat","altText","sharedClasses","rootParams","_objectSpread","role","svgParams","remainingDOMProps","createElement","allProps","handleTypeToString","val","String","undefined"],"sources":["../../../../src/components/logo/Logo.tsx"],"sourcesContent":["/**\n * Web Logo Component\n */\n\nimport React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport type { IconColor } from '../Icon'\nimport type { SpacingProps } from '../space/types'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport LogoSvg from './LogoSvg'\n\nexport type LogoWidth = number | string\nexport type LogoHeight = number | string\nexport type LogoVariant = 'default' | 'compact' | 'compactHorizontal'\n\nexport type LogoProps = {\n /**\n * Define the width of the logo.\n */\n width?: LogoWidth // v11: replace with string\n /**\n * Define the height of the logo.\n */\n height?: LogoHeight // v11: replace with string\n /**\n * Define the color of the logo.\n */\n color?: IconColor\n /**\n * Define which brands logo to show. `ui` (DNB) or `sbanken`. Defaults to `ui`.\n */\n brand?: string\n /**\n * Define the logo variant, if there is more than one variant of a brands logo. Currently the only option other than default is a `compact` variant of the Sbanken logo. Defaults to `default`.\n */\n variant?: LogoVariant\n /**\n * Set to `true` if you do not want to inherit the color by `currentColor`. Defaults to `false`.\n */\n inheritColor?: boolean\n /**\n * Set to `true` if you want the logo to inherit the parent size\n */\n inheritSize?: boolean\n} & SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'size'> &\n DeprecatedLogoProps\n\ntype DeprecatedLogoProps = {\n /** @deprecated Will be removed in eufemia v11 */\n alt?: string\n /** @deprecated Will be removed in eufemia v11 */\n ratio?: number | string\n /** @deprecated Use 'inheritColor' */\n inherit_color?: boolean\n /** @deprecated Will be removed in eufemia v11 */\n size?: string | number\n}\n\nconst defaultProps: LogoProps = {\n size: 'auto',\n variant: 'default',\n inheritSize: false,\n}\n\nfunction Logo(localProps: LogoProps) {\n const context = useContext(Context)\n\n const props = extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Logo\n )\n\n const {\n alt, // eslint-disable-line\n size, // eslint-disable-line\n ratio, // eslint-disable-line\n width,\n inheritSize,\n height: heightProp,\n brand: brandProp,\n variant,\n color,\n inheritColor,\n className: classNameProp,\n ...rest\n } = convertDimensionalPropsToString(props)\n\n // Attempt to get theme from context\n const brand = context.theme ? context.theme.name : brandProp\n\n const logoType = useMemo(() => {\n if (brand === 'sbanken') {\n if (variant === 'compact') {\n return 'sbankenCompact'\n } else if (variant === 'compactHorizontal') {\n return 'sbankenHorizontal'\n } else {\n return 'sbankenDefault'\n }\n }\n\n return 'dnb'\n }, [brand, variant])\n\n /** @deprecated Can remove this in v11 */\n const height = parseFloat(size) > 0 ? size : heightProp\n\n // Alt text for the logo does not need to be translated. DNB alt will be the same in english, and sbanken alt should always be in norwegian\n const altText =\n logoType === 'dnb' ? 'DNB Logo' : 'Sbanken - et konsept fra DNB logo'\n\n const sharedClasses = classnames(\n classNameProp,\n createSpacingClasses(props)\n )\n const className = useMemo(() => {\n if (logoType === 'dnb') {\n return classnames(\n 'dnb-logo',\n sharedClasses,\n (parseFloat(width) > 0 || parseFloat(height) > 0) &&\n 'dnb-logo--has-size',\n (inheritSize || size === 'inherit') && 'dnb-logo--inherit-size',\n inheritColor && 'dnb-logo--inherit-color'\n )\n }\n\n return classnames(\n 'sbanken-logo',\n sharedClasses,\n (parseFloat(width) > 0 || parseFloat(height) > 0) &&\n 'sbanken-logo--has-size',\n (inheritSize || size === 'inherit') && 'sbanken-logo--inherit-size',\n inheritColor && 'sbanken-logo--inherit-color'\n )\n }, [\n logoType,\n sharedClasses,\n width,\n height,\n inheritSize,\n size,\n inheritColor,\n ])\n\n const rootParams = {\n role: 'img',\n 'aria-hidden': true,\n className,\n alt: altText,\n ...rest,\n }\n\n const svgParams = {\n width,\n height,\n color,\n alt: altText,\n }\n\n const remainingDOMProps = validateDOMAttributes(props, rootParams)\n\n return (\n <span {...remainingDOMProps}>\n <LogoSvg logoType={logoType} svgParams={svgParams} />\n </span>\n )\n}\n\n/**\n * @deprecated Can be removed in v11\n */\nfunction convertDimensionalPropsToString(allProps: LogoProps) {\n return {\n ...allProps,\n size: handleTypeToString(allProps.size),\n ratio: handleTypeToString(allProps.ratio),\n width: handleTypeToString(allProps.width),\n height: handleTypeToString(allProps.height),\n }\n}\n\nfunction handleTypeToString(val: number | string) {\n return val ? String(val) : undefined\n}\n\nexport default Logo\n"],"mappings":"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"}
1
+ {"version":3,"file":"Logo.js","names":["React","useContext","useMemo","classnames","Context","validateDOMAttributes","extendPropsWithContext","createSpacingClasses","convertSnakeCaseProps","LogoSvg","defaultProps","size","variant","inheritSize","Logo","localProps","context","props","_convertDimensionalPr","convertDimensionalPropsToString","alt","ratio","width","height","heightProp","brand","brandProp","color","inheritColor","className","classNameProp","rest","_objectWithoutProperties","_excluded","theme","name","logoType","parseFloat","altText","sharedClasses","rootParams","_objectSpread","role","svgParams","remainingDOMProps","createElement","allProps","handleTypeToString","val","String","undefined"],"sources":["../../../../src/components/logo/Logo.tsx"],"sourcesContent":["/**\n * Web Logo Component\n */\n\nimport React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport type { IconColor } from '../Icon'\nimport type { SpacingProps } from '../space/types'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport LogoSvg from './LogoSvg'\n\nexport type LogoWidth = number | string\nexport type LogoHeight = number | string\nexport type LogoVariant = 'default' | 'compact' | 'compactHorizontal'\n\nexport type LogoProps = {\n /**\n * Define the width of the logo.\n */\n width?: LogoWidth // v11: replace with string\n /**\n * Define the height of the logo.\n */\n height?: LogoHeight // v11: replace with string\n /**\n * Define the color of the logo.\n */\n color?: IconColor\n /**\n * Define which brands logo to show. `ui` (DNB) or `sbanken`. Defaults to `ui`.\n */\n brand?: string\n /**\n * Define the logo variant, if there is more than one variant of a brands logo. Currently the only option other than default is a `compact` variant of the Sbanken logo. Defaults to `default`.\n */\n variant?: LogoVariant\n /**\n * Set to `true` if you do not want to inherit the color by `currentColor`. Defaults to `false`.\n */\n inheritColor?: boolean\n /**\n * Set to `true` if you want the logo to inherit the parent size\n */\n inheritSize?: boolean\n} & SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'size'> &\n DeprecatedLogoProps\n\ntype DeprecatedLogoProps = {\n /** @deprecated Will be removed in eufemia v11 */\n alt?: string\n /** @deprecated Will be removed in eufemia v11 */\n ratio?: number | string\n /** @deprecated Use 'inheritColor' */\n inherit_color?: boolean\n /** @deprecated Will be removed in eufemia v11 */\n size?: string | number\n}\n\nconst defaultProps: LogoProps = {\n size: 'auto',\n variant: 'default',\n inheritSize: false,\n}\n\nfunction Logo(localProps: LogoProps) {\n const context = useContext(Context)\n\n const props = extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Logo\n )\n\n const {\n alt, // eslint-disable-line\n size, // eslint-disable-line\n ratio, // eslint-disable-line\n width,\n inheritSize,\n height: heightProp,\n brand: brandProp,\n variant,\n color,\n inheritColor,\n className: classNameProp,\n ...rest\n } = convertDimensionalPropsToString(props)\n\n // Attempt to get theme from context\n const brand = context.theme ? context.theme.name : brandProp\n\n const logoType = useMemo(() => {\n if (brand === 'sbanken') {\n if (variant === 'compact') {\n return 'sbankenCompact'\n } else if (variant === 'compactHorizontal') {\n return 'sbankenHorizontal'\n } else {\n return 'sbankenDefault'\n }\n }\n\n return 'dnb'\n }, [brand, variant])\n\n /** @deprecated Can remove this in v11 */\n const height = parseFloat(size) > 0 ? size : heightProp\n\n // Alt text for the logo does not need to be translated. DNB alt will be the same in English, and sbanken alt should always be in Norwegian\n const altText =\n logoType === 'dnb' ? 'DNB Logo' : 'Sbanken - et konsept fra DNB logo'\n\n const sharedClasses = classnames(\n classNameProp,\n createSpacingClasses(props)\n )\n const className = useMemo(() => {\n if (logoType === 'dnb') {\n return classnames(\n 'dnb-logo',\n sharedClasses,\n (parseFloat(width) > 0 || parseFloat(height) > 0) &&\n 'dnb-logo--has-size',\n (inheritSize || size === 'inherit') && 'dnb-logo--inherit-size',\n inheritColor && 'dnb-logo--inherit-color'\n )\n }\n\n return classnames(\n 'sbanken-logo',\n sharedClasses,\n (parseFloat(width) > 0 || parseFloat(height) > 0) &&\n 'sbanken-logo--has-size',\n (inheritSize || size === 'inherit') && 'sbanken-logo--inherit-size',\n inheritColor && 'sbanken-logo--inherit-color'\n )\n }, [\n logoType,\n sharedClasses,\n width,\n height,\n inheritSize,\n size,\n inheritColor,\n ])\n\n const rootParams = {\n role: 'img',\n 'aria-hidden': true,\n className,\n alt: altText,\n ...rest,\n }\n\n const svgParams = {\n width,\n height,\n color,\n alt: altText,\n }\n\n const remainingDOMProps = validateDOMAttributes(props, rootParams)\n\n return (\n <span {...remainingDOMProps}>\n <LogoSvg logoType={logoType} svgParams={svgParams} />\n </span>\n )\n}\n\n/**\n * @deprecated Can be removed in v11\n */\nfunction convertDimensionalPropsToString(allProps: LogoProps) {\n return {\n ...allProps,\n size: handleTypeToString(allProps.size),\n ratio: handleTypeToString(allProps.ratio),\n width: handleTypeToString(allProps.width),\n height: handleTypeToString(allProps.height),\n }\n}\n\nfunction handleTypeToString(val: number | string) {\n return val ? String(val) : undefined\n}\n\nexport default Logo\n"],"mappings":"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"}
@@ -163,3 +163,17 @@ export const roundHalfEven: (
163
163
  num: number,
164
164
  decimalPlaces?: number
165
165
  ) => number;
166
+
167
+ /**
168
+ * Formats a number as a phone number
169
+ *
170
+ * @param {string|number} number any number
171
+ * @param {string} locale as a string. Defaults to the global LOCALE constant
172
+ * @param {string} options formatting options based on the toLocaleString API
173
+ * @returns {string} a phone number
174
+ */
175
+ export const formatPhone: (
176
+ number: string | number,
177
+ locale?: string,
178
+ options?: Intl.NumberFormatOptions
179
+ ) => { number: string; aria: string };
@@ -360,18 +360,17 @@ export const formatPhone = function (number) {
360
360
  {
361
361
  number = String(number).replace(/[^+0-9]/g, '');
362
362
  let code = '';
363
- if (number.length > 8 && number.substr(0, 2) !== '00') {
363
+ if (number.length > 8 && number.substring(0, 2) !== '00' && !number.startsWith('+')) {
364
364
  number = '+' + number;
365
- number = number.replace(/^\+{2,}/, '+');
366
365
  }
367
366
  if (number[0] === '+') {
368
- code = number.substr(0, 3) + ' ';
369
- number = number.substr(3);
370
- } else if (number.substr(0, 2) === '00') {
371
- code = number.substr(0, 4) + ' ';
372
- number = number.substr(4);
367
+ code = number.substring(0, 3) + ' ';
368
+ number = number.substring(3);
369
+ } else if (number.substring(0, 2) === '00') {
370
+ code = number.substring(0, 4) + ' ';
371
+ number = number.substring(4);
373
372
  }
374
- code = code.replace('+', '00');
373
+ code = code.replace(/^00/, '+');
375
374
  const length = number.length;
376
375
  if (length === 8 && number[0] === '8') {
377
376
  display = code + number.split(/([0-9]{3})([0-9]{2})/).filter(s => s).join(' ');