@dnb/eufemia 10.28.0 → 10.30.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 (828) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
  4. package/cjs/components/dropdown/Dropdown.d.ts +22 -5
  5. package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
  6. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  7. package/cjs/components/icon/style/dnb-icon.css +1 -0
  8. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  9. package/cjs/components/icon/style/dnb-icon.scss +1 -0
  10. package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  11. package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
  12. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  13. package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  14. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  15. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  16. package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  17. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
  18. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  19. package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  20. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  21. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  22. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  23. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  24. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  25. package/cjs/components/progress-indicator/types.d.ts +95 -0
  26. package/cjs/components/progress-indicator/types.js +11 -0
  27. package/cjs/components/progress-indicator/types.js.map +1 -0
  28. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -2
  29. package/cjs/extensions/forms/DataContext/Context.js +0 -2
  30. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  31. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  32. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -35
  33. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  34. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  35. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  36. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  37. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  38. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  39. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  40. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  41. package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
  42. package/cjs/extensions/forms/Field/Name/Name.js +73 -0
  43. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
  44. package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  45. package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
  46. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  47. package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
  48. package/cjs/extensions/forms/Field/Name/index.js +27 -0
  49. package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
  50. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  51. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  52. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
  53. package/cjs/extensions/forms/Field/Option/Option.js +21 -0
  54. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  55. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  56. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
  57. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  59. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  60. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  61. package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
  62. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  64. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
  65. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  66. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  67. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  68. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  69. package/cjs/extensions/forms/Field/index.js +7 -0
  70. package/cjs/extensions/forms/Field/index.js.map +1 -1
  71. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  72. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  73. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  74. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +80 -0
  75. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  76. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  77. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
  78. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  79. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  80. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
  81. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  82. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  83. package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
  84. package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
  85. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.js +18 -4
  87. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  88. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  89. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  90. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  91. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  92. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  93. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  94. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  95. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  96. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  97. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  98. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  99. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  100. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  101. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  102. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  103. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  104. package/cjs/extensions/forms/Form/Visibility/Visibility.js +7 -4
  105. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  106. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  107. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  109. package/cjs/extensions/forms/Form/index.js +7 -0
  110. package/cjs/extensions/forms/Form/index.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  112. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  114. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  117. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  118. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  119. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  120. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  122. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  123. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  124. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  125. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  126. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  127. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  128. package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
  129. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  130. package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
  131. package/cjs/extensions/forms/Value/Name/Name.js +50 -0
  132. package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
  133. package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
  134. package/cjs/extensions/forms/Value/Name/index.js +27 -0
  135. package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
  136. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  137. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
  138. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  139. package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
  141. package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  142. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  143. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
  144. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  145. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  146. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
  147. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  148. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  149. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
  150. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  151. package/cjs/extensions/forms/Value/String/String.js +8 -3
  152. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  153. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  154. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  155. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  156. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  157. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/index.js +21 -0
  159. package/cjs/extensions/forms/Value/index.js.map +1 -1
  160. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  161. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  162. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  163. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  164. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  165. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  166. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  167. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  168. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
  169. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  170. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  171. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
  172. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  173. package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
  174. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  175. package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
  176. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  177. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  179. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  180. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  181. package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
  182. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  183. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
  184. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
  185. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  186. package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
  187. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  188. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -4
  189. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
  191. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  192. package/cjs/extensions/forms/style/dnb-forms.css +77 -43
  193. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  194. package/cjs/extensions/forms/types.d.ts +3 -2
  195. package/cjs/extensions/forms/types.js.map +1 -1
  196. package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
  197. package/cjs/shared/Context.d.ts +4 -4
  198. package/cjs/shared/Context.js.map +1 -1
  199. package/cjs/shared/Eufemia.d.ts +1 -1
  200. package/cjs/shared/Eufemia.js +2 -2
  201. package/cjs/shared/Eufemia.js.map +1 -1
  202. package/cjs/shared/component-helper.d.ts +1 -0
  203. package/cjs/shared/component-helper.js +8 -1
  204. package/cjs/shared/component-helper.js.map +1 -1
  205. package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
  206. package/cjs/shared/helpers/assignPropsWithContext.js +22 -0
  207. package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
  208. package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
  209. package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
  210. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  211. package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
  212. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  213. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  214. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  215. package/cjs/style/core/scopes.scss +1 -1
  216. package/cjs/style/dnb-ui-basis.css +1 -1
  217. package/cjs/style/dnb-ui-basis.min.css +1 -1
  218. package/cjs/style/dnb-ui-body.css +1 -1
  219. package/cjs/style/dnb-ui-body.min.css +1 -1
  220. package/cjs/style/dnb-ui-components.css +129 -98
  221. package/cjs/style/dnb-ui-components.min.css +2 -2
  222. package/cjs/style/dnb-ui-core.css +1 -1
  223. package/cjs/style/dnb-ui-core.min.css +1 -1
  224. package/cjs/style/dnb-ui-extensions.css +77 -43
  225. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  226. package/cjs/style/dnb-ui-forms.css +77 -43
  227. package/cjs/style/dnb-ui-forms.min.css +1 -1
  228. package/cjs/style/dnb-ui-forms.scss +1 -1
  229. package/cjs/style/themes/eiendom/basis.js +4 -0
  230. package/cjs/style/themes/eiendom/basis.js.map +1 -0
  231. package/cjs/style/themes/eiendom/index.js +5 -0
  232. package/cjs/style/themes/eiendom/index.js.map +1 -0
  233. package/cjs/style/themes/sbanken/basis.js +4 -0
  234. package/cjs/style/themes/sbanken/basis.js.map +1 -0
  235. package/cjs/style/themes/sbanken/index.js +5 -0
  236. package/cjs/style/themes/sbanken/index.js.map +1 -0
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  249. package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
  250. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  251. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  252. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  253. package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
  254. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  255. package/cjs/style/themes/ui/basis.js +4 -0
  256. package/cjs/style/themes/ui/basis.js.map +1 -0
  257. package/cjs/style/themes/ui/index.js +5 -0
  258. package/cjs/style/themes/ui/index.js.map +1 -0
  259. package/components/aria-live/useAriaLive.d.ts +1 -1
  260. package/components/autocomplete/Autocomplete.d.ts +19 -5
  261. package/components/dropdown/Dropdown.d.ts +22 -5
  262. package/components/height-animation/HeightAnimationInstance.js +5 -0
  263. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  264. package/components/icon/style/dnb-icon.css +1 -0
  265. package/components/icon/style/dnb-icon.min.css +1 -1
  266. package/components/icon/style/dnb-icon.scss +1 -0
  267. package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  268. package/components/progress-indicator/ProgressIndicator.js +27 -14
  269. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  270. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  271. package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  272. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  273. package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  274. package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  275. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  276. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  277. package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  278. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  279. package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  280. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  281. package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  282. package/components/progress-indicator/types.d.ts +95 -0
  283. package/components/progress-indicator/types.js +5 -0
  284. package/components/progress-indicator/types.js.map +1 -0
  285. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  286. package/es/components/autocomplete/Autocomplete.d.ts +19 -5
  287. package/es/components/dropdown/Dropdown.d.ts +22 -5
  288. package/es/components/height-animation/HeightAnimationInstance.js +5 -0
  289. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  290. package/es/components/icon/style/dnb-icon.css +1 -0
  291. package/es/components/icon/style/dnb-icon.min.css +1 -1
  292. package/es/components/icon/style/dnb-icon.scss +1 -0
  293. package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  294. package/es/components/progress-indicator/ProgressIndicator.js +27 -14
  295. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  296. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  297. package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
  298. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  299. package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  300. package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  301. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  302. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  303. package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  304. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  305. package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  306. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  307. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  308. package/es/components/progress-indicator/types.d.ts +95 -0
  309. package/es/components/progress-indicator/types.js +5 -0
  310. package/es/components/progress-indicator/types.js.map +1 -0
  311. package/es/extensions/forms/DataContext/Context.d.ts +7 -2
  312. package/es/extensions/forms/DataContext/Context.js +0 -2
  313. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  314. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  315. package/es/extensions/forms/DataContext/Provider/Provider.js +67 -34
  316. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  317. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  318. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  319. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  320. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  321. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  322. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  323. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  324. package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
  325. package/es/extensions/forms/Field/Name/Name.js +63 -0
  326. package/es/extensions/forms/Field/Name/Name.js.map +1 -0
  327. package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  328. package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
  329. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  330. package/es/extensions/forms/Field/Name/index.d.ts +2 -0
  331. package/es/extensions/forms/Field/Name/index.js +3 -0
  332. package/es/extensions/forms/Field/Name/index.js.map +1 -0
  333. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  334. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  335. package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
  336. package/es/extensions/forms/Field/Option/Option.js +20 -0
  337. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  338. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  339. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  340. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  341. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  342. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  343. package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  344. package/es/extensions/forms/Field/Selection/Selection.js +20 -32
  345. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  346. package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  347. package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  348. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  349. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  350. package/es/extensions/forms/Field/String/String.js.map +1 -1
  351. package/es/extensions/forms/Field/index.d.ts +1 -0
  352. package/es/extensions/forms/Field/index.js +1 -0
  353. package/es/extensions/forms/Field/index.js.map +1 -1
  354. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  355. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  356. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  357. package/es/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  358. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  359. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  360. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  361. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  362. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  363. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  364. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  365. package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  366. package/es/extensions/forms/Form/FieldProps/index.js +3 -0
  367. package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
  368. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  369. package/es/extensions/forms/Form/Handler/Handler.js +18 -4
  370. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  371. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  372. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  373. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  374. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  375. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  376. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  377. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  378. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  379. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  380. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  381. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  382. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  383. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  384. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  385. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  386. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  387. package/es/extensions/forms/Form/Visibility/Visibility.js +7 -4
  388. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  389. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  390. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  391. package/es/extensions/forms/Form/index.d.ts +1 -0
  392. package/es/extensions/forms/Form/index.js +1 -0
  393. package/es/extensions/forms/Form/index.js.map +1 -1
  394. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  395. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  396. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  397. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  398. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  399. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  400. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  401. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  402. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  403. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  404. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  405. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  406. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  407. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  408. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  409. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  410. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  411. package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
  412. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  413. package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
  414. package/es/extensions/forms/Value/Name/Name.js +40 -0
  415. package/es/extensions/forms/Value/Name/Name.js.map +1 -0
  416. package/es/extensions/forms/Value/Name/index.d.ts +2 -0
  417. package/es/extensions/forms/Value/Name/index.js +3 -0
  418. package/es/extensions/forms/Value/Name/index.js.map +1 -0
  419. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  420. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  421. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  422. package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  423. package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  424. package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  425. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  426. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  427. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  428. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  429. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  430. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  431. package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  432. package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  433. package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  434. package/es/extensions/forms/Value/String/String.js +8 -3
  435. package/es/extensions/forms/Value/String/String.js.map +1 -1
  436. package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  437. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  438. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  439. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  440. package/es/extensions/forms/Value/index.d.ts +3 -0
  441. package/es/extensions/forms/Value/index.js +3 -0
  442. package/es/extensions/forms/Value/index.js.map +1 -1
  443. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  444. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  445. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  446. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  447. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  448. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
  449. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  450. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  451. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
  452. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  453. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  454. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
  455. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  456. package/es/extensions/forms/Wizard/Step/Step.js +14 -2
  457. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  458. package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
  459. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  460. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  461. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  462. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  463. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  464. package/es/extensions/forms/constants/locales/en-GB.js +12 -3
  465. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  466. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
  467. package/es/extensions/forms/constants/locales/index.d.ts +18 -0
  468. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  469. package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
  470. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  471. package/es/extensions/forms/hooks/useFieldProps.js +8 -3
  472. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  473. package/es/extensions/forms/hooks/useTranslation.js +3 -1
  474. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  475. package/es/extensions/forms/style/dnb-forms.css +77 -43
  476. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  477. package/es/extensions/forms/types.d.ts +3 -2
  478. package/es/extensions/forms/types.js.map +1 -1
  479. package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
  480. package/es/shared/Context.d.ts +4 -4
  481. package/es/shared/Context.js.map +1 -1
  482. package/es/shared/Eufemia.d.ts +1 -1
  483. package/es/shared/Eufemia.js +2 -2
  484. package/es/shared/Eufemia.js.map +1 -1
  485. package/es/shared/component-helper.d.ts +1 -0
  486. package/es/shared/component-helper.js +2 -1
  487. package/es/shared/component-helper.js.map +1 -1
  488. package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
  489. package/es/shared/helpers/assignPropsWithContext.js +12 -0
  490. package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
  491. package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
  492. package/es/shared/helpers/extendPropsWithContext.js +1 -1
  493. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  494. package/es/shared/helpers/filterValidProps.d.ts +1 -0
  495. package/es/shared/helpers/filterValidProps.js.map +1 -1
  496. package/es/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  497. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  498. package/es/style/core/scopes.scss +1 -1
  499. package/es/style/dnb-ui-basis.css +1 -1
  500. package/es/style/dnb-ui-basis.min.css +1 -1
  501. package/es/style/dnb-ui-body.css +1 -1
  502. package/es/style/dnb-ui-body.min.css +1 -1
  503. package/es/style/dnb-ui-components.css +129 -98
  504. package/es/style/dnb-ui-components.min.css +2 -2
  505. package/es/style/dnb-ui-core.css +1 -1
  506. package/es/style/dnb-ui-core.min.css +1 -1
  507. package/es/style/dnb-ui-extensions.css +77 -43
  508. package/es/style/dnb-ui-extensions.min.css +1 -1
  509. package/es/style/dnb-ui-forms.css +77 -43
  510. package/es/style/dnb-ui-forms.min.css +1 -1
  511. package/es/style/dnb-ui-forms.scss +1 -1
  512. package/es/style/themes/eiendom/basis.js +1 -0
  513. package/es/style/themes/eiendom/basis.js.map +1 -0
  514. package/es/style/themes/eiendom/index.js +3 -0
  515. package/es/style/themes/eiendom/index.js.map +1 -0
  516. package/es/style/themes/sbanken/basis.js +1 -0
  517. package/es/style/themes/sbanken/basis.js.map +1 -0
  518. package/es/style/themes/sbanken/index.d.ts +1 -0
  519. package/es/style/themes/sbanken/index.js +3 -0
  520. package/es/style/themes/sbanken/index.js.map +1 -0
  521. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  522. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  523. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  524. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  525. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  526. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  527. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  528. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  529. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  530. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  531. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  532. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  533. package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
  534. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  535. package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  536. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  537. package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
  538. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  539. package/es/style/themes/ui/basis.d.ts +1 -0
  540. package/es/style/themes/ui/basis.js +1 -0
  541. package/es/style/themes/ui/basis.js.map +1 -0
  542. package/es/style/themes/ui/index.d.ts +1 -0
  543. package/es/style/themes/ui/index.js +3 -0
  544. package/es/style/themes/ui/index.js.map +1 -0
  545. package/esm/dnb-ui-basis.min.mjs +1 -1
  546. package/esm/dnb-ui-components.min.mjs +1 -1
  547. package/esm/dnb-ui-elements.min.mjs +1 -1
  548. package/esm/dnb-ui-extensions.min.mjs +3 -3
  549. package/esm/dnb-ui-lib.min.mjs +1 -1
  550. package/extensions/forms/DataContext/Context.d.ts +7 -2
  551. package/extensions/forms/DataContext/Context.js +0 -2
  552. package/extensions/forms/DataContext/Context.js.map +1 -1
  553. package/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  554. package/extensions/forms/DataContext/Provider/Provider.js +69 -35
  555. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  556. package/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  557. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  558. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  559. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  560. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  561. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  562. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  563. package/extensions/forms/Field/Name/Name.d.ts +10 -0
  564. package/extensions/forms/Field/Name/Name.js +63 -0
  565. package/extensions/forms/Field/Name/Name.js.map +1 -0
  566. package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  567. package/extensions/forms/Field/Name/NameDocs.js +8 -0
  568. package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  569. package/extensions/forms/Field/Name/index.d.ts +2 -0
  570. package/extensions/forms/Field/Name/index.js +3 -0
  571. package/extensions/forms/Field/Name/index.js.map +1 -0
  572. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  573. package/extensions/forms/Field/Number/Number.js.map +1 -1
  574. package/extensions/forms/Field/Option/Option.d.ts +2 -0
  575. package/extensions/forms/Field/Option/Option.js +20 -0
  576. package/extensions/forms/Field/Option/Option.js.map +1 -1
  577. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  578. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  579. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  580. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  581. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  582. package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  583. package/extensions/forms/Field/Selection/Selection.js +20 -32
  584. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  585. package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  586. package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  587. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  588. package/extensions/forms/Field/String/String.d.ts +2 -2
  589. package/extensions/forms/Field/String/String.js.map +1 -1
  590. package/extensions/forms/Field/index.d.ts +1 -0
  591. package/extensions/forms/Field/index.js +1 -0
  592. package/extensions/forms/Field/index.js.map +1 -1
  593. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  594. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  595. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  596. package/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  597. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  598. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  599. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  600. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  601. package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  602. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  603. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  604. package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  605. package/extensions/forms/Form/FieldProps/index.js +3 -0
  606. package/extensions/forms/Form/FieldProps/index.js.map +1 -0
  607. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  608. package/extensions/forms/Form/Handler/Handler.js +18 -4
  609. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  610. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  611. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  612. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  613. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  614. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  615. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  616. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  617. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  618. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  619. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  620. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  621. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  622. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  623. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  624. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  625. package/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  626. package/extensions/forms/Form/Visibility/Visibility.js +7 -4
  627. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  628. package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  629. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  630. package/extensions/forms/Form/index.d.ts +1 -0
  631. package/extensions/forms/Form/index.js +1 -0
  632. package/extensions/forms/Form/index.js.map +1 -1
  633. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  634. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  635. package/extensions/forms/Iterate/Array/Array.js +2 -2
  636. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  637. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  638. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  639. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  640. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  641. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  642. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  643. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  644. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  645. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  646. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  647. package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  648. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  649. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  650. package/extensions/forms/Value/Boolean/Boolean.js +8 -3
  651. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  652. package/extensions/forms/Value/Name/Name.d.ts +10 -0
  653. package/extensions/forms/Value/Name/Name.js +40 -0
  654. package/extensions/forms/Value/Name/Name.js.map +1 -0
  655. package/extensions/forms/Value/Name/index.d.ts +2 -0
  656. package/extensions/forms/Value/Name/index.js +3 -0
  657. package/extensions/forms/Value/Name/index.js.map +1 -0
  658. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  659. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  660. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  661. package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  662. package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  663. package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  664. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  665. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  666. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  667. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  668. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  669. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  670. package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  671. package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  672. package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  673. package/extensions/forms/Value/String/String.js +8 -3
  674. package/extensions/forms/Value/String/String.js.map +1 -1
  675. package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  676. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  677. package/extensions/forms/Value/ValueDocs.js +6 -1
  678. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  679. package/extensions/forms/Value/index.d.ts +3 -0
  680. package/extensions/forms/Value/index.js +3 -0
  681. package/extensions/forms/Value/index.js.map +1 -1
  682. package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  683. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  684. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  685. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  686. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  687. package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  688. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  689. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  690. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
  691. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  692. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  693. package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
  694. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  695. package/extensions/forms/Wizard/Step/Step.js +14 -2
  696. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  697. package/extensions/forms/Wizard/hooks/useStep.js +3 -2
  698. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  699. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  700. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  701. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  702. package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  703. package/extensions/forms/constants/locales/en-GB.js +12 -3
  704. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  705. package/extensions/forms/constants/locales/en-US.d.ts +9 -0
  706. package/extensions/forms/constants/locales/index.d.ts +18 -0
  707. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  708. package/extensions/forms/constants/locales/nb-NO.js +11 -2
  709. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  710. package/extensions/forms/hooks/useFieldProps.js +8 -4
  711. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  712. package/extensions/forms/hooks/useTranslation.js +3 -1
  713. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  714. package/extensions/forms/style/dnb-forms.css +77 -43
  715. package/extensions/forms/style/dnb-forms.min.css +1 -1
  716. package/extensions/forms/types.d.ts +3 -2
  717. package/extensions/forms/types.js.map +1 -1
  718. package/fragments/drawer-list/DrawerList.d.ts +8 -4
  719. package/package.json +1 -1
  720. package/shared/Context.d.ts +4 -4
  721. package/shared/Context.js.map +1 -1
  722. package/shared/Eufemia.d.ts +1 -1
  723. package/shared/Eufemia.js +2 -2
  724. package/shared/Eufemia.js.map +1 -1
  725. package/shared/component-helper.d.ts +1 -0
  726. package/shared/component-helper.js +2 -1
  727. package/shared/component-helper.js.map +1 -1
  728. package/shared/helpers/assignPropsWithContext.d.ts +1 -0
  729. package/shared/helpers/assignPropsWithContext.js +16 -0
  730. package/shared/helpers/assignPropsWithContext.js.map +1 -0
  731. package/shared/helpers/extendPropsWithContext.d.ts +1 -0
  732. package/shared/helpers/extendPropsWithContext.js +1 -1
  733. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  734. package/shared/helpers/filterValidProps.d.ts +1 -0
  735. package/shared/helpers/filterValidProps.js.map +1 -1
  736. package/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  737. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  738. package/style/core/scopes.scss +1 -1
  739. package/style/dnb-ui-basis.css +1 -1
  740. package/style/dnb-ui-basis.min.css +1 -1
  741. package/style/dnb-ui-body.css +1 -1
  742. package/style/dnb-ui-body.min.css +1 -1
  743. package/style/dnb-ui-components.css +129 -98
  744. package/style/dnb-ui-components.min.css +2 -2
  745. package/style/dnb-ui-core.css +1 -1
  746. package/style/dnb-ui-core.min.css +1 -1
  747. package/style/dnb-ui-extensions.css +77 -43
  748. package/style/dnb-ui-extensions.min.css +1 -1
  749. package/style/dnb-ui-forms.css +77 -43
  750. package/style/dnb-ui-forms.min.css +1 -1
  751. package/style/dnb-ui-forms.scss +1 -1
  752. package/style/themes/eiendom/basis.d.ts +1 -0
  753. package/style/themes/eiendom/basis.js +1 -0
  754. package/style/themes/eiendom/basis.js.map +1 -0
  755. package/style/themes/eiendom/index.d.ts +1 -0
  756. package/style/themes/eiendom/index.js +3 -0
  757. package/style/themes/eiendom/index.js.map +1 -0
  758. package/style/themes/sbanken/basis.d.ts +1 -0
  759. package/style/themes/sbanken/basis.js +1 -0
  760. package/style/themes/sbanken/basis.js.map +1 -0
  761. package/style/themes/sbanken/index.d.ts +1 -0
  762. package/style/themes/sbanken/index.js +3 -0
  763. package/style/themes/sbanken/index.js.map +1 -0
  764. package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  765. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  766. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  767. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  768. package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  769. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  770. package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  771. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  772. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  773. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  774. package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  775. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  776. package/style/themes/theme-ui/ui-theme-components.css +205 -141
  777. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  778. package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  779. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  780. package/style/themes/theme-ui/ui-theme-forms.css +77 -43
  781. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  782. package/style/themes/ui/basis.d.ts +1 -0
  783. package/style/themes/ui/basis.js +1 -0
  784. package/style/themes/ui/basis.js.map +1 -0
  785. package/style/themes/ui/index.d.ts +1 -0
  786. package/style/themes/ui/index.js +3 -0
  787. package/style/themes/ui/index.js.map +1 -0
  788. package/umd/dnb-ui-basis.min.js +1 -1
  789. package/umd/dnb-ui-components.min.js +1 -1
  790. package/umd/dnb-ui-elements.min.js +1 -1
  791. package/umd/dnb-ui-extensions.min.js +3 -3
  792. package/umd/dnb-ui-lib.min.js +1 -1
  793. package/cjs/style/themes/eiendom.js +0 -5
  794. package/cjs/style/themes/eiendom.js.map +0 -1
  795. package/cjs/style/themes/sbanken.js +0 -5
  796. package/cjs/style/themes/sbanken.js.map +0 -1
  797. package/cjs/style/themes/ui.js +0 -5
  798. package/cjs/style/themes/ui.js.map +0 -1
  799. package/es/style/themes/eiendom.js +0 -3
  800. package/es/style/themes/eiendom.js.map +0 -1
  801. package/es/style/themes/sbanken.js +0 -3
  802. package/es/style/themes/sbanken.js.map +0 -1
  803. package/es/style/themes/ui.js +0 -3
  804. package/es/style/themes/ui.js.map +0 -1
  805. package/style/themes/eiendom.js +0 -3
  806. package/style/themes/eiendom.js.map +0 -1
  807. package/style/themes/sbanken.js +0 -3
  808. package/style/themes/sbanken.js.map +0 -1
  809. package/style/themes/ui.js +0 -3
  810. package/style/themes/ui.js.map +0 -1
  811. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  812. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  813. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  814. /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
  815. /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
  816. /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
  817. /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
  818. /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
  819. /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
  820. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  821. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  822. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  823. /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
  824. /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
  825. /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
  826. /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  827. /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  828. /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
package/shared/Eufemia.js CHANGED
@@ -1,9 +1,9 @@
1
- export const version = '10.28.0';
1
+ export const version = '10.30.0';
2
2
  export function init() {
3
3
  if (typeof window !== 'undefined') {
4
4
  class Eufemia {
5
5
  get version() {
6
- return '10.28.0';
6
+ return '10.30.0';
7
7
  }
8
8
  }
9
9
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.28.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.28.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.30.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.30.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -13,6 +13,7 @@ export function findElementInChildren(children: any, find: any): any;
13
13
  export function escapeRegexChars(str: any): any;
14
14
  export function removeUndefinedProps(object: any): any;
15
15
  export { InteractionInvalidation } from "./helpers/InteractionInvalidation";
16
+ export { assignPropsWithContext } from "./helpers/assignPropsWithContext";
16
17
  export { filterProps } from "./helpers/filterProps";
17
18
  export function validateDOMAttributes(props: any, params: any): any;
18
19
  export function processChildren(props: any): any;
@@ -9,6 +9,7 @@ import { getPreviousSibling } from './helpers/getPreviousSibling';
9
9
  import { init } from './Eufemia';
10
10
  export { InteractionInvalidation } from './helpers/InteractionInvalidation';
11
11
  export { extendPropsWithContext, extendPropsWithContextInClassComponent } from './helpers/extendPropsWithContext';
12
+ export { assignPropsWithContext } from './helpers/assignPropsWithContext';
12
13
  export { filterProps } from './helpers/filterProps';
13
14
  export { getPreviousSibling, warn };
14
15
  init();
@@ -260,7 +261,7 @@ export const toPascalCase = s => s.split(/_/g).reduce((acc, cur) => acc + cur.re
260
261
  export const toSnakeCase = str => str.replace(/\B[A-Z]/g, letter => `_${letter}`).toLowerCase();
261
262
  export const toKebabCase = str => str.replace(/\B[A-Z]/g, letter => `-${letter}`).toLowerCase();
262
263
  export function toCapitalized(str) {
263
- return str.toLowerCase().replace(/(?<=(^|\s))(.)/g, l => l.toUpperCase());
264
+ return typeof str === 'string' ? str.toLowerCase().replace(/(?<=(^|\s|-))(.)/g, l => l.toUpperCase()) : str;
264
265
  }
265
266
  export const detectOutsideClick = (ignoreElements, onSuccess, options) => new DetectOutsideClickClass(ignoreElements, onSuccess, options);
266
267
  export class DetectOutsideClickClass {
@@ -1 +1 @@
1
- {"version":3,"file":"component-helper.js","names":["React","keycode","whatInput","warn","PLATFORM_MAC","PLATFORM_WIN","PLATFORM_LINUX","getPreviousSibling","init","InteractionInvalidation","extendPropsWithContext","extendPropsWithContextInClassComponent","filterProps","specificKeys","defineNavigator","isTouchDevice","document","intent","documentElement","getAttribute","e","handleNavigator","window","navigator","IS_TEST","platform","match","RegExp","setAttribute","removeEventListener","readyState","addEventListener","validateDOMAttributes","props","params","attributes","attr","JSON","parse","Object","entries","forEach","_ref","key","value","assign","disabled","space","top","right","bottom","left","no_collapse","innerSpace","tabindex","tabIndex","i","test","processChildren","global","Array","isArray","registeredElements","length","cache","reverse","map","_ref2","cb","includes","isFrozen","_objectSpread","children","createElement","Fragment","filter","Boolean","res","onlyTexts","reduce","pV","cV","push","join","extend","first","_len","arguments","objects","_key","keepRef","shift","acc1","object","acc2","_ref3","keys","isTrue","String","dispatchCustomElementEvent","src","eventName","eventObjectOrig","ret","undefined","eventObject","event","currentTarget","dataset","replace","target","r","apply","toCamelCase","toSnakeCase","s","split","acc","cur","g0","g1","g2","toUpperCase","toLowerCase","toPascalCase","str","letter","toKebabCase","toCapitalized","l","detectOutsideClick","ignoreElements","onSuccess","options","DetectOutsideClickClass","constructor","_defineProperty","_ref4","currentElement","tagName","pageX","clientWidth","pageY","clientHeight","checkIfHasScrollbar","elem","parentNode","handleClickOutside","checkOutsideClick","keydownCallback","keyCode","includedKeys","keyupCallback","remove","scrollHeight","offsetHeight","scrollWidth","offsetWidth","overflowIsScrollable","style","getComputedStyle","overflow","overflowX","overflowY","makeUniqueId","prefix","Math","random","toString","substr","idIncrement","slice","slugify","matchAll","string","regex","from","matches","exec","isChildOfElement","element","callback","contains","parentElement","roundToNearest","num","diff","getClosestScrollViewElement","convertJsxToString","elements","separator","process","word","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","_len2","_key2","combineAriaBy","combineDescribedBy","_len3","_key3","combineDetails","_len4","_key4","type","findElementInChildren","find","result","some","escapeRegexChars","removeUndefinedProps"],"sources":["../../../src/shared/component-helper.js"],"sourcesContent":["/**\n * Component helpers\n *\n */\n\nimport React from 'react'\nimport keycode from 'keycode'\nimport whatInput from 'what-input'\nimport {\n warn,\n PLATFORM_MAC,\n PLATFORM_WIN,\n PLATFORM_LINUX,\n} from './helpers'\nimport { getPreviousSibling } from './helpers/getPreviousSibling'\nimport { init } from './Eufemia'\n\nexport { InteractionInvalidation } from './helpers/InteractionInvalidation'\nexport {\n extendPropsWithContext,\n extendPropsWithContextInClassComponent,\n} from './helpers/extendPropsWithContext'\nexport { filterProps } from './helpers/filterProps'\n\nexport { getPreviousSibling, warn }\n\ninit()\n\n// run component helper functions\nwhatInput.specificKeys([9])\ndefineNavigator()\n\n/**\n * Check if device is touch device or not\n */\nexport function isTouchDevice() {\n if (typeof document !== 'undefined') {\n let intent = false\n try {\n intent = document.documentElement.getAttribute('data-whatintent')\n } catch (e) {\n //\n }\n return intent === 'touch'\n }\n return false\n}\n\nexport function defineNavigator() {\n const handleNavigator = () => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n typeof navigator === 'undefined'\n ) {\n return\n }\n\n try {\n if (!(typeof window !== 'undefined' && window.IS_TEST)) {\n if (navigator.platform.match(new RegExp(PLATFORM_MAC)) !== null) {\n document.documentElement.setAttribute('data-os', 'mac')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_WIN)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'win')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_LINUX)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'linux')\n }\n } else {\n document.documentElement.setAttribute('data-os', 'other')\n }\n } catch (e) {\n warn(e)\n }\n\n document.removeEventListener('DOMContentLoaded', handleNavigator)\n }\n\n if (\n typeof document !== 'undefined' &&\n document.readyState === 'loading'\n ) {\n document.addEventListener('DOMContentLoaded', handleNavigator)\n } else {\n handleNavigator()\n }\n}\n\nexport const validateDOMAttributes = (props, params) => {\n // if there is an \"attributes\" prop, prepare these\n // mostly used for prop example usage\n if (props && props.attributes) {\n let attr = props.attributes\n if (attr) {\n if (attr[0] === '{') {\n attr = JSON.parse(attr)\n }\n if (attr && typeof attr === 'object') {\n Object.entries(attr).forEach(([key, value]) => {\n Object.assign(params, { [key]: value })\n })\n }\n delete params.attributes\n }\n }\n\n // remove disabled, in case it is false (this is for web components support)\n if (params.disabled === null || params.disabled === 'false') {\n delete params.disabled\n }\n if (typeof params.space !== 'undefined') {\n delete params.space\n }\n if (typeof params.top !== 'undefined') {\n delete params.top\n }\n if (typeof params.right !== 'undefined') {\n delete params.right\n }\n if (typeof params.bottom !== 'undefined') {\n delete params.bottom\n }\n if (typeof params.left !== 'undefined') {\n delete params.left\n }\n if (typeof params.no_collapse !== 'undefined') {\n delete params.no_collapse\n }\n if (typeof params.innerSpace !== 'undefined') {\n delete params.innerSpace\n }\n\n // in case disabled is a string, it its enabled, send it in as a true (this is for web components support)\n else if (params.disabled === 'true') {\n params.disabled = true\n }\n if (params.disabled === true) {\n params['aria-disabled'] = true\n }\n\n if (props && props.tabindex) {\n let tabIndex = props.tabindex\n if (tabIndex === 'off') {\n tabIndex = '-1'\n }\n params['tabIndex'] = tabIndex\n }\n\n // make sure we don't return a render prop as a DOM attribute\n if (params && typeof params === 'object') {\n for (const i in params) {\n if (\n // is React\n typeof params[i] === 'function' &&\n // only React Style props, like onClick are allowed\n !/(^[a-z]{1,}[A-Z]{1})/.test(i)\n ) {\n delete params[i]\n\n // filter out invalid attributes\n } else if (\n // we don't want NULL values\n params[i] === null ||\n // we don't want\n /[^a-z-]/i.test(i)\n // (typeof params[i] !== 'string' && /[^a-z-]/i.test(i))\n ) {\n delete params[i]\n }\n }\n }\n\n return params\n}\n\nexport const processChildren = (props) => {\n if (!props) {\n return null\n }\n\n // If used in WB, call functions who starts with \"render_\"\n if (\n typeof global !== 'undefined' &&\n Array.isArray(global.registeredElements) &&\n global.registeredElements.length > 0\n ) {\n let cache = null\n Object.entries(props)\n .reverse()\n .map(([key, cb]) => {\n if (key.includes('render_') && /^render_/.test(key)) {\n if (typeof cb === 'function') {\n if (cache) {\n if (Object.isFrozen(props)) {\n props = { ...props }\n }\n props.children = cache\n }\n return (cache = (\n <React.Fragment key={key}>{cb(props)}</React.Fragment>\n ))\n }\n }\n\n return null\n })\n .filter(Boolean)\n if (cache) {\n return cache\n }\n }\n\n const res =\n typeof props.children === 'function'\n ? props.children(props)\n : props.children\n\n // if we get several react children which represents only a text\n if (Array.isArray(res)) {\n const onlyTexts = res.reduce((pV, cV) => {\n if (typeof cV === 'string' || typeof cV === 'number') {\n pV.push(cV)\n }\n return pV\n }, [])\n\n // if there was one or more text elements\n if (onlyTexts.length === res.length && onlyTexts.length > 0) {\n return onlyTexts.join('')\n }\n }\n\n return res\n}\n\n// extends given objects recursively and removes entries with null values\n// makes sure that we by default return a totally new object every time\nexport const extend = (...objects) => {\n let first = {}\n const keepRef = objects[0]\n\n if (keepRef === true || keepRef === false) {\n // remove settings value\n objects.shift()\n\n if (keepRef) {\n // by extracting the first, we keep the same main object reference\n first = objects.shift()\n }\n }\n\n return objects.reduce((acc1, object) => {\n if (object) {\n acc1 = Object.assign(\n acc1,\n Object.entries(object).reduce((acc2, [key, value]) => {\n if (value !== null) {\n // go recursively\n if (typeof value === 'object') {\n value = extend(acc1[key] || {}, value)\n if (Object.keys(value).length > 0) {\n acc2[key] = value\n }\n } else {\n acc2[key] = value\n }\n }\n return acc2\n }, {})\n )\n }\n return acc1\n }, first)\n}\n\n// check if value is \"truthy\"\nexport const isTrue = (value) => {\n if (\n value !== null &&\n typeof value !== 'undefined' &&\n (String(value) === 'true' || String(value) === '1')\n ) {\n return true\n }\n return false\n}\n\nexport const dispatchCustomElementEvent = (\n src,\n eventName,\n eventObjectOrig\n) => {\n let ret = undefined\n\n const eventObject = {\n ...((eventObjectOrig && eventObjectOrig.event) || {}),\n ...eventObjectOrig,\n }\n\n // distribute dataset like \"data-*\" to both currentTarget and target\n if (eventObject && eventObject.attributes && eventObject.event) {\n const currentTarget = eventObject.event.currentTarget\n if (currentTarget) {\n try {\n // 1. create new dataset, and copy if exists\n const dataset = { ...(currentTarget.dataset || {}) }\n\n // 2. copy in our attributes if they are of \"data-\" type\n const attributes = { ...eventObject.attributes }\n for (const i in attributes) {\n if (/^data-/.test(i)) {\n dataset[String(i).replace(/^data-/, '')] = attributes[i]\n }\n }\n\n // 3. and distribute them to the targets. Use the for method because of immutability\n for (const i in dataset) {\n if (eventObject.event.currentTarget.dataset) {\n eventObject.event.currentTarget.dataset[i] = dataset[i]\n }\n if (\n eventObject.event.target &&\n eventObject.event.target.dataset\n ) {\n eventObject.event.target.dataset[i] = dataset[i]\n }\n }\n } catch (e) {\n warn('Error on handling dataset:', e)\n }\n }\n }\n\n const props = (src && src.props) || src\n\n // call the default snake case event\n if (eventName.includes('_')) {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call Synthetic React event camelCase naming events\n eventName = toCamelCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n } else {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call (in future deprecated) event snake case naming events\n eventName = toSnakeCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n }\n\n return ret\n}\n\n// transform on_click to onClick\nexport const toCamelCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur, i) =>\n acc +\n (i === 0\n ? cur\n : cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n )),\n ''\n )\n\n// TODO: Test if this solution is faster\n// const toCamelCase = (str) =>\n// str.replace(/([-_][a-z])/g, (group) =>\n// group.toUpperCase().replace('-', '').replace('_', '')\n// )\n\n// transform my_component to MyComponent\nexport const toPascalCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur) =>\n acc +\n cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n ),\n ''\n )\n\n// transform MyComponent to my_component\nexport const toSnakeCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `_${letter}`).toLowerCase()\n\n// transform MyComponent to my-component\nexport const toKebabCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `-${letter}`).toLowerCase()\n\nexport function toCapitalized(str) {\n return str\n .toLowerCase()\n .replace(/(?<=(^|\\s))(.)/g, (l) => l.toUpperCase())\n}\n\n/**\n * [detectOutsideClick Detects a click outside a given DOM element]\n * @param {[type]} ignoreElement [The element we want to protect from a click]\n * @param {[type]} onSuccess [Will be called on outside click]\n * @return {[type]} [void]\n */\nexport const detectOutsideClick = (ignoreElements, onSuccess, options) =>\n new DetectOutsideClickClass(ignoreElements, onSuccess, options)\n\n// Used by detectOutsideClick\nexport class DetectOutsideClickClass {\n constructor(ignoreElements, onSuccess, options = {}) {\n if (\n !this.handleClickOutside &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined'\n ) {\n if (!Array.isArray(ignoreElements)) {\n ignoreElements = [ignoreElements]\n }\n this.handleClickOutside = (event) => {\n this.checkOutsideClick(\n {\n event,\n ignoreElements,\n },\n () => typeof onSuccess === 'function' && onSuccess({ event })\n )\n }\n document.addEventListener('mousedown', this.handleClickOutside)\n\n this.keydownCallback = (event) => {\n const keyCode = keycode(event)\n if (keyCode === 'esc') {\n window.removeEventListener('keydown', this.keydownCallback)\n if (typeof onSuccess === 'function') {\n onSuccess({ event })\n }\n }\n }\n window.addEventListener('keydown', this.keydownCallback)\n\n // e.g. includedKeys = ['tab']\n if (options.includedKeys) {\n // use keyup so we get the correct new target\n this.keyupCallback = (event) => {\n const keyCode = keycode(event)\n if (\n options.includedKeys.includes(keyCode) &&\n typeof this.handleClickOutside === 'function'\n ) {\n this.handleClickOutside(event, () => {\n if (this.keyupCallback)\n window.removeEventListener('keyup', this.keyupCallback)\n })\n }\n }\n window.addEventListener('keyup', this.keyupCallback)\n }\n }\n }\n\n remove() {\n if (this.handleClickOutside && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.handleClickOutside)\n this.handleClickOutside = null\n }\n if (this.keydownCallback && typeof window !== 'undefined') {\n window.removeEventListener('keydown', this.keydownCallback)\n this.keydownCallback = null\n }\n if (this.keyupCallback && typeof window !== 'undefined') {\n window.removeEventListener('keyup', this.keyupCallback)\n this.keyupCallback = null\n }\n }\n\n checkOutsideClick = ({ event, ignoreElements }, onSuccess = null) => {\n try {\n const currentElement = event.target\n\n // we also check if currentElement is documentElement\n // and if it has scrollbars, we then ignore the click\n if (\n currentElement?.tagName === 'HTML' &&\n (event.pageX > document.documentElement.clientWidth - 40 ||\n event.pageY > document.documentElement.clientHeight - 40)\n ) {\n return // stop here\n }\n\n // check if element has e.g. \"overflow: scroll\"\n if (checkIfHasScrollbar(currentElement)) {\n return // stop here\n }\n\n // check the rest\n for (let i = 0, elem, l = ignoreElements.length; i < l; ++i) {\n elem = currentElement\n if (!ignoreElements[i]) {\n continue\n }\n do {\n if (elem === ignoreElements[i]) {\n return // stop here\n }\n elem = elem && elem.parentNode\n } while (elem)\n }\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n } catch (e) {\n warn(e)\n }\n }\n}\n\nexport const checkIfHasScrollbar = (elem) => {\n return (\n elem &&\n (elem.scrollHeight > elem.offsetHeight ||\n elem.scrollWidth > elem.offsetWidth) &&\n overflowIsScrollable(elem)\n )\n}\nconst overflowIsScrollable = (elem) => {\n const style =\n typeof window !== 'undefined' ? window.getComputedStyle(elem) : {}\n return /scroll|auto/i.test(\n (style.overflow || '') +\n (style.overflowX || '') +\n (style.overflowY || '')\n )\n}\n\nexport const makeUniqueId = (prefix = 'id-', length = 8) =>\n prefix +\n String(\n Math.random().toString(36).substr(2, length) + idIncrement++\n ).slice(-length)\nlet idIncrement = 0\n\nexport const slugify = (s) =>\n String(s)\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '')\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n// NB: in future we can use String.matchAll() instead\nexport const matchAll = (string, regex) => {\n if (typeof string.matchAll === 'function') {\n return Array.from(string.matchAll(regex))\n }\n const matches = []\n let match\n while ((match = regex.exec(string))) {\n matches.push(match)\n }\n return matches\n}\n\n/**\n * Check if an element exists in its children\n * If it finds it, the child \"element\" of target will be returned.\n *\n * @param {HTMLElement} element The DOM Element to find\n * @param {HTMLElement} target The DOM Element that should contain \"element\"\n * @param {function} callback (optional)\n * @returns {HTMLElement | null} Returns the found child of all existing dom elements inside of \"target\"\n */\nexport const isChildOfElement = (element, target, callback = null) => {\n try {\n const contains = (element) => {\n if (callback) {\n const res = callback(element)\n if (res) {\n return element\n }\n }\n return element && element === target\n }\n\n if (contains(element)) {\n return element\n }\n\n while (\n (element = element && element.parentElement) &&\n !contains(element)\n );\n } catch (e) {\n //\n }\n\n return element\n}\n\n// Round number to nearest target number\nexport const roundToNearest = (num, target) => {\n const diff = num % target\n return diff > target / 2 ? num - diff + target : num - diff\n}\n\nexport const getClosestScrollViewElement = (currentElement) => {\n return getPreviousSibling('.dnb-scroll-view', currentElement)\n}\n\nexport const convertJsxToString = (elements, separator = undefined) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\n if (typeof word.props.children === 'string') {\n word = word.props.children.trim()\n } else if (Array.isArray(word.props.children)) {\n word = word.props.children.reduce((acc, word) => {\n if (typeof word !== 'string') {\n word = process(word)\n }\n if (typeof word === 'string') {\n acc = (acc + (separator || '') + word).trim()\n }\n return acc\n }, '')\n } else {\n return null\n }\n }\n\n return word\n }\n\n return elements\n .map((word) => process(word))\n .filter(Boolean)\n .join(separator)\n .trim()\n}\n\nexport function convertStatusToStateOnly(status, state) {\n return status ? state : null\n}\n\nexport function getStatusState(status) {\n return (\n status && status !== 'error' && status !== 'warn' && status !== 'info'\n )\n}\n\nexport function combineLabelledBy(...params) {\n return combineAriaBy('aria-labelledby', params)\n}\nexport function combineDescribedBy(...params) {\n return combineAriaBy('aria-describedby', params)\n}\nexport function combineDetails(...params) {\n return combineAriaBy('aria-details', params)\n}\nfunction combineAriaBy(type, params) {\n params = params.map((cur) => {\n if (Array.isArray(cur)) {\n return cur.join(' ')\n }\n if (cur && params.includes(cur[type])) {\n return null\n }\n if (cur && typeof cur[type] !== 'undefined') {\n cur = cur[type]\n }\n if (typeof cur !== 'string') {\n cur = null\n }\n return cur\n })\n params = params.filter(Boolean).join(' ')\n if (params === '') {\n params = undefined\n }\n return params\n}\n\nexport function findElementInChildren(children, find) {\n if (!Array.isArray(children)) {\n children = [children]\n }\n\n let result = null\n children.some((cur) => {\n if (cur && cur.props && cur.props.children) {\n const res = findElementInChildren(cur.props.children, find)\n if (res) {\n return (result = res)\n }\n }\n if (React.isValidElement(cur) && find(cur)) {\n return (result = cur)\n }\n return null\n })\n\n return result\n}\n\nexport function escapeRegexChars(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&')\n}\n\nexport function removeUndefinedProps(object) {\n Object.keys(object).forEach((key) => {\n if (object[key] === undefined) {\n delete object[key]\n }\n })\n return object\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"component-helper.js","names":["React","keycode","whatInput","warn","PLATFORM_MAC","PLATFORM_WIN","PLATFORM_LINUX","getPreviousSibling","init","InteractionInvalidation","extendPropsWithContext","extendPropsWithContextInClassComponent","assignPropsWithContext","filterProps","specificKeys","defineNavigator","isTouchDevice","document","intent","documentElement","getAttribute","e","handleNavigator","window","navigator","IS_TEST","platform","match","RegExp","setAttribute","removeEventListener","readyState","addEventListener","validateDOMAttributes","props","params","attributes","attr","JSON","parse","Object","entries","forEach","_ref","key","value","assign","disabled","space","top","right","bottom","left","no_collapse","innerSpace","tabindex","tabIndex","i","test","processChildren","global","Array","isArray","registeredElements","length","cache","reverse","map","_ref2","cb","includes","isFrozen","_objectSpread","children","createElement","Fragment","filter","Boolean","res","onlyTexts","reduce","pV","cV","push","join","extend","first","_len","arguments","objects","_key","keepRef","shift","acc1","object","acc2","_ref3","keys","isTrue","String","dispatchCustomElementEvent","src","eventName","eventObjectOrig","ret","undefined","eventObject","event","currentTarget","dataset","replace","target","r","apply","toCamelCase","toSnakeCase","s","split","acc","cur","g0","g1","g2","toUpperCase","toLowerCase","toPascalCase","str","letter","toKebabCase","toCapitalized","l","detectOutsideClick","ignoreElements","onSuccess","options","DetectOutsideClickClass","constructor","_defineProperty","_ref4","currentElement","tagName","pageX","clientWidth","pageY","clientHeight","checkIfHasScrollbar","elem","parentNode","handleClickOutside","checkOutsideClick","keydownCallback","keyCode","includedKeys","keyupCallback","remove","scrollHeight","offsetHeight","scrollWidth","offsetWidth","overflowIsScrollable","style","getComputedStyle","overflow","overflowX","overflowY","makeUniqueId","prefix","Math","random","toString","substr","idIncrement","slice","slugify","matchAll","string","regex","from","matches","exec","isChildOfElement","element","callback","contains","parentElement","roundToNearest","num","diff","getClosestScrollViewElement","convertJsxToString","elements","separator","process","word","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","_len2","_key2","combineAriaBy","combineDescribedBy","_len3","_key3","combineDetails","_len4","_key4","type","findElementInChildren","find","result","some","escapeRegexChars","removeUndefinedProps"],"sources":["../../../src/shared/component-helper.js"],"sourcesContent":["/**\n * Component helpers\n *\n */\n\nimport React from 'react'\nimport keycode from 'keycode'\nimport whatInput from 'what-input'\nimport {\n warn,\n PLATFORM_MAC,\n PLATFORM_WIN,\n PLATFORM_LINUX,\n} from './helpers'\nimport { getPreviousSibling } from './helpers/getPreviousSibling'\nimport { init } from './Eufemia'\n\nexport { InteractionInvalidation } from './helpers/InteractionInvalidation'\nexport {\n extendPropsWithContext,\n extendPropsWithContextInClassComponent,\n} from './helpers/extendPropsWithContext'\nexport { assignPropsWithContext } from './helpers/assignPropsWithContext'\nexport { filterProps } from './helpers/filterProps'\n\nexport { getPreviousSibling, warn }\n\ninit()\n\n// run component helper functions\nwhatInput.specificKeys([9])\ndefineNavigator()\n\n/**\n * Check if device is touch device or not\n */\nexport function isTouchDevice() {\n if (typeof document !== 'undefined') {\n let intent = false\n try {\n intent = document.documentElement.getAttribute('data-whatintent')\n } catch (e) {\n //\n }\n return intent === 'touch'\n }\n return false\n}\n\nexport function defineNavigator() {\n const handleNavigator = () => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n typeof navigator === 'undefined'\n ) {\n return\n }\n\n try {\n if (!(typeof window !== 'undefined' && window.IS_TEST)) {\n if (navigator.platform.match(new RegExp(PLATFORM_MAC)) !== null) {\n document.documentElement.setAttribute('data-os', 'mac')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_WIN)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'win')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_LINUX)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'linux')\n }\n } else {\n document.documentElement.setAttribute('data-os', 'other')\n }\n } catch (e) {\n warn(e)\n }\n\n document.removeEventListener('DOMContentLoaded', handleNavigator)\n }\n\n if (\n typeof document !== 'undefined' &&\n document.readyState === 'loading'\n ) {\n document.addEventListener('DOMContentLoaded', handleNavigator)\n } else {\n handleNavigator()\n }\n}\n\nexport const validateDOMAttributes = (props, params) => {\n // if there is an \"attributes\" prop, prepare these\n // mostly used for prop example usage\n if (props && props.attributes) {\n let attr = props.attributes\n if (attr) {\n if (attr[0] === '{') {\n attr = JSON.parse(attr)\n }\n if (attr && typeof attr === 'object') {\n Object.entries(attr).forEach(([key, value]) => {\n Object.assign(params, { [key]: value })\n })\n }\n delete params.attributes\n }\n }\n\n // remove disabled, in case it is false (this is for web components support)\n if (params.disabled === null || params.disabled === 'false') {\n delete params.disabled\n }\n if (typeof params.space !== 'undefined') {\n delete params.space\n }\n if (typeof params.top !== 'undefined') {\n delete params.top\n }\n if (typeof params.right !== 'undefined') {\n delete params.right\n }\n if (typeof params.bottom !== 'undefined') {\n delete params.bottom\n }\n if (typeof params.left !== 'undefined') {\n delete params.left\n }\n if (typeof params.no_collapse !== 'undefined') {\n delete params.no_collapse\n }\n if (typeof params.innerSpace !== 'undefined') {\n delete params.innerSpace\n }\n\n // in case disabled is a string, it its enabled, send it in as a true (this is for web components support)\n else if (params.disabled === 'true') {\n params.disabled = true\n }\n if (params.disabled === true) {\n params['aria-disabled'] = true\n }\n\n if (props && props.tabindex) {\n let tabIndex = props.tabindex\n if (tabIndex === 'off') {\n tabIndex = '-1'\n }\n params['tabIndex'] = tabIndex\n }\n\n // make sure we don't return a render prop as a DOM attribute\n if (params && typeof params === 'object') {\n for (const i in params) {\n if (\n // is React\n typeof params[i] === 'function' &&\n // only React Style props, like onClick are allowed\n !/(^[a-z]{1,}[A-Z]{1})/.test(i)\n ) {\n delete params[i]\n\n // filter out invalid attributes\n } else if (\n // we don't want NULL values\n params[i] === null ||\n // we don't want\n /[^a-z-]/i.test(i)\n // (typeof params[i] !== 'string' && /[^a-z-]/i.test(i))\n ) {\n delete params[i]\n }\n }\n }\n\n return params\n}\n\nexport const processChildren = (props) => {\n if (!props) {\n return null\n }\n\n // If used in WB, call functions who starts with \"render_\"\n if (\n typeof global !== 'undefined' &&\n Array.isArray(global.registeredElements) &&\n global.registeredElements.length > 0\n ) {\n let cache = null\n Object.entries(props)\n .reverse()\n .map(([key, cb]) => {\n if (key.includes('render_') && /^render_/.test(key)) {\n if (typeof cb === 'function') {\n if (cache) {\n if (Object.isFrozen(props)) {\n props = { ...props }\n }\n props.children = cache\n }\n return (cache = (\n <React.Fragment key={key}>{cb(props)}</React.Fragment>\n ))\n }\n }\n\n return null\n })\n .filter(Boolean)\n if (cache) {\n return cache\n }\n }\n\n const res =\n typeof props.children === 'function'\n ? props.children(props)\n : props.children\n\n // if we get several react children which represents only a text\n if (Array.isArray(res)) {\n const onlyTexts = res.reduce((pV, cV) => {\n if (typeof cV === 'string' || typeof cV === 'number') {\n pV.push(cV)\n }\n return pV\n }, [])\n\n // if there was one or more text elements\n if (onlyTexts.length === res.length && onlyTexts.length > 0) {\n return onlyTexts.join('')\n }\n }\n\n return res\n}\n\n// extends given objects recursively and removes entries with null values\n// makes sure that we by default return a totally new object every time\nexport const extend = (...objects) => {\n let first = {}\n const keepRef = objects[0]\n\n if (keepRef === true || keepRef === false) {\n // remove settings value\n objects.shift()\n\n if (keepRef) {\n // by extracting the first, we keep the same main object reference\n first = objects.shift()\n }\n }\n\n return objects.reduce((acc1, object) => {\n if (object) {\n acc1 = Object.assign(\n acc1,\n Object.entries(object).reduce((acc2, [key, value]) => {\n if (value !== null) {\n // go recursively\n if (typeof value === 'object') {\n value = extend(acc1[key] || {}, value)\n if (Object.keys(value).length > 0) {\n acc2[key] = value\n }\n } else {\n acc2[key] = value\n }\n }\n return acc2\n }, {})\n )\n }\n return acc1\n }, first)\n}\n\n// check if value is \"truthy\"\nexport const isTrue = (value) => {\n if (\n value !== null &&\n typeof value !== 'undefined' &&\n (String(value) === 'true' || String(value) === '1')\n ) {\n return true\n }\n return false\n}\n\nexport const dispatchCustomElementEvent = (\n src,\n eventName,\n eventObjectOrig\n) => {\n let ret = undefined\n\n const eventObject = {\n ...((eventObjectOrig && eventObjectOrig.event) || {}),\n ...eventObjectOrig,\n }\n\n // distribute dataset like \"data-*\" to both currentTarget and target\n if (eventObject && eventObject.attributes && eventObject.event) {\n const currentTarget = eventObject.event.currentTarget\n if (currentTarget) {\n try {\n // 1. create new dataset, and copy if exists\n const dataset = { ...(currentTarget.dataset || {}) }\n\n // 2. copy in our attributes if they are of \"data-\" type\n const attributes = { ...eventObject.attributes }\n for (const i in attributes) {\n if (/^data-/.test(i)) {\n dataset[String(i).replace(/^data-/, '')] = attributes[i]\n }\n }\n\n // 3. and distribute them to the targets. Use the for method because of immutability\n for (const i in dataset) {\n if (eventObject.event.currentTarget.dataset) {\n eventObject.event.currentTarget.dataset[i] = dataset[i]\n }\n if (\n eventObject.event.target &&\n eventObject.event.target.dataset\n ) {\n eventObject.event.target.dataset[i] = dataset[i]\n }\n }\n } catch (e) {\n warn('Error on handling dataset:', e)\n }\n }\n }\n\n const props = (src && src.props) || src\n\n // call the default snake case event\n if (eventName.includes('_')) {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call Synthetic React event camelCase naming events\n eventName = toCamelCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n } else {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call (in future deprecated) event snake case naming events\n eventName = toSnakeCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n }\n\n return ret\n}\n\n// transform on_click to onClick\nexport const toCamelCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur, i) =>\n acc +\n (i === 0\n ? cur\n : cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n )),\n ''\n )\n\n// TODO: Test if this solution is faster\n// const toCamelCase = (str) =>\n// str.replace(/([-_][a-z])/g, (group) =>\n// group.toUpperCase().replace('-', '').replace('_', '')\n// )\n\n// transform my_component to MyComponent\nexport const toPascalCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur) =>\n acc +\n cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n ),\n ''\n )\n\n// transform MyComponent to my_component\nexport const toSnakeCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `_${letter}`).toLowerCase()\n\n// transform MyComponent to my-component\nexport const toKebabCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `-${letter}`).toLowerCase()\n\nexport function toCapitalized(str) {\n return typeof str === 'string'\n ? str\n .toLowerCase()\n .replace(/(?<=(^|\\s|-))(.)/g, (l) => l.toUpperCase())\n : str\n}\n\n/**\n * [detectOutsideClick Detects a click outside a given DOM element]\n * @param {[type]} ignoreElement [The element we want to protect from a click]\n * @param {[type]} onSuccess [Will be called on outside click]\n * @return {[type]} [void]\n */\nexport const detectOutsideClick = (ignoreElements, onSuccess, options) =>\n new DetectOutsideClickClass(ignoreElements, onSuccess, options)\n\n// Used by detectOutsideClick\nexport class DetectOutsideClickClass {\n constructor(ignoreElements, onSuccess, options = {}) {\n if (\n !this.handleClickOutside &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined'\n ) {\n if (!Array.isArray(ignoreElements)) {\n ignoreElements = [ignoreElements]\n }\n this.handleClickOutside = (event) => {\n this.checkOutsideClick(\n {\n event,\n ignoreElements,\n },\n () => typeof onSuccess === 'function' && onSuccess({ event })\n )\n }\n document.addEventListener('mousedown', this.handleClickOutside)\n\n this.keydownCallback = (event) => {\n const keyCode = keycode(event)\n if (keyCode === 'esc') {\n window.removeEventListener('keydown', this.keydownCallback)\n if (typeof onSuccess === 'function') {\n onSuccess({ event })\n }\n }\n }\n window.addEventListener('keydown', this.keydownCallback)\n\n // e.g. includedKeys = ['tab']\n if (options.includedKeys) {\n // use keyup so we get the correct new target\n this.keyupCallback = (event) => {\n const keyCode = keycode(event)\n if (\n options.includedKeys.includes(keyCode) &&\n typeof this.handleClickOutside === 'function'\n ) {\n this.handleClickOutside(event, () => {\n if (this.keyupCallback)\n window.removeEventListener('keyup', this.keyupCallback)\n })\n }\n }\n window.addEventListener('keyup', this.keyupCallback)\n }\n }\n }\n\n remove() {\n if (this.handleClickOutside && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.handleClickOutside)\n this.handleClickOutside = null\n }\n if (this.keydownCallback && typeof window !== 'undefined') {\n window.removeEventListener('keydown', this.keydownCallback)\n this.keydownCallback = null\n }\n if (this.keyupCallback && typeof window !== 'undefined') {\n window.removeEventListener('keyup', this.keyupCallback)\n this.keyupCallback = null\n }\n }\n\n checkOutsideClick = ({ event, ignoreElements }, onSuccess = null) => {\n try {\n const currentElement = event.target\n\n // we also check if currentElement is documentElement\n // and if it has scrollbars, we then ignore the click\n if (\n currentElement?.tagName === 'HTML' &&\n (event.pageX > document.documentElement.clientWidth - 40 ||\n event.pageY > document.documentElement.clientHeight - 40)\n ) {\n return // stop here\n }\n\n // check if element has e.g. \"overflow: scroll\"\n if (checkIfHasScrollbar(currentElement)) {\n return // stop here\n }\n\n // check the rest\n for (let i = 0, elem, l = ignoreElements.length; i < l; ++i) {\n elem = currentElement\n if (!ignoreElements[i]) {\n continue\n }\n do {\n if (elem === ignoreElements[i]) {\n return // stop here\n }\n elem = elem && elem.parentNode\n } while (elem)\n }\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n } catch (e) {\n warn(e)\n }\n }\n}\n\nexport const checkIfHasScrollbar = (elem) => {\n return (\n elem &&\n (elem.scrollHeight > elem.offsetHeight ||\n elem.scrollWidth > elem.offsetWidth) &&\n overflowIsScrollable(elem)\n )\n}\nconst overflowIsScrollable = (elem) => {\n const style =\n typeof window !== 'undefined' ? window.getComputedStyle(elem) : {}\n return /scroll|auto/i.test(\n (style.overflow || '') +\n (style.overflowX || '') +\n (style.overflowY || '')\n )\n}\n\nexport const makeUniqueId = (prefix = 'id-', length = 8) =>\n prefix +\n String(\n Math.random().toString(36).substr(2, length) + idIncrement++\n ).slice(-length)\nlet idIncrement = 0\n\nexport const slugify = (s) =>\n String(s)\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '')\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n// NB: in future we can use String.matchAll() instead\nexport const matchAll = (string, regex) => {\n if (typeof string.matchAll === 'function') {\n return Array.from(string.matchAll(regex))\n }\n const matches = []\n let match\n while ((match = regex.exec(string))) {\n matches.push(match)\n }\n return matches\n}\n\n/**\n * Check if an element exists in its children\n * If it finds it, the child \"element\" of target will be returned.\n *\n * @param {HTMLElement} element The DOM Element to find\n * @param {HTMLElement} target The DOM Element that should contain \"element\"\n * @param {function} callback (optional)\n * @returns {HTMLElement | null} Returns the found child of all existing dom elements inside of \"target\"\n */\nexport const isChildOfElement = (element, target, callback = null) => {\n try {\n const contains = (element) => {\n if (callback) {\n const res = callback(element)\n if (res) {\n return element\n }\n }\n return element && element === target\n }\n\n if (contains(element)) {\n return element\n }\n\n while (\n (element = element && element.parentElement) &&\n !contains(element)\n );\n } catch (e) {\n //\n }\n\n return element\n}\n\n// Round number to nearest target number\nexport const roundToNearest = (num, target) => {\n const diff = num % target\n return diff > target / 2 ? num - diff + target : num - diff\n}\n\nexport const getClosestScrollViewElement = (currentElement) => {\n return getPreviousSibling('.dnb-scroll-view', currentElement)\n}\n\nexport const convertJsxToString = (elements, separator = undefined) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\n if (typeof word.props.children === 'string') {\n word = word.props.children.trim()\n } else if (Array.isArray(word.props.children)) {\n word = word.props.children.reduce((acc, word) => {\n if (typeof word !== 'string') {\n word = process(word)\n }\n if (typeof word === 'string') {\n acc = (acc + (separator || '') + word).trim()\n }\n return acc\n }, '')\n } else {\n return null\n }\n }\n\n return word\n }\n\n return elements\n .map((word) => process(word))\n .filter(Boolean)\n .join(separator)\n .trim()\n}\n\nexport function convertStatusToStateOnly(status, state) {\n return status ? state : null\n}\n\nexport function getStatusState(status) {\n return (\n status && status !== 'error' && status !== 'warn' && status !== 'info'\n )\n}\n\nexport function combineLabelledBy(...params) {\n return combineAriaBy('aria-labelledby', params)\n}\nexport function combineDescribedBy(...params) {\n return combineAriaBy('aria-describedby', params)\n}\nexport function combineDetails(...params) {\n return combineAriaBy('aria-details', params)\n}\nfunction combineAriaBy(type, params) {\n params = params.map((cur) => {\n if (Array.isArray(cur)) {\n return cur.join(' ')\n }\n if (cur && params.includes(cur[type])) {\n return null\n }\n if (cur && typeof cur[type] !== 'undefined') {\n cur = cur[type]\n }\n if (typeof cur !== 'string') {\n cur = null\n }\n return cur\n })\n params = params.filter(Boolean).join(' ')\n if (params === '') {\n params = undefined\n }\n return params\n}\n\nexport function findElementInChildren(children, find) {\n if (!Array.isArray(children)) {\n children = [children]\n }\n\n let result = null\n children.some((cur) => {\n if (cur && cur.props && cur.props.children) {\n const res = findElementInChildren(cur.props.children, find)\n if (res) {\n return (result = res)\n }\n }\n if (React.isValidElement(cur) && find(cur)) {\n return (result = cur)\n }\n return null\n })\n\n return result\n}\n\nexport function escapeRegexChars(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&')\n}\n\nexport function removeUndefinedProps(object) {\n Object.keys(object).forEach((key) => {\n if (object[key] === undefined) {\n delete object[key]\n }\n })\n return object\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function assignPropsWithContext<Props>(props: Props, ...contexts: Array<Record<string, unknown>>): {};
@@ -0,0 +1,16 @@
1
+ import { reduceContext } from './extendPropsWithContext';
2
+ export function assignPropsWithContext(props) {
3
+ props = Object.isFrozen(props) ? Object.assign({}, props) : props;
4
+ for (var _len = arguments.length, contexts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5
+ contexts[_key - 1] = arguments[_key];
6
+ }
7
+ const context = reduceContext(contexts);
8
+ return Object.entries(context).reduce((acc, _ref) => {
9
+ let [key, value] = _ref;
10
+ if (!(props && Object.prototype.hasOwnProperty.call(props, key))) {
11
+ acc[key] = value;
12
+ }
13
+ return acc;
14
+ }, props || {});
15
+ }
16
+ //# sourceMappingURL=assignPropsWithContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignPropsWithContext.js","names":["reduceContext","assignPropsWithContext","props","Object","isFrozen","assign","_len","arguments","length","contexts","Array","_key","context","entries","reduce","acc","_ref","key","value","prototype","hasOwnProperty","call"],"sources":["../../../../src/shared/helpers/assignPropsWithContext.ts"],"sourcesContent":["import { reduceContext } from './extendPropsWithContext'\n\nexport function assignPropsWithContext<Props>(\n props: Props,\n ...contexts: Array<Record<string, unknown>>\n) {\n props = Object.isFrozen(props) ? Object.assign({}, props) : props\n const context = reduceContext(contexts)\n return Object.entries(context).reduce((acc, [key, value]) => {\n if (!(props && Object.prototype.hasOwnProperty.call(props, key))) {\n // if (key !== 'disabled') {\n // console.log('key', key)\n acc[key] = value\n // }\n }\n return acc\n }, props || {})\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,0BAA0B;AAExD,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EAEZ;EACAA,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAEH,KAAK,CAAC,GAAGA,KAAK;EAAA,SAAAI,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAF9DC,QAAQ,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAARF,QAAQ,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;EAAA;EAGX,MAAMC,OAAO,GAAGZ,aAAa,CAACS,QAAQ,CAAC;EACvC,OAAON,MAAM,CAACU,OAAO,CAACD,OAAO,CAAC,CAACE,MAAM,CAAC,CAACC,GAAG,EAAAC,IAAA,KAAmB;IAAA,IAAjB,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;IACtD,IAAI,EAAEd,KAAK,IAAIC,MAAM,CAACgB,SAAS,CAACC,cAAc,CAACC,IAAI,CAACnB,KAAK,EAAEe,GAAG,CAAC,CAAC,EAAE;MAGhEF,GAAG,CAACE,GAAG,CAAC,GAAGC,KAAK;IAElB;IACA,OAAOH,GAAG;EACZ,CAAC,EAAEb,KAAK,IAAI,CAAC,CAAC,CAAC;AACjB"}
@@ -13,3 +13,4 @@ export type Contexts = Array<Record<string, unknown>>;
13
13
  */
14
14
  export declare function extendPropsWithContext<Props>(props: Props, defaults?: DefaultsProps, ...contexts: Contexts): Props & {};
15
15
  export declare function extendPropsWithContextInClassComponent<Props>(props: Props, defaults?: DefaultsProps, ...contexts: Contexts): Props & {};
16
+ export declare function reduceContext(contexts: Contexts): Record<string, unknown>;
@@ -18,7 +18,7 @@ export function extendPropsWithContextInClassComponent(props) {
18
18
  onlyMergeExistingProps: true
19
19
  }));
20
20
  }
21
- function reduceContext(contexts) {
21
+ export function reduceContext(contexts) {
22
22
  return contexts.reduce((acc, cur) => {
23
23
  if (cur) {
24
24
  acc = _objectSpread(_objectSpread({}, acc), cur);
@@ -1 +1 @@
1
- {"version":3,"file":"extendPropsWithContext.js","names":["extendPropsWithContext","props","defaults","arguments","length","undefined","_objectSpread","_len","contexts","Array","_key","reduceContextWithValue","extendPropsWithContextInClassComponent","_len2","_key2","onlyMergeExistingProps","reduceContext","reduce","acc","cur","context","Object","entries","_ref","key","value","prototype","hasOwnProperty","call"],"sources":["../../../../src/shared/helpers/extendPropsWithContext.ts"],"sourcesContent":["export type DefaultsProps = Record<string, unknown>\nexport type Contexts = Array<Record<string, unknown>>\n\n/**\n * Overrides default props with values from context.\n *\n * \"undefined\" is considered the default value of a prop\n * unless otherwise provided\n *\n * @param props object of component properties\n * @param defaults object of default values\n * @param contexts one or more contexts to merge\n * @returns merged properties\n */\nexport function extendPropsWithContext<Props>(\n props: Props,\n defaults: DefaultsProps = {},\n ...contexts: Contexts\n) {\n props = { ...defaults, ...props }\n return {\n ...props,\n ...reduceContextWithValue(props, defaults, contexts),\n }\n}\n\nexport function extendPropsWithContextInClassComponent<Props>(\n props: Props,\n defaults: DefaultsProps = {},\n ...contexts: Contexts\n) {\n return {\n ...props,\n ...reduceContextWithValue(props, defaults, contexts, {\n onlyMergeExistingProps: true,\n }),\n }\n}\n\nfunction reduceContext(contexts: Contexts) {\n return contexts.reduce((acc, cur) => {\n if (cur) {\n acc = { ...acc, ...cur }\n }\n return acc\n }, {})\n}\n\nfunction reduceContextWithValue<Props>(\n props: Props,\n defaults: DefaultsProps,\n contexts: Contexts,\n { onlyMergeExistingProps = false } = {}\n) {\n const context = reduceContext(contexts)\n return Object.entries(context).reduce((acc, [key, value]) => {\n if (\n // An optional check to only merge existing props from context\n !onlyMergeExistingProps ||\n Object.prototype.hasOwnProperty.call(props, key)\n ) {\n if (props[key] === defaults?.[key]) {\n // Existing props can only be overridden if it has default value\n // But a prop that does not exist will also be merged (as long as the default value is \"undefined\")\n acc[key] = value\n }\n }\n\n return acc\n }, {})\n}\n"],"mappings":";;;AAcA,OAAO,SAASA,sBAAsBA,CACpCC,KAAY,EAGZ;EAAA,IAFAC,QAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAG5BF,KAAK,GAAAK,aAAA,CAAAA,aAAA,KAAQJ,QAAQ,GAAKD,KAAK,CAAE;EAAA,SAAAM,IAAA,GAAAJ,SAAA,CAAAC,MAAA,EAF9BI,QAAQ,OAAAC,KAAA,CAAAF,IAAA,OAAAA,IAAA,WAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAARF,QAAQ,CAAAE,IAAA,QAAAP,SAAA,CAAAO,IAAA;EAAA;EAGX,OAAAJ,aAAA,CAAAA,aAAA,KACKL,KAAK,GACLU,sBAAsB,CAACV,KAAK,EAAEC,QAAQ,EAAEM,QAAQ,CAAC;AAExD;AAEA,OAAO,SAASI,sCAAsCA,CACpDX,KAAY,EAGZ;EAAA,IAFAC,QAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,SAAAU,KAAA,GAAAV,SAAA,CAAAC,MAAA,EACzBI,QAAQ,OAAAC,KAAA,CAAAI,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAARN,QAAQ,CAAAM,KAAA,QAAAX,SAAA,CAAAW,KAAA;EAAA;EAEX,OAAAR,aAAA,CAAAA,aAAA,KACKL,KAAK,GACLU,sBAAsB,CAACV,KAAK,EAAEC,QAAQ,EAAEM,QAAQ,EAAE;IACnDO,sBAAsB,EAAE;EAC1B,CAAC,CAAC;AAEN;AAEA,SAASC,aAAaA,CAACR,QAAkB,EAAE;EACzC,OAAOA,QAAQ,CAACS,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IACnC,IAAIA,GAAG,EAAE;MACPD,GAAG,GAAAZ,aAAA,CAAAA,aAAA,KAAQY,GAAG,GAAKC,GAAG,CAAE;IAC1B;IACA,OAAOD,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,SAASP,sBAAsBA,CAC7BV,KAAY,EACZC,QAAuB,EACvBM,QAAkB,EAElB;EAAA,IADA;IAAEO,sBAAsB,GAAG;EAAM,CAAC,GAAAZ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEvC,MAAMiB,OAAO,GAAGJ,aAAa,CAACR,QAAQ,CAAC;EACvC,OAAOa,MAAM,CAACC,OAAO,CAACF,OAAO,CAAC,CAACH,MAAM,CAAC,CAACC,GAAG,EAAAK,IAAA,KAAmB;IAAA,IAAjB,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;IACtD,IAEE,CAACR,sBAAsB,IACvBM,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC3B,KAAK,EAAEuB,GAAG,CAAC,EAChD;MACA,IAAIvB,KAAK,CAACuB,GAAG,CAAC,MAAKtB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGsB,GAAG,CAAC,GAAE;QAGlCN,GAAG,CAACM,GAAG,CAAC,GAAGC,KAAK;MAClB;IACF;IAEA,OAAOP,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR"}
1
+ {"version":3,"file":"extendPropsWithContext.js","names":["extendPropsWithContext","props","defaults","arguments","length","undefined","_objectSpread","_len","contexts","Array","_key","reduceContextWithValue","extendPropsWithContextInClassComponent","_len2","_key2","onlyMergeExistingProps","reduceContext","reduce","acc","cur","context","Object","entries","_ref","key","value","prototype","hasOwnProperty","call"],"sources":["../../../../src/shared/helpers/extendPropsWithContext.ts"],"sourcesContent":["export type DefaultsProps = Record<string, unknown>\nexport type Contexts = Array<Record<string, unknown>>\n\n/**\n * Overrides default props with values from context.\n *\n * \"undefined\" is considered the default value of a prop\n * unless otherwise provided\n *\n * @param props object of component properties\n * @param defaults object of default values\n * @param contexts one or more contexts to merge\n * @returns merged properties\n */\nexport function extendPropsWithContext<Props>(\n props: Props,\n defaults: DefaultsProps = {},\n ...contexts: Contexts\n) {\n props = { ...defaults, ...props }\n return {\n ...props,\n ...reduceContextWithValue(props, defaults, contexts),\n }\n}\n\nexport function extendPropsWithContextInClassComponent<Props>(\n props: Props,\n defaults: DefaultsProps = {},\n ...contexts: Contexts\n) {\n return {\n ...props,\n ...reduceContextWithValue(props, defaults, contexts, {\n onlyMergeExistingProps: true,\n }),\n }\n}\n\nexport function reduceContext(contexts: Contexts) {\n return contexts.reduce((acc, cur) => {\n if (cur) {\n acc = { ...acc, ...cur }\n }\n return acc\n }, {})\n}\n\nfunction reduceContextWithValue<Props>(\n props: Props,\n defaults: DefaultsProps,\n contexts: Contexts,\n { onlyMergeExistingProps = false } = {}\n) {\n const context = reduceContext(contexts)\n return Object.entries(context).reduce((acc, [key, value]) => {\n if (\n // An optional check to only merge existing props from context\n !onlyMergeExistingProps ||\n Object.prototype.hasOwnProperty.call(props, key)\n ) {\n if (props[key] === defaults?.[key]) {\n // Existing props can only be overridden if it has default value\n // But a prop that does not exist will also be merged (as long as the default value is \"undefined\")\n acc[key] = value\n }\n }\n\n return acc\n }, {})\n}\n"],"mappings":";;;AAcA,OAAO,SAASA,sBAAsBA,CACpCC,KAAY,EAGZ;EAAA,IAFAC,QAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAG5BF,KAAK,GAAAK,aAAA,CAAAA,aAAA,KAAQJ,QAAQ,GAAKD,KAAK,CAAE;EAAA,SAAAM,IAAA,GAAAJ,SAAA,CAAAC,MAAA,EAF9BI,QAAQ,OAAAC,KAAA,CAAAF,IAAA,OAAAA,IAAA,WAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAARF,QAAQ,CAAAE,IAAA,QAAAP,SAAA,CAAAO,IAAA;EAAA;EAGX,OAAAJ,aAAA,CAAAA,aAAA,KACKL,KAAK,GACLU,sBAAsB,CAACV,KAAK,EAAEC,QAAQ,EAAEM,QAAQ,CAAC;AAExD;AAEA,OAAO,SAASI,sCAAsCA,CACpDX,KAAY,EAGZ;EAAA,IAFAC,QAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,SAAAU,KAAA,GAAAV,SAAA,CAAAC,MAAA,EACzBI,QAAQ,OAAAC,KAAA,CAAAI,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAARN,QAAQ,CAAAM,KAAA,QAAAX,SAAA,CAAAW,KAAA;EAAA;EAEX,OAAAR,aAAA,CAAAA,aAAA,KACKL,KAAK,GACLU,sBAAsB,CAACV,KAAK,EAAEC,QAAQ,EAAEM,QAAQ,EAAE;IACnDO,sBAAsB,EAAE;EAC1B,CAAC,CAAC;AAEN;AAEA,OAAO,SAASC,aAAaA,CAACR,QAAkB,EAAE;EAChD,OAAOA,QAAQ,CAACS,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IACnC,IAAIA,GAAG,EAAE;MACPD,GAAG,GAAAZ,aAAA,CAAAA,aAAA,KAAQY,GAAG,GAAKC,GAAG,CAAE;IAC1B;IACA,OAAOD,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,SAASP,sBAAsBA,CAC7BV,KAAY,EACZC,QAAuB,EACvBM,QAAkB,EAElB;EAAA,IADA;IAAEO,sBAAsB,GAAG;EAAM,CAAC,GAAAZ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEvC,MAAMiB,OAAO,GAAGJ,aAAa,CAACR,QAAQ,CAAC;EACvC,OAAOa,MAAM,CAACC,OAAO,CAACF,OAAO,CAAC,CAACH,MAAM,CAAC,CAACC,GAAG,EAAAK,IAAA,KAAmB;IAAA,IAAjB,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;IACtD,IAEE,CAACR,sBAAsB,IACvBM,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC3B,KAAK,EAAEuB,GAAG,CAAC,EAChD;MACA,IAAIvB,KAAK,CAACuB,GAAG,CAAC,MAAKtB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGsB,GAAG,CAAC,GAAE;QAGlCN,GAAG,CAACM,GAAG,CAAC,GAAGC,KAAK;MAClB;IACF;IAEA,OAAOP,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR"}
@@ -19,6 +19,7 @@ export declare function filterValidProps<T extends Record<string, unknown>>(prop
19
19
  export declare function pickFormElementProps(props: FormElementProps, excludeProps?: Record<string, unknown>): Record<string, unknown>;
20
20
  export declare function prepareFormElementContext<Props>(props: Props & FormElementProps): Props & FormElementProps;
21
21
  export type FormElementProps = {
22
+ disabled?: boolean;
22
23
  vertical?: boolean;
23
24
  labelDirection?: 'vertical' | 'horizontal';
24
25
  /** @deprecated use labelDirection instead */
@@ -1 +1 @@
1
- {"version":3,"file":"filterValidProps.js","names":["isTrue","filterValidProps","props","validKeys","excludeKeys","res","o","Object","prototype","hasOwnProperty","key","call","pickFormElementProps","excludeProps","validFormElementProps","prepareFormElementContext","vertical","labelDirection","label_direction","skeleton","disabled"],"sources":["../../../../src/shared/helpers/filterValidProps.tsx"],"sourcesContent":["import { isTrue } from '../component-helper'\n\n/**\n * Filters out props from a given object/context\n * It returns a new object, with keys defined in validKeys\n *\n * @param props object of component properties\n * @param validKeys object with keys that should get returned\n * @param excludeKeys object with keys that should be excluded\n * @returns filtered properties\n */\nexport function filterValidProps<T extends Record<string, unknown>>(\n props: T | any,\n validKeys?: Record<string, unknown>,\n excludeKeys?: Record<string, unknown>\n): T {\n const res = {}\n const o = Object.prototype.hasOwnProperty\n\n for (const key in props) {\n if (\n (!validKeys || (validKeys && o.call(validKeys, key))) &&\n (!excludeKeys || (excludeKeys && !o.call(excludeKeys, key)))\n ) {\n res[key] = props[key]\n }\n }\n\n return res as T\n}\n\n/**\n * Filters out props from a given object/context\n * It returns a new object, with keys defined in validKeys\n *\n * @param props object of form component properties\n * @param excludeProps object with keys that should be excluded\n * @returns filtered properties\n */\nexport function pickFormElementProps(\n props: FormElementProps,\n excludeProps?: Record<string, unknown>\n) {\n return filterValidProps(props, validFormElementProps, excludeProps)\n}\nexport function prepareFormElementContext<Props>(\n props: Props & FormElementProps\n) {\n if (isTrue(props.vertical)) {\n if (typeof props.labelDirection === 'undefined') {\n props.labelDirection = 'vertical'\n }\n if (typeof props.label_direction === 'undefined') {\n props.label_direction = 'vertical'\n }\n }\n return props\n}\nexport type FormElementProps = {\n vertical?: boolean\n labelDirection?: 'vertical' | 'horizontal'\n\n /** @deprecated use labelDirection instead */\n label_direction?: 'vertical' | 'horizontal'\n}\nconst validFormElementProps = {\n skeleton: null,\n disabled: null,\n vertical: null,\n labelDirection: null,\n\n /** @deprecated use labelDirection instead */\n label_direction: null,\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAW5C,OAAO,SAASC,gBAAgBA,CAC9BC,KAAc,EACdC,SAAmC,EACnCC,WAAqC,EAClC;EACH,MAAMC,GAAG,GAAG,CAAC,CAAC;EACd,MAAMC,CAAC,GAAGC,MAAM,CAACC,SAAS,CAACC,cAAc;EAEzC,KAAK,MAAMC,GAAG,IAAIR,KAAK,EAAE;IACvB,IACE,CAAC,CAACC,SAAS,IAAKA,SAAS,IAAIG,CAAC,CAACK,IAAI,CAACR,SAAS,EAAEO,GAAG,CAAE,MACnD,CAACN,WAAW,IAAKA,WAAW,IAAI,CAACE,CAAC,CAACK,IAAI,CAACP,WAAW,EAAEM,GAAG,CAAE,CAAC,EAC5D;MACAL,GAAG,CAACK,GAAG,CAAC,GAAGR,KAAK,CAACQ,GAAG,CAAC;IACvB;EACF;EAEA,OAAOL,GAAG;AACZ;AAUA,OAAO,SAASO,oBAAoBA,CAClCV,KAAuB,EACvBW,YAAsC,EACtC;EACA,OAAOZ,gBAAgB,CAACC,KAAK,EAAEY,qBAAqB,EAAED,YAAY,CAAC;AACrE;AACA,OAAO,SAASE,yBAAyBA,CACvCb,KAA+B,EAC/B;EACA,IAAIF,MAAM,CAACE,KAAK,CAACc,QAAQ,CAAC,EAAE;IAC1B,IAAI,OAAOd,KAAK,CAACe,cAAc,KAAK,WAAW,EAAE;MAC/Cf,KAAK,CAACe,cAAc,GAAG,UAAU;IACnC;IACA,IAAI,OAAOf,KAAK,CAACgB,eAAe,KAAK,WAAW,EAAE;MAChDhB,KAAK,CAACgB,eAAe,GAAG,UAAU;IACpC;EACF;EACA,OAAOhB,KAAK;AACd;AAQA,MAAMY,qBAAqB,GAAG;EAC5BK,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACdJ,QAAQ,EAAE,IAAI;EACdC,cAAc,EAAE,IAAI;EAGpBC,eAAe,EAAE;AACnB,CAAC"}
1
+ {"version":3,"file":"filterValidProps.js","names":["isTrue","filterValidProps","props","validKeys","excludeKeys","res","o","Object","prototype","hasOwnProperty","key","call","pickFormElementProps","excludeProps","validFormElementProps","prepareFormElementContext","vertical","labelDirection","label_direction","skeleton","disabled"],"sources":["../../../../src/shared/helpers/filterValidProps.tsx"],"sourcesContent":["import { isTrue } from '../component-helper'\n\n/**\n * Filters out props from a given object/context\n * It returns a new object, with keys defined in validKeys\n *\n * @param props object of component properties\n * @param validKeys object with keys that should get returned\n * @param excludeKeys object with keys that should be excluded\n * @returns filtered properties\n */\nexport function filterValidProps<T extends Record<string, unknown>>(\n props: T | any,\n validKeys?: Record<string, unknown>,\n excludeKeys?: Record<string, unknown>\n): T {\n const res = {}\n const o = Object.prototype.hasOwnProperty\n\n for (const key in props) {\n if (\n (!validKeys || (validKeys && o.call(validKeys, key))) &&\n (!excludeKeys || (excludeKeys && !o.call(excludeKeys, key)))\n ) {\n res[key] = props[key]\n }\n }\n\n return res as T\n}\n\n/**\n * Filters out props from a given object/context\n * It returns a new object, with keys defined in validKeys\n *\n * @param props object of form component properties\n * @param excludeProps object with keys that should be excluded\n * @returns filtered properties\n */\nexport function pickFormElementProps(\n props: FormElementProps,\n excludeProps?: Record<string, unknown>\n) {\n return filterValidProps(props, validFormElementProps, excludeProps)\n}\nexport function prepareFormElementContext<Props>(\n props: Props & FormElementProps\n) {\n if (isTrue(props.vertical)) {\n if (typeof props.labelDirection === 'undefined') {\n props.labelDirection = 'vertical'\n }\n if (typeof props.label_direction === 'undefined') {\n props.label_direction = 'vertical'\n }\n }\n return props\n}\nexport type FormElementProps = {\n disabled?: boolean\n vertical?: boolean\n labelDirection?: 'vertical' | 'horizontal'\n\n /** @deprecated use labelDirection instead */\n label_direction?: 'vertical' | 'horizontal'\n}\nconst validFormElementProps = {\n skeleton: null,\n disabled: null,\n vertical: null,\n labelDirection: null,\n\n /** @deprecated use labelDirection instead */\n label_direction: null,\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAW5C,OAAO,SAASC,gBAAgBA,CAC9BC,KAAc,EACdC,SAAmC,EACnCC,WAAqC,EAClC;EACH,MAAMC,GAAG,GAAG,CAAC,CAAC;EACd,MAAMC,CAAC,GAAGC,MAAM,CAACC,SAAS,CAACC,cAAc;EAEzC,KAAK,MAAMC,GAAG,IAAIR,KAAK,EAAE;IACvB,IACE,CAAC,CAACC,SAAS,IAAKA,SAAS,IAAIG,CAAC,CAACK,IAAI,CAACR,SAAS,EAAEO,GAAG,CAAE,MACnD,CAACN,WAAW,IAAKA,WAAW,IAAI,CAACE,CAAC,CAACK,IAAI,CAACP,WAAW,EAAEM,GAAG,CAAE,CAAC,EAC5D;MACAL,GAAG,CAACK,GAAG,CAAC,GAAGR,KAAK,CAACQ,GAAG,CAAC;IACvB;EACF;EAEA,OAAOL,GAAG;AACZ;AAUA,OAAO,SAASO,oBAAoBA,CAClCV,KAAuB,EACvBW,YAAsC,EACtC;EACA,OAAOZ,gBAAgB,CAACC,KAAK,EAAEY,qBAAqB,EAAED,YAAY,CAAC;AACrE;AACA,OAAO,SAASE,yBAAyBA,CACvCb,KAA+B,EAC/B;EACA,IAAIF,MAAM,CAACE,KAAK,CAACc,QAAQ,CAAC,EAAE;IAC1B,IAAI,OAAOd,KAAK,CAACe,cAAc,KAAK,WAAW,EAAE;MAC/Cf,KAAK,CAACe,cAAc,GAAG,UAAU;IACnC;IACA,IAAI,OAAOf,KAAK,CAACgB,eAAe,KAAK,WAAW,EAAE;MAChDhB,KAAK,CAACgB,eAAe,GAAG,UAAU;IACpC;EACF;EACA,OAAOhB,KAAK;AACd;AASA,MAAMY,qBAAqB,GAAG;EAC5BK,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACdJ,QAAQ,EAAE,IAAI;EACdC,cAAc,EAAE,IAAI;EAGpBC,eAAe,EAAE;AACnB,CAAC"}
@@ -2,14 +2,25 @@ export function runCssVersionMismatchWarning() {
2
2
  try {
3
3
  if (typeof document !== 'undefined' && process.env.NODE_ENV === 'development') {
4
4
  const runCheck = () => {
5
- var _window$Eufemia, _window$getComputedSt;
5
+ var _window$Eufemia;
6
6
  const jsVersion = (_window$Eufemia = window.Eufemia) === null || _window$Eufemia === void 0 ? void 0 : _window$Eufemia.version;
7
7
  if (jsVersion === '__VERSION__') {
8
8
  return;
9
9
  }
10
- const cssVersion = ((_window$getComputedSt = window.getComputedStyle(document.body).getPropertyValue('--eufemia-version')) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.replace(/["']/g, '')) || 'unknown';
10
+ const getCssVersion = element => {
11
+ var _window$getComputedSt;
12
+ console.log(element);
13
+ return element ? (_window$getComputedSt = window.getComputedStyle(element).getPropertyValue('--eufemia-version')) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.replace(/["']/g, '') : undefined;
14
+ };
15
+ const cssVersion = getCssVersion(document.body) || getCssVersion(document.getElementsByClassName('dnb-core-style')[0]) || 'unknown';
11
16
  if (cssVersion !== jsVersion) {
12
- console.error('Eufemia CSS and JS version mismatch!', `\nCSS: ${cssVersion}`, `\nJS: ${jsVersion}`);
17
+ const isUnknown = cssVersion === 'unknown';
18
+ const consoleArguments = [`Eufemia CSS and JS version mismatch!${isUnknown ? ' CSS version is either not loaded (are you perhaps using lazy loading?), or older than "10.25.0"' : ''}`, `\nCSS: ${cssVersion}`, `\nJS: ${jsVersion}`];
19
+ if (isUnknown) {
20
+ console.warn(...consoleArguments);
21
+ } else {
22
+ console.error(...consoleArguments);
23
+ }
13
24
  }
14
25
  };
15
26
  if (document.readyState === 'complete') {
@@ -1 +1 @@
1
- {"version":3,"file":"runCssVersionMismatchWarning.js","names":["runCssVersionMismatchWarning","document","process","env","NODE_ENV","runCheck","_window$Eufemia","_window$getComputedSt","jsVersion","window","Eufemia","version","cssVersion","getComputedStyle","body","getPropertyValue","replace","console","error","readyState","requestAnimationFrame","addEventListener"],"sources":["../../../../src/shared/helpers/runCssVersionMismatchWarning.ts"],"sourcesContent":["declare global {\n interface Window {\n Eufemia?: {\n version: string\n }\n }\n}\n\nexport function runCssVersionMismatchWarning() {\n try {\n if (\n typeof document !== 'undefined' &&\n process.env.NODE_ENV === 'development'\n ) {\n const runCheck = () => {\n const jsVersion = window.Eufemia?.version\n\n if (jsVersion === '__VERSION__') {\n return\n }\n\n const cssVersion =\n window\n .getComputedStyle(document.body)\n .getPropertyValue('--eufemia-version')\n ?.replace(/[\"']/g, '') || 'unknown'\n\n if (cssVersion !== jsVersion) {\n console.error(\n 'Eufemia CSS and JS version mismatch!',\n `\\nCSS: ${cssVersion}`,\n `\\nJS: ${jsVersion}`\n )\n }\n }\n\n if (document.readyState === 'complete') {\n window.requestAnimationFrame(runCheck)\n } else {\n window.addEventListener('load', runCheck)\n }\n }\n } catch (error) {\n console.error(error)\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,4BAA4BA,CAAA,EAAG;EAC7C,IAAI;IACF,IACE,OAAOC,QAAQ,KAAK,WAAW,IAC/BC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EACtC;MACA,MAAMC,QAAQ,GAAGA,CAAA,KAAM;QAAA,IAAAC,eAAA,EAAAC,qBAAA;QACrB,MAAMC,SAAS,IAAAF,eAAA,GAAGG,MAAM,CAACC,OAAO,cAAAJ,eAAA,uBAAdA,eAAA,CAAgBK,OAAO;QAEzC,IAAIH,SAAS,KAAK,aAAa,EAAE;UAC/B;QACF;QAEA,MAAMI,UAAU,GACd,EAAAL,qBAAA,GAAAE,MAAM,CACHI,gBAAgB,CAACZ,QAAQ,CAACa,IAAI,CAAC,CAC/BC,gBAAgB,CAAC,mBAAmB,CAAC,cAAAR,qBAAA,uBAFxCA,qBAAA,CAGIS,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAI,SAAS;QAEvC,IAAIJ,UAAU,KAAKJ,SAAS,EAAE;UAC5BS,OAAO,CAACC,KAAK,CACX,sCAAsC,EACrC,UAASN,UAAW,EAAC,EACrB,SAAQJ,SAAU,EACrB,CAAC;QACH;MACF,CAAC;MAED,IAAIP,QAAQ,CAACkB,UAAU,KAAK,UAAU,EAAE;QACtCV,MAAM,CAACW,qBAAqB,CAACf,QAAQ,CAAC;MACxC,CAAC,MAAM;QACLI,MAAM,CAACY,gBAAgB,CAAC,MAAM,EAAEhB,QAAQ,CAAC;MAC3C;IACF;EACF,CAAC,CAAC,OAAOa,KAAK,EAAE;IACdD,OAAO,CAACC,KAAK,CAACA,KAAK,CAAC;EACtB;AACF"}
1
+ {"version":3,"file":"runCssVersionMismatchWarning.js","names":["runCssVersionMismatchWarning","document","process","env","NODE_ENV","runCheck","_window$Eufemia","jsVersion","window","Eufemia","version","getCssVersion","element","_window$getComputedSt","console","log","getComputedStyle","getPropertyValue","replace","undefined","cssVersion","body","getElementsByClassName","isUnknown","consoleArguments","warn","error","readyState","requestAnimationFrame","addEventListener"],"sources":["../../../../src/shared/helpers/runCssVersionMismatchWarning.ts"],"sourcesContent":["declare global {\n interface Window {\n Eufemia?: {\n version: string\n }\n }\n}\n\nexport function runCssVersionMismatchWarning() {\n try {\n if (\n typeof document !== 'undefined' &&\n process.env.NODE_ENV === 'development'\n ) {\n const runCheck = () => {\n const jsVersion = window.Eufemia?.version\n\n if (jsVersion === '__VERSION__') {\n return\n }\n\n const getCssVersion = (element) => {\n console.log(element)\n return element\n ? window\n .getComputedStyle(element)\n .getPropertyValue('--eufemia-version')\n ?.replace(/[\"']/g, '')\n : undefined\n }\n\n const cssVersion =\n getCssVersion(document.body) ||\n getCssVersion(\n document.getElementsByClassName('dnb-core-style')[0]\n ) ||\n 'unknown'\n\n if (cssVersion !== jsVersion) {\n const isUnknown = cssVersion === 'unknown'\n\n const consoleArguments = [\n `Eufemia CSS and JS version mismatch!${\n isUnknown\n ? ' CSS version is either not loaded (are you perhaps using lazy loading?), or older than \"10.25.0\"'\n : ''\n }`,\n `\\nCSS: ${cssVersion}`,\n `\\nJS: ${jsVersion}`,\n ]\n\n if (isUnknown) {\n console.warn(...consoleArguments)\n } else {\n console.error(...consoleArguments)\n }\n }\n }\n\n if (document.readyState === 'complete') {\n window.requestAnimationFrame(runCheck)\n } else {\n window.addEventListener('load', runCheck)\n }\n }\n } catch (error) {\n console.error(error)\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,4BAA4BA,CAAA,EAAG;EAC7C,IAAI;IACF,IACE,OAAOC,QAAQ,KAAK,WAAW,IAC/BC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EACtC;MACA,MAAMC,QAAQ,GAAGA,CAAA,KAAM;QAAA,IAAAC,eAAA;QACrB,MAAMC,SAAS,IAAAD,eAAA,GAAGE,MAAM,CAACC,OAAO,cAAAH,eAAA,uBAAdA,eAAA,CAAgBI,OAAO;QAEzC,IAAIH,SAAS,KAAK,aAAa,EAAE;UAC/B;QACF;QAEA,MAAMI,aAAa,GAAIC,OAAO,IAAK;UAAA,IAAAC,qBAAA;UACjCC,OAAO,CAACC,GAAG,CAACH,OAAO,CAAC;UACpB,OAAOA,OAAO,IAAAC,qBAAA,GACVL,MAAM,CACHQ,gBAAgB,CAACJ,OAAO,CAAC,CACzBK,gBAAgB,CAAC,mBAAmB,CAAC,cAAAJ,qBAAA,uBAFxCA,qBAAA,CAGIK,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GACxBC,SAAS;QACf,CAAC;QAED,MAAMC,UAAU,GACdT,aAAa,CAACV,QAAQ,CAACoB,IAAI,CAAC,IAC5BV,aAAa,CACXV,QAAQ,CAACqB,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACrD,CAAC,IACD,SAAS;QAEX,IAAIF,UAAU,KAAKb,SAAS,EAAE;UAC5B,MAAMgB,SAAS,GAAGH,UAAU,KAAK,SAAS;UAE1C,MAAMI,gBAAgB,GAAG,CACtB,uCACCD,SAAS,GACL,kGAAkG,GAClG,EACL,EAAC,EACD,UAASH,UAAW,EAAC,EACrB,SAAQb,SAAU,EAAC,CACrB;UAED,IAAIgB,SAAS,EAAE;YACbT,OAAO,CAACW,IAAI,CAAC,GAAGD,gBAAgB,CAAC;UACnC,CAAC,MAAM;YACLV,OAAO,CAACY,KAAK,CAAC,GAAGF,gBAAgB,CAAC;UACpC;QACF;MACF,CAAC;MAED,IAAIvB,QAAQ,CAAC0B,UAAU,KAAK,UAAU,EAAE;QACtCnB,MAAM,CAACoB,qBAAqB,CAACvB,QAAQ,CAAC;MACxC,CAAC,MAAM;QACLG,MAAM,CAACqB,gBAAgB,CAAC,MAAM,EAAExB,QAAQ,CAAC;MAC3C;IACF;EACF,CAAC,CAAC,OAAOqB,KAAK,EAAE;IACdZ,OAAO,CAACY,KAAK,CAACA,KAAK,CAAC;EACtB;AACF"}
@@ -45,7 +45,7 @@
45
45
  word-break: break-word;
46
46
 
47
47
  // Will add this to the body tag – later we can test for a version mismatch
48
- --eufemia-version: '10.28.0';
48
+ --eufemia-version: '10.30.0';
49
49
 
50
50
  @content;
51
51
  }
@@ -251,7 +251,7 @@ body {
251
251
  /* stylelint-disable-next-line */
252
252
  -webkit-text-size-adjust: 100%;
253
253
  word-break: break-word;
254
- --eufemia-version: "10.28.0";
254
+ --eufemia-version: "10.30.0";
255
255
  }
256
256
  .dnb-core-style *,
257
257
  .dnb-core-style ::before,
@@ -1 +1 @@
1
- @charset "UTF-8";html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{margin:0}.dnb-core-style{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.28.0";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr{height:0;overflow:visible}.dnb-core-style main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul{list-style:none}.dnb-core-style abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video{display:inline-block}.dnb-core-style audio:not([controls]){display:none;height:0}.dnb-core-style img{border-style:none}.dnb-core-style svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root){overflow:hidden}.dnb-core-style table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select{margin:0}.dnb-core-style button{overflow:visible;text-transform:none}.dnb-core-style fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input{overflow:visible;word-break:normal}.dnb-core-style legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress{display:inline-block;vertical-align:baseline}.dnb-core-style select{text-transform:none}.dnb-core-style textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio]{padding:0}.dnb-core-style input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details{display:block}.dnb-core-style summary{display:list-item}.dnb-core-style canvas{display:inline-block}.dnb-core-style template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea{touch-action:manipulation}.dnb-core-style [hidden]{display:none}.dnb-core-style [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:"‌"}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
1
+ @charset "UTF-8";html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{margin:0}.dnb-core-style{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.30.0";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr{height:0;overflow:visible}.dnb-core-style main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul{list-style:none}.dnb-core-style abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video{display:inline-block}.dnb-core-style audio:not([controls]){display:none;height:0}.dnb-core-style img{border-style:none}.dnb-core-style svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root){overflow:hidden}.dnb-core-style table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select{margin:0}.dnb-core-style button{overflow:visible;text-transform:none}.dnb-core-style fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input{overflow:visible;word-break:normal}.dnb-core-style legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress{display:inline-block;vertical-align:baseline}.dnb-core-style select{text-transform:none}.dnb-core-style textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio]{padding:0}.dnb-core-style input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details{display:block}.dnb-core-style summary{display:list-item}.dnb-core-style canvas{display:inline-block}.dnb-core-style template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea{touch-action:manipulation}.dnb-core-style [hidden]{display:none}.dnb-core-style [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:"‌"}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
@@ -277,7 +277,7 @@ body {
277
277
  /* stylelint-disable-next-line */
278
278
  -webkit-text-size-adjust: 100%;
279
279
  word-break: break-word;
280
- --eufemia-version: "10.28.0";
280
+ --eufemia-version: "10.30.0";
281
281
  }
282
282
  body *,
283
283
  body ::before,
@@ -1 +1 @@
1
- html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:var(--line-height-basis);-moz-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.28.0";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}body *,body :after,body :before{background-repeat:no-repeat;box-sizing:border-box}body :after,body :before{text-decoration:inherit;vertical-align:inherit}body hr{height:0;overflow:visible}body main{display:block}body nav ol,body nav ul{list-style:none}body abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}body b,body strong{font-weight:bolder}body code,body kbd,body pre,body samp{font-family:var(--font-family-monospace)}body ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}body audio,body canvas,body iframe,body img,body svg,body video{vertical-align:middle}body audio,body video{display:inline-block}body audio:not([controls]){display:none;height:0}body img{border-style:none}body svg:not([fill]){fill:currentcolor}body svg:not(:root){overflow:hidden}body table{border-collapse:collapse}body button,body input,body select,body textarea{font-family:inherit;font-size:inherit;line-height:inherit}body button,body figure,body input,body select{margin:0}body button{overflow:visible;text-transform:none}body fieldset{padding:.35rem .75rem .625rem}body input{overflow:visible;word-break:normal}body legend{color:inherit;display:table;max-width:100%;white-space:normal}body progress{display:inline-block;vertical-align:baseline}body select{text-transform:none}body textarea{overflow:auto;resize:vertical}body [type=checkbox],body [type=radio]{padding:0}body input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}body ::-webkit-inner-spin-button,body ::-webkit-outer-spin-button{height:auto}body ::input-placeholder{color:inherit;opacity:.54}body ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}body ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}body ::-moz-focus-inner{border-style:none;padding:0}body details{display:block}body summary{display:list-item}body canvas{display:inline-block}body template{display:none}body [tabindex],body a,body area,body button,body input,body label,body select,body summary,body textarea{touch-action:manipulation}body [hidden]{display:none}body [aria-busy=true]{cursor:progress}body [aria-controls]:not(input){cursor:pointer}body [aria-disabled=true],body [disabled]{cursor:not-allowed}body [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{body{background-color:#fff;color:#000}}body .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}
1
+ html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:var(--line-height-basis);-moz-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.30.0";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}body *,body :after,body :before{background-repeat:no-repeat;box-sizing:border-box}body :after,body :before{text-decoration:inherit;vertical-align:inherit}body hr{height:0;overflow:visible}body main{display:block}body nav ol,body nav ul{list-style:none}body abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}body b,body strong{font-weight:bolder}body code,body kbd,body pre,body samp{font-family:var(--font-family-monospace)}body ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}body audio,body canvas,body iframe,body img,body svg,body video{vertical-align:middle}body audio,body video{display:inline-block}body audio:not([controls]){display:none;height:0}body img{border-style:none}body svg:not([fill]){fill:currentcolor}body svg:not(:root){overflow:hidden}body table{border-collapse:collapse}body button,body input,body select,body textarea{font-family:inherit;font-size:inherit;line-height:inherit}body button,body figure,body input,body select{margin:0}body button{overflow:visible;text-transform:none}body fieldset{padding:.35rem .75rem .625rem}body input{overflow:visible;word-break:normal}body legend{color:inherit;display:table;max-width:100%;white-space:normal}body progress{display:inline-block;vertical-align:baseline}body select{text-transform:none}body textarea{overflow:auto;resize:vertical}body [type=checkbox],body [type=radio]{padding:0}body input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}body ::-webkit-inner-spin-button,body ::-webkit-outer-spin-button{height:auto}body ::input-placeholder{color:inherit;opacity:.54}body ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}body ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}body ::-moz-focus-inner{border-style:none;padding:0}body details{display:block}body summary{display:list-item}body canvas{display:inline-block}body template{display:none}body [tabindex],body a,body area,body button,body input,body label,body select,body summary,body textarea{touch-action:manipulation}body [hidden]{display:none}body [aria-busy=true]{cursor:progress}body [aria-controls]:not(input){cursor:pointer}body [aria-disabled=true],body [disabled]{cursor:not-allowed}body [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{body{background-color:#fff;color:#000}}body .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}