@dnb/eufemia 10.75.2 → 10.75.3

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 (368) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cjs/components/accordion/Accordion.js +2 -3
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionContext.d.ts +0 -4
  5. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  6. package/cjs/components/accordion/AccordionGroup.js +1 -3
  7. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  8. package/cjs/components/accordion/AccordionProviderContext.d.ts +0 -4
  9. package/cjs/components/accordion/AccordionProviderContext.js +3 -1
  10. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  11. package/cjs/components/accordion/AccordionStore.js +1 -2
  12. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  13. package/cjs/components/accordion/style/dnb-accordion.css +0 -6
  14. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  16. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  17. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  18. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
  20. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  21. package/cjs/components/button/Button.js +8 -7
  22. package/cjs/components/button/Button.js.map +1 -1
  23. package/cjs/components/date-picker/DatePickerDocs.js +3 -3
  24. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerInput.js +2 -2
  26. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  27. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  28. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  29. package/cjs/components/dialog/style/dnb-dialog.css +0 -4
  30. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  31. package/cjs/components/dialog/style/dnb-dialog.scss +0 -5
  32. package/cjs/components/drawer/DrawerDocs.js +2 -2
  33. package/cjs/components/drawer/DrawerDocs.js.map +1 -1
  34. package/cjs/components/drawer/style/dnb-drawer.css +0 -4
  35. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  36. package/cjs/components/drawer/style/dnb-drawer.scss +0 -5
  37. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  38. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  39. package/cjs/components/form-row/FormRow.d.ts +1 -1
  40. package/cjs/components/form-row/FormRowDocs.js +1 -1
  41. package/cjs/components/form-row/FormRowDocs.js.map +1 -1
  42. package/cjs/components/input-masked/style/dnb-input-masked.css +0 -1
  43. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  44. package/cjs/components/list-format/ListFormatDocs.js +2 -2
  45. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  46. package/cjs/components/modal/style/dnb-modal.css +0 -4
  47. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  48. package/cjs/components/modal/style/dnb-modal.scss +0 -5
  49. package/cjs/components/pagination/PaginationDocs.js +2 -2
  50. package/cjs/components/pagination/PaginationDocs.js.map +1 -1
  51. package/cjs/components/slider/SliderDocs.js +1 -1
  52. package/cjs/components/slider/SliderDocs.js.map +1 -1
  53. package/cjs/components/step-indicator/StepIndicatorDocs.js +4 -4
  54. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  55. package/cjs/components/timeline/TimelineItem.js +5 -5
  56. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  57. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -1
  58. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  59. package/cjs/components/upload/style/dnb-upload.css +0 -1
  60. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  61. package/cjs/core/jest/jestSetupScreenshots.css +6 -0
  62. package/cjs/extensions/forms/Field/Date/Date.js +10 -4
  63. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  64. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  65. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  66. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  67. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  68. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  69. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  70. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  71. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  72. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  73. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  74. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  75. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  76. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  77. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  78. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  79. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  80. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  81. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  82. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  83. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  84. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  85. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  86. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  87. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  88. package/cjs/extensions/forms/hooks/useFieldProps.js +3 -3
  89. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  90. package/cjs/extensions/payment-card/PaymentCard.js +8 -1
  91. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  92. package/cjs/shared/AlignmentHelper.d.ts +14 -8
  93. package/cjs/shared/AlignmentHelper.js +4 -8
  94. package/cjs/shared/AlignmentHelper.js.map +1 -1
  95. package/cjs/shared/BuildInfo.d.cts +2 -0
  96. package/cjs/shared/BuildInfo.js +5 -0
  97. package/cjs/shared/BuildInfo.js.map +1 -0
  98. package/cjs/shared/Eufemia.d.ts +14 -1
  99. package/cjs/shared/Eufemia.js +31 -3
  100. package/cjs/shared/Eufemia.js.map +1 -1
  101. package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  102. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  103. package/cjs/shared/useMedia.js +66 -55
  104. package/cjs/shared/useMedia.js.map +1 -1
  105. package/cjs/style/core/helper-classes/helper-classes.scss +3 -0
  106. package/cjs/style/core/scopes.scss +1 -1
  107. package/cjs/style/core/utilities.scss +3 -1
  108. package/cjs/style/dnb-ui-basis.css +13 -2
  109. package/cjs/style/dnb-ui-basis.min.css +1 -1
  110. package/cjs/style/dnb-ui-body.css +1 -2
  111. package/cjs/style/dnb-ui-body.min.css +1 -1
  112. package/cjs/style/dnb-ui-components.css +0 -22
  113. package/cjs/style/dnb-ui-components.min.css +3 -3
  114. package/cjs/style/dnb-ui-core.css +13 -3
  115. package/cjs/style/dnb-ui-core.min.css +1 -1
  116. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  117. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  118. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  119. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  120. package/cjs/style/themes/theme-ui/ui-theme-components.css +0 -22
  121. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  122. package/components/accordion/Accordion.js +2 -3
  123. package/components/accordion/Accordion.js.map +1 -1
  124. package/components/accordion/AccordionContext.d.ts +0 -4
  125. package/components/accordion/AccordionContext.js.map +1 -1
  126. package/components/accordion/AccordionGroup.js +1 -3
  127. package/components/accordion/AccordionGroup.js.map +1 -1
  128. package/components/accordion/AccordionProviderContext.d.ts +0 -4
  129. package/components/accordion/AccordionProviderContext.js +3 -1
  130. package/components/accordion/AccordionProviderContext.js.map +1 -1
  131. package/components/accordion/AccordionStore.js +1 -2
  132. package/components/accordion/AccordionStore.js.map +1 -1
  133. package/components/accordion/style/dnb-accordion.css +0 -6
  134. package/components/accordion/style/dnb-accordion.min.css +1 -1
  135. package/components/accordion/style/dnb-accordion.scss +0 -5
  136. package/components/autocomplete/Autocomplete.d.ts +1 -1
  137. package/components/autocomplete/Autocomplete.js +2 -2
  138. package/components/autocomplete/Autocomplete.js.map +1 -1
  139. package/components/autocomplete/AutocompleteDocs.js +1 -1
  140. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  141. package/components/button/Button.js +8 -7
  142. package/components/button/Button.js.map +1 -1
  143. package/components/date-picker/DatePickerDocs.js +3 -3
  144. package/components/date-picker/DatePickerDocs.js.map +1 -1
  145. package/components/date-picker/DatePickerInput.js +2 -2
  146. package/components/date-picker/DatePickerInput.js.map +1 -1
  147. package/components/date-picker/style/dnb-date-picker.css +0 -1
  148. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  149. package/components/dialog/style/dnb-dialog.css +0 -4
  150. package/components/dialog/style/dnb-dialog.min.css +1 -1
  151. package/components/dialog/style/dnb-dialog.scss +0 -5
  152. package/components/drawer/DrawerDocs.js +2 -2
  153. package/components/drawer/DrawerDocs.js.map +1 -1
  154. package/components/drawer/style/dnb-drawer.css +0 -4
  155. package/components/drawer/style/dnb-drawer.min.css +1 -1
  156. package/components/drawer/style/dnb-drawer.scss +0 -5
  157. package/components/form-label/style/dnb-form-label.css +0 -1
  158. package/components/form-label/style/dnb-form-label.min.css +1 -1
  159. package/components/form-row/FormRow.d.ts +1 -1
  160. package/components/form-row/FormRowDocs.js +1 -1
  161. package/components/form-row/FormRowDocs.js.map +1 -1
  162. package/components/input-masked/style/dnb-input-masked.css +0 -1
  163. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  164. package/components/list-format/ListFormatDocs.js +2 -2
  165. package/components/list-format/ListFormatDocs.js.map +1 -1
  166. package/components/modal/style/dnb-modal.css +0 -4
  167. package/components/modal/style/dnb-modal.min.css +1 -1
  168. package/components/modal/style/dnb-modal.scss +0 -5
  169. package/components/pagination/PaginationDocs.js +2 -2
  170. package/components/pagination/PaginationDocs.js.map +1 -1
  171. package/components/slider/SliderDocs.js +1 -1
  172. package/components/slider/SliderDocs.js.map +1 -1
  173. package/components/step-indicator/StepIndicatorDocs.js +4 -4
  174. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  175. package/components/timeline/TimelineItem.js +5 -5
  176. package/components/timeline/TimelineItem.js.map +1 -1
  177. package/components/toggle-button/ToggleButtonDocs.js +1 -1
  178. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  179. package/components/upload/style/dnb-upload.css +0 -1
  180. package/components/upload/style/dnb-upload.min.css +1 -1
  181. package/core/jest/jestSetupScreenshots.css +6 -0
  182. package/es/components/accordion/Accordion.js +2 -3
  183. package/es/components/accordion/Accordion.js.map +1 -1
  184. package/es/components/accordion/AccordionContext.d.ts +0 -4
  185. package/es/components/accordion/AccordionContext.js.map +1 -1
  186. package/es/components/accordion/AccordionGroup.js +1 -3
  187. package/es/components/accordion/AccordionGroup.js.map +1 -1
  188. package/es/components/accordion/AccordionProviderContext.d.ts +0 -4
  189. package/es/components/accordion/AccordionProviderContext.js +3 -1
  190. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  191. package/es/components/accordion/AccordionStore.js +1 -2
  192. package/es/components/accordion/AccordionStore.js.map +1 -1
  193. package/es/components/accordion/style/dnb-accordion.css +0 -6
  194. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  195. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  196. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  197. package/es/components/autocomplete/Autocomplete.js +2 -2
  198. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  199. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  200. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  201. package/es/components/button/Button.js +8 -7
  202. package/es/components/button/Button.js.map +1 -1
  203. package/es/components/date-picker/DatePickerDocs.js +3 -3
  204. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  205. package/es/components/date-picker/DatePickerInput.js +2 -2
  206. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  207. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  208. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  209. package/es/components/dialog/style/dnb-dialog.css +0 -4
  210. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  211. package/es/components/dialog/style/dnb-dialog.scss +0 -5
  212. package/es/components/drawer/DrawerDocs.js +2 -2
  213. package/es/components/drawer/DrawerDocs.js.map +1 -1
  214. package/es/components/drawer/style/dnb-drawer.css +0 -4
  215. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  216. package/es/components/drawer/style/dnb-drawer.scss +0 -5
  217. package/es/components/form-label/style/dnb-form-label.css +0 -1
  218. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  219. package/es/components/form-row/FormRow.d.ts +1 -1
  220. package/es/components/form-row/FormRowDocs.js +1 -1
  221. package/es/components/form-row/FormRowDocs.js.map +1 -1
  222. package/es/components/input-masked/style/dnb-input-masked.css +0 -1
  223. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  224. package/es/components/list-format/ListFormatDocs.js +2 -2
  225. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  226. package/es/components/modal/style/dnb-modal.css +0 -4
  227. package/es/components/modal/style/dnb-modal.min.css +1 -1
  228. package/es/components/modal/style/dnb-modal.scss +0 -5
  229. package/es/components/pagination/PaginationDocs.js +2 -2
  230. package/es/components/pagination/PaginationDocs.js.map +1 -1
  231. package/es/components/slider/SliderDocs.js +1 -1
  232. package/es/components/slider/SliderDocs.js.map +1 -1
  233. package/es/components/step-indicator/StepIndicatorDocs.js +4 -4
  234. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  235. package/es/components/timeline/TimelineItem.js +5 -5
  236. package/es/components/timeline/TimelineItem.js.map +1 -1
  237. package/es/components/toggle-button/ToggleButtonDocs.js +1 -1
  238. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  239. package/es/components/upload/style/dnb-upload.css +0 -1
  240. package/es/components/upload/style/dnb-upload.min.css +1 -1
  241. package/es/core/jest/jestSetupScreenshots.css +6 -0
  242. package/es/extensions/forms/Field/Date/Date.js +10 -4
  243. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  244. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  245. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  246. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  247. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  248. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  249. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  250. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  251. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  252. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  253. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  254. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  255. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  256. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  257. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  258. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  259. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  260. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  261. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  262. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  263. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  264. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  265. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  266. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  267. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  268. package/es/extensions/forms/hooks/useFieldProps.js +3 -3
  269. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  270. package/es/extensions/payment-card/PaymentCard.js +1 -0
  271. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  272. package/es/shared/AlignmentHelper.d.ts +14 -8
  273. package/es/shared/AlignmentHelper.js +4 -8
  274. package/es/shared/AlignmentHelper.js.map +1 -1
  275. package/es/shared/BuildInfo.cjs +6 -0
  276. package/es/shared/BuildInfo.d.cts +2 -0
  277. package/es/shared/Eufemia.d.ts +14 -1
  278. package/es/shared/Eufemia.js +27 -2
  279. package/es/shared/Eufemia.js.map +1 -1
  280. package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  281. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  282. package/es/shared/useMedia.js +66 -55
  283. package/es/shared/useMedia.js.map +1 -1
  284. package/es/style/core/helper-classes/helper-classes.scss +3 -0
  285. package/es/style/core/scopes.scss +1 -1
  286. package/es/style/core/utilities.scss +3 -1
  287. package/es/style/dnb-ui-basis.css +13 -2
  288. package/es/style/dnb-ui-basis.min.css +1 -1
  289. package/es/style/dnb-ui-body.css +1 -2
  290. package/es/style/dnb-ui-body.min.css +1 -1
  291. package/es/style/dnb-ui-components.css +0 -22
  292. package/es/style/dnb-ui-components.min.css +3 -3
  293. package/es/style/dnb-ui-core.css +13 -3
  294. package/es/style/dnb-ui-core.min.css +1 -1
  295. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  296. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  297. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  298. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  299. package/es/style/themes/theme-ui/ui-theme-components.css +0 -22
  300. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  301. package/esm/dnb-ui-components.min.mjs +1 -1
  302. package/esm/dnb-ui-elements.min.mjs +1 -1
  303. package/esm/dnb-ui-extensions.min.mjs +1 -1
  304. package/esm/dnb-ui-lib.min.mjs +1 -1
  305. package/extensions/forms/Field/Date/Date.js +10 -4
  306. package/extensions/forms/Field/Date/Date.js.map +1 -1
  307. package/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  308. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  309. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  310. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  311. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  312. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  313. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  314. package/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  315. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  316. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  317. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  318. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  319. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  320. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  321. package/extensions/forms/constants/locales/en-GB.js +2 -1
  322. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  323. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  324. package/extensions/forms/constants/locales/index.d.ts +2 -0
  325. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  326. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  327. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  328. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  329. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  330. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  331. package/extensions/forms/hooks/useFieldProps.js +3 -3
  332. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  333. package/extensions/payment-card/PaymentCard.js +1 -0
  334. package/extensions/payment-card/PaymentCard.js.map +1 -1
  335. package/package.json +1 -1
  336. package/shared/AlignmentHelper.d.ts +14 -8
  337. package/shared/AlignmentHelper.js +4 -8
  338. package/shared/AlignmentHelper.js.map +1 -1
  339. package/shared/BuildInfo.cjs +6 -0
  340. package/shared/BuildInfo.d.cts +2 -0
  341. package/shared/Eufemia.d.ts +14 -1
  342. package/shared/Eufemia.js +27 -2
  343. package/shared/Eufemia.js.map +1 -1
  344. package/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  345. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  346. package/shared/useMedia.js +67 -56
  347. package/shared/useMedia.js.map +1 -1
  348. package/style/core/helper-classes/helper-classes.scss +3 -0
  349. package/style/core/scopes.scss +1 -1
  350. package/style/core/utilities.scss +3 -1
  351. package/style/dnb-ui-basis.css +13 -2
  352. package/style/dnb-ui-basis.min.css +1 -1
  353. package/style/dnb-ui-body.css +1 -2
  354. package/style/dnb-ui-body.min.css +1 -1
  355. package/style/dnb-ui-components.css +0 -22
  356. package/style/dnb-ui-components.min.css +3 -3
  357. package/style/dnb-ui-core.css +13 -3
  358. package/style/dnb-ui-core.min.css +1 -1
  359. package/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  360. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  361. package/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  362. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  363. package/style/themes/theme-ui/ui-theme-components.css +0 -22
  364. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  365. package/umd/dnb-ui-components.min.js +1 -1
  366. package/umd/dnb-ui-elements.min.js +1 -1
  367. package/umd/dnb-ui-extensions.min.js +1 -1
  368. package/umd/dnb-ui-lib.min.js +1 -1
@@ -19,6 +19,7 @@ import { ProductType, CardType, BankAxeptType } from './utils/Types';
19
19
  import Designs, { defaultDesign } from './utils/CardDesigns';
20
20
  import cardProducts from './utils/cardProducts';
21
21
  export { Designs, ProductType, CardType, BankAxeptType };
22
+ export { formatCardNumber };
22
23
  const translationDefaultPropsProps = {
23
24
  text_blocked: null,
24
25
  text_expired: null,
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentCard.js","names":["React","PropTypes","classnames","Context","Provider","isTrue","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","formatCardNumber","CardFigure","cardDataPropTypes","ProductType","CardType","BankAxeptType","Designs","defaultDesign","cardProducts","translationDefaultPropsProps","text_blocked","text_expired","text_not_active","text_new_order","text_order_in_process","text_replaced","text_renewed","text_new","text_unknown","PaymentCard","PureComponent","render","_this$context","props","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","_objectWithoutProperties","_excluded","cardData","getCardData","params","_objectSpread","createElement","Consumer","_ref","translation","translations","productName","compact","data","cardStatus","cardNumber","parseFloat","_defineProperty","process","env","NODE_ENV","propTypes","string","isRequired","oneOf","oneOfType","number","bool","node","func","productCode","card","find","item","defaultCard","displayName","cardDesign","cardType","None","productType","bankAxept"],"sources":["../../../../src/extensions/payment-card/PaymentCard.js"],"sourcesContent":["/**\n * Web PaymentCard Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../../components/space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../../components/skeleton/SkeletonHelper'\n\nimport { formatCardNumber } from './components/CardNumber'\nimport CardFigure, { cardDataPropTypes } from './components/CardFigure'\n\nimport { ProductType, CardType, BankAxeptType } from './utils/Types'\nimport Designs, { defaultDesign } from './utils/CardDesigns'\nimport cardProducts from './utils/cardProducts'\n\nexport { Designs, ProductType, CardType, BankAxeptType }\n\nconst translationDefaultPropsProps = {\n text_blocked: null,\n text_expired: null,\n text_not_active: null,\n text_new_order: null,\n text_order_in_process: null,\n text_replaced: null,\n text_renewed: null,\n text_new: null,\n text_unknown: null,\n}\n\nexport default class PaymentCard extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n product_code: PropTypes.string.isRequired,\n card_number: PropTypes.string.isRequired,\n card_status: PropTypes.oneOf([\n 'active',\n 'blocked',\n 'expired',\n 'not_active',\n 'new_order',\n 'new',\n 'order_in_process',\n 'renewed',\n 'replaced',\n 'unknown',\n ]),\n variant: PropTypes.oneOf(['normal', 'compact']),\n digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n raw_data: cardDataPropTypes,\n id: PropTypes.string,\n locale: PropTypes.string,\n\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n }\n\n static defaultProps = {\n digits: 8,\n locale: null,\n card_status: 'active',\n variant: 'normal',\n\n id: null,\n raw_data: null,\n\n skeleton: false,\n className: null,\n children: null,\n\n ...translationDefaultPropsProps,\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n PaymentCard.defaultProps,\n { locale: this.context.locale },\n { skeleton: this.context?.skeleton }\n )\n\n const {\n product_code,\n card_number,\n card_status,\n variant,\n digits,\n id,\n raw_data,\n locale,\n skeleton,\n className,\n class: _className,\n children, //eslint-disable-line\n ...attributes\n } = props\n\n const cardData = raw_data || getCardData(product_code)\n\n const params = {\n className: classnames(\n 'dnb-payment-card',\n `dnb-payment-card--${variant}`,\n createSkeletonClass(null, skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <Provider locale={locale}>\n <Context.Consumer>\n {({ translation }) => {\n const translations = extendPropsWithContextInClassComponent(\n this.props,\n translationDefaultPropsProps,\n translation.PaymentCard\n )\n return (\n <figure {...params}>\n <figcaption className=\"dnb-sr-only dnb-payment-card__figcaption\">\n {cardData.productName}\n </figcaption>\n <CardFigure\n id={id}\n skeleton={isTrue(skeleton)}\n compact={variant === 'compact'}\n data={cardData}\n cardStatus={card_status}\n cardNumber={formatCardNumber(\n card_number,\n parseFloat(digits)\n )}\n translations={translations}\n />\n </figure>\n )\n }}\n </Context.Consumer>\n </Provider>\n )\n }\n}\n\nexport const getCardData = (productCode) => {\n const card = cardProducts.find(\n (item) => item.productCode === productCode\n )\n return card || defaultCard(productCode)\n}\n\nconst defaultCard = (productCode) => ({\n productCode,\n productName: '',\n displayName: '',\n cardDesign: defaultDesign,\n cardType: CardType.None,\n productType: ProductType.None,\n bankAxept: BankAxeptType.None,\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PaymentCard.js","names":["React","PropTypes","classnames","Context","Provider","isTrue","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","formatCardNumber","CardFigure","cardDataPropTypes","ProductType","CardType","BankAxeptType","Designs","defaultDesign","cardProducts","translationDefaultPropsProps","text_blocked","text_expired","text_not_active","text_new_order","text_order_in_process","text_replaced","text_renewed","text_new","text_unknown","PaymentCard","PureComponent","render","_this$context","props","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","_objectWithoutProperties","_excluded","cardData","getCardData","params","_objectSpread","createElement","Consumer","_ref","translation","translations","productName","compact","data","cardStatus","cardNumber","parseFloat","_defineProperty","process","env","NODE_ENV","propTypes","string","isRequired","oneOf","oneOfType","number","bool","node","func","productCode","card","find","item","defaultCard","displayName","cardDesign","cardType","None","productType","bankAxept"],"sources":["../../../../src/extensions/payment-card/PaymentCard.js"],"sourcesContent":["/**\n * Web PaymentCard Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../../components/space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../../components/skeleton/SkeletonHelper'\n\nimport { formatCardNumber } from './components/CardNumber'\nimport CardFigure, { cardDataPropTypes } from './components/CardFigure'\n\nimport { ProductType, CardType, BankAxeptType } from './utils/Types'\nimport Designs, { defaultDesign } from './utils/CardDesigns'\nimport cardProducts from './utils/cardProducts'\n\nexport { Designs, ProductType, CardType, BankAxeptType }\n\nexport { formatCardNumber }\n\nconst translationDefaultPropsProps = {\n text_blocked: null,\n text_expired: null,\n text_not_active: null,\n text_new_order: null,\n text_order_in_process: null,\n text_replaced: null,\n text_renewed: null,\n text_new: null,\n text_unknown: null,\n}\n\nexport default class PaymentCard extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n product_code: PropTypes.string.isRequired,\n card_number: PropTypes.string.isRequired,\n card_status: PropTypes.oneOf([\n 'active',\n 'blocked',\n 'expired',\n 'not_active',\n 'new_order',\n 'new',\n 'order_in_process',\n 'renewed',\n 'replaced',\n 'unknown',\n ]),\n variant: PropTypes.oneOf(['normal', 'compact']),\n digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n raw_data: cardDataPropTypes,\n id: PropTypes.string,\n locale: PropTypes.string,\n\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n }\n\n static defaultProps = {\n digits: 8,\n locale: null,\n card_status: 'active',\n variant: 'normal',\n\n id: null,\n raw_data: null,\n\n skeleton: false,\n className: null,\n children: null,\n\n ...translationDefaultPropsProps,\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n PaymentCard.defaultProps,\n { locale: this.context.locale },\n { skeleton: this.context?.skeleton }\n )\n\n const {\n product_code,\n card_number,\n card_status,\n variant,\n digits,\n id,\n raw_data,\n locale,\n skeleton,\n className,\n class: _className,\n children, //eslint-disable-line\n ...attributes\n } = props\n\n const cardData = raw_data || getCardData(product_code)\n\n const params = {\n className: classnames(\n 'dnb-payment-card',\n `dnb-payment-card--${variant}`,\n createSkeletonClass(null, skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <Provider locale={locale}>\n <Context.Consumer>\n {({ translation }) => {\n const translations = extendPropsWithContextInClassComponent(\n this.props,\n translationDefaultPropsProps,\n translation.PaymentCard\n )\n return (\n <figure {...params}>\n <figcaption className=\"dnb-sr-only dnb-payment-card__figcaption\">\n {cardData.productName}\n </figcaption>\n <CardFigure\n id={id}\n skeleton={isTrue(skeleton)}\n compact={variant === 'compact'}\n data={cardData}\n cardStatus={card_status}\n cardNumber={formatCardNumber(\n card_number,\n parseFloat(digits)\n )}\n translations={translations}\n />\n </figure>\n )\n }}\n </Context.Consumer>\n </Provider>\n )\n }\n}\n\nexport const getCardData = (productCode) => {\n const card = cardProducts.find(\n (item) => item.productCode === productCode\n )\n return card || defaultCard(productCode)\n}\n\nconst defaultCard = (productCode) => ({\n productCode,\n productName: '',\n displayName: '',\n cardDesign: defaultDesign,\n cardType: CardType.None,\n productType: ProductType.None,\n bankAxept: BankAxeptType.None,\n})\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnb/eufemia",
3
- "version": "10.75.2",
3
+ "version": "10.75.3",
4
4
  "description": "DNB Eufemia Design System UI Library",
5
5
  "license": "SEE LICENSE IN LICENSE FILE",
6
6
  "author": "DNB Team & Tobias Høegh",
@@ -1,8 +1,14 @@
1
- import * as React from 'react';
2
- export interface AlignmentHelperProps
3
- extends React.HTMLProps<HTMLElement> {
4
- children?: React.ReactNode;
5
- className?: string;
6
- }
7
- declare const AlignmentHelper: React.FC<AlignmentHelperProps>;
8
- export default AlignmentHelper;
1
+ /**
2
+ * Alignment helper
3
+ *
4
+ * This helper element provides needed help when it comes to HTML inline alignment (vertically)
5
+ *
6
+ */
7
+ import React from 'react';
8
+ type Props = {
9
+ className?: string;
10
+ children?: React.ReactNode;
11
+ pseudoElementOnly?: boolean;
12
+ } & React.HTMLAttributes<HTMLSpanElement>;
13
+ export default function AlignmentHelper({ className, children, pseudoElementOnly, ...props }: Props): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -1,22 +1,18 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- const _excluded = ["className", "children"];
3
+ const _excluded = ["className", "children", "pseudoElementOnly"];
4
4
  import React from 'react';
5
- import PropTypes from 'prop-types';
6
5
  import classnames from 'classnames';
7
6
  export default function AlignmentHelper(_ref) {
8
7
  let {
9
8
  className = null,
10
- children = null
9
+ children = null,
10
+ pseudoElementOnly = false
11
11
  } = _ref,
12
12
  props = _objectWithoutProperties(_ref, _excluded);
13
13
  return React.createElement("span", _extends({
14
- className: classnames('dnb-alignment-helper', className),
14
+ className: classnames(pseudoElementOnly ? 'dnb-alignment-helper--pseudo-element-only' : 'dnb-alignment-helper', className),
15
15
  "aria-hidden": true
16
16
  }, props), children);
17
17
  }
18
- process.env.NODE_ENV !== "production" ? AlignmentHelper.propTypes = {
19
- children: PropTypes.node,
20
- className: PropTypes.string
21
- } : void 0;
22
18
  //# sourceMappingURL=AlignmentHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlignmentHelper.js","names":["React","PropTypes","classnames","AlignmentHelper","_ref","className","children","props","_objectWithoutProperties","_excluded","createElement","_extends","process","env","NODE_ENV","propTypes","node","string"],"sources":["../../../src/shared/AlignmentHelper.js"],"sourcesContent":["/**\n * Alignment helper\n *\n * This helper element provides needed help when it comes to HTML inline alignment (vertically)\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\nexport default function AlignmentHelper({\n className = null,\n children = null,\n ...props\n}) {\n return (\n <span\n className={classnames('dnb-alignment-helper', className)}\n aria-hidden\n {...props}\n >\n {children}\n </span>\n )\n}\n\nAlignmentHelper.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n}\n"],"mappings":";;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,eAAe,SAASC,eAAeA,CAAAC,IAAA,EAIpC;EAAA,IAJqC;MACtCC,SAAS,GAAG,IAAI;MAChBC,QAAQ,GAAG;IAEb,CAAC,GAAAF,IAAA;IADIG,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAER,OACET,KAAA,CAAAU,aAAA,SAAAC,QAAA;IACEN,SAAS,EAAEH,UAAU,CAAC,sBAAsB,EAAEG,SAAS,CAAE;IACzD;EAAW,GACPE,KAAK,GAERD,QACG,CAAC;AAEX;AAEAM,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAX,eAAe,CAACY,SAAS,GAAG;EAC1BT,QAAQ,EAAEL,SAAS,CAACe,IAAI;EACxBX,SAAS,EAAEJ,SAAS,CAACgB;AACvB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"AlignmentHelper.js","names":["React","classnames","AlignmentHelper","_ref","className","children","pseudoElementOnly","props","_objectWithoutProperties","_excluded","createElement","_extends"],"sources":["../../../src/shared/AlignmentHelper.tsx"],"sourcesContent":["/**\n * Alignment helper\n *\n * This helper element provides needed help when it comes to HTML inline alignment (vertically)\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\n\ntype Props = {\n className?: string\n children?: React.ReactNode\n pseudoElementOnly?: boolean\n} & React.HTMLAttributes<HTMLSpanElement>\n\nexport default function AlignmentHelper({\n className = null,\n children = null,\n pseudoElementOnly = false,\n ...props\n}: Props) {\n return (\n <span\n className={classnames(\n pseudoElementOnly\n ? 'dnb-alignment-helper--pseudo-element-only'\n : 'dnb-alignment-helper',\n className\n )}\n aria-hidden\n {...props}\n >\n {children}\n </span>\n )\n}\n"],"mappings":";;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAQnC,eAAe,SAASC,eAAeA,CAAAC,IAAA,EAK7B;EAAA,IAL8B;MACtCC,SAAS,GAAG,IAAI;MAChBC,QAAQ,GAAG,IAAI;MACfC,iBAAiB,GAAG;IAEf,CAAC,GAAAH,IAAA;IADHI,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAER,OACET,KAAA,CAAAU,aAAA,SAAAC,QAAA;IACEP,SAAS,EAAEH,UAAU,CACnBK,iBAAiB,GACb,2CAA2C,GAC3C,sBAAsB,EAC1BF,SACF,CAAE;IACF;EAAW,GACPG,KAAK,GAERF,QACG,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file will be transformed by makeReleaseVersion.ts
3
+ */
4
+
5
+ exports.version = '10.75.3'
6
+ exports.sha = 'ecf961951'
@@ -0,0 +1,2 @@
1
+ export const version: "10.75.3";
2
+ export const sha: "ecf961951";
@@ -1,2 +1,15 @@
1
- export declare const version = "10.75.2";
1
+ export declare const version: "10.75.3";
2
+ export declare const sha: "ecf961951";
3
+ declare global {
4
+ interface Window {
5
+ Eufemia?: {
6
+ version?: string;
7
+ versions?: string[];
8
+ sha?: string;
9
+ shas?: string[];
10
+ };
11
+ __eufemiaVersions?: string[];
12
+ __eufemiaSHAs?: string[];
13
+ }
14
+ }
2
15
  export declare function init(): void;
package/shared/Eufemia.js CHANGED
@@ -1,9 +1,34 @@
1
- export const version = '10.75.2';
1
+ import * as BuildInfo from './BuildInfo.cjs';
2
+ export const version = BuildInfo.version;
3
+ export const sha = BuildInfo.sha;
2
4
  export function init() {
3
5
  if (typeof window !== 'undefined') {
4
6
  class Eufemia {
7
+ constructor() {
8
+ if (!window.__eufemiaVersions) {
9
+ window.__eufemiaVersions = [];
10
+ }
11
+ if (!window.__eufemiaVersions.includes(this.version)) {
12
+ window.__eufemiaVersions.push(this.version);
13
+ }
14
+ if (!window.__eufemiaSHAs) {
15
+ window.__eufemiaSHAs = [];
16
+ }
17
+ if (!window.__eufemiaSHAs.includes(this.sha)) {
18
+ window.__eufemiaSHAs.push(this.sha);
19
+ }
20
+ }
5
21
  get version() {
6
- return '10.75.2';
22
+ return version;
23
+ }
24
+ get versions() {
25
+ return window.__eufemiaVersions;
26
+ }
27
+ get sha() {
28
+ return sha;
29
+ }
30
+ get shas() {
31
+ return window.__eufemiaSHAs;
7
32
  }
8
33
  }
9
34
  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.75.2'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.75.2'\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","ignoreList":[]}
1
+ {"version":3,"file":"Eufemia.js","names":["BuildInfo","version","sha","init","window","Eufemia","constructor","__eufemiaVersions","includes","push","__eufemiaSHAs","versions","shas"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["import * as BuildInfo from './BuildInfo.cjs'\n\nexport const version = BuildInfo.version\nexport const sha = BuildInfo.sha\n\ndeclare global {\n interface Window {\n Eufemia?: {\n version?: string\n versions?: string[]\n sha?: string\n shas?: string[]\n }\n __eufemiaVersions?: string[]\n __eufemiaSHAs?: string[]\n }\n}\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n constructor() {\n if (!window.__eufemiaVersions) {\n window.__eufemiaVersions = []\n }\n if (!window.__eufemiaVersions.includes(this.version)) {\n window.__eufemiaVersions.push(this.version)\n }\n\n if (!window.__eufemiaSHAs) {\n window.__eufemiaSHAs = []\n }\n if (!window.__eufemiaSHAs.includes(this.sha)) {\n window.__eufemiaSHAs.push(this.sha)\n }\n }\n\n get version() {\n return version\n }\n\n get versions(): string[] {\n return window.__eufemiaVersions\n }\n\n get sha() {\n return sha\n }\n\n get shas(): string[] {\n return window.__eufemiaSHAs\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,SAAS,MAAM,iBAAiB;AAE5C,OAAO,MAAMC,OAAO,GAAGD,SAAS,CAACC,OAAO;AACxC,OAAO,MAAMC,GAAG,GAAGF,SAAS,CAACE,GAAG;AAehC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZC,WAAWA,CAAA,EAAG;QACZ,IAAI,CAACF,MAAM,CAACG,iBAAiB,EAAE;UAC7BH,MAAM,CAACG,iBAAiB,GAAG,EAAE;QAC/B;QACA,IAAI,CAACH,MAAM,CAACG,iBAAiB,CAACC,QAAQ,CAAC,IAAI,CAACP,OAAO,CAAC,EAAE;UACpDG,MAAM,CAACG,iBAAiB,CAACE,IAAI,CAAC,IAAI,CAACR,OAAO,CAAC;QAC7C;QAEA,IAAI,CAACG,MAAM,CAACM,aAAa,EAAE;UACzBN,MAAM,CAACM,aAAa,GAAG,EAAE;QAC3B;QACA,IAAI,CAACN,MAAM,CAACM,aAAa,CAACF,QAAQ,CAAC,IAAI,CAACN,GAAG,CAAC,EAAE;UAC5CE,MAAM,CAACM,aAAa,CAACD,IAAI,CAAC,IAAI,CAACP,GAAG,CAAC;QACrC;MACF;MAEA,IAAID,OAAOA,CAAA,EAAG;QACZ,OAAOA,OAAO;MAChB;MAEA,IAAIU,QAAQA,CAAA,EAAa;QACvB,OAAOP,MAAM,CAACG,iBAAiB;MACjC;MAEA,IAAIL,GAAGA,CAAA,EAAG;QACR,OAAOA,GAAG;MACZ;MAEA,IAAIU,IAAIA,CAAA,EAAa;QACnB,OAAOR,MAAM,CAACM,aAAa;MAC7B;IACF;IAEAN,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF","ignoreList":[]}
@@ -1,8 +1 @@
1
- declare global {
2
- interface Window {
3
- Eufemia?: {
4
- version: string;
5
- };
6
- }
7
- }
8
1
  export declare function runCssVersionMismatchWarning(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"runCssVersionMismatchWarning.js","names":["runCssVersionMismatchWarning","document","process","env","NODE_ENV","runCheck","_window$Eufemia","jsVersion","window","Eufemia","version","getCssVersion","element","_window$getComputedSt","getComputedStyle","getPropertyValue","replace","undefined","cssVersion","body","getElementsByClassName","isUnknown","consoleArguments","console","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 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;UACjC,OAAOD,OAAO,IAAAC,qBAAA,GACVL,MAAM,CACHM,gBAAgB,CAACF,OAAO,CAAC,CACzBG,gBAAgB,CAAC,mBAAmB,CAAC,cAAAF,qBAAA,uBAFxCA,qBAAA,CAGIG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GACxBC,SAAS;QACf,CAAC;QAED,MAAMC,UAAU,GACdP,aAAa,CAACV,QAAQ,CAACkB,IAAI,CAAC,IAC5BR,aAAa,CACXV,QAAQ,CAACmB,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACrD,CAAC,IACD,SAAS;QAEX,IAAIF,UAAU,KAAKX,SAAS,EAAE;UAC5B,MAAMc,SAAS,GAAGH,UAAU,KAAK,SAAS;UAE1C,MAAMI,gBAAgB,GAAG,CACvB,uCACED,SAAS,GACL,kGAAkG,GAClG,EAAE,EACN,EACF,UAAUH,UAAU,EAAE,EACtB,SAASX,SAAS,EAAE,CACrB;UAED,IAAIc,SAAS,EAAE;YACbE,OAAO,CAACC,IAAI,CAAC,GAAGF,gBAAgB,CAAC;UACnC,CAAC,MAAM;YACLC,OAAO,CAACE,KAAK,CAAC,GAAGH,gBAAgB,CAAC;UACpC;QACF;MACF,CAAC;MAED,IAAIrB,QAAQ,CAACyB,UAAU,KAAK,UAAU,EAAE;QACtClB,MAAM,CAACmB,qBAAqB,CAACtB,QAAQ,CAAC;MACxC,CAAC,MAAM;QACLG,MAAM,CAACoB,gBAAgB,CAAC,MAAM,EAAEvB,QAAQ,CAAC;MAC3C;IACF;EACF,CAAC,CAAC,OAAOoB,KAAK,EAAE;IACdF,OAAO,CAACE,KAAK,CAACA,KAAK,CAAC;EACtB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"runCssVersionMismatchWarning.js","names":["runCssVersionMismatchWarning","document","process","env","NODE_ENV","runCheck","_window$Eufemia","jsVersion","window","Eufemia","version","getCssVersion","element","_window$getComputedSt","getComputedStyle","getPropertyValue","replace","undefined","cssVersion","body","getElementsByClassName","isUnknown","consoleArguments","console","warn","error","readyState","requestAnimationFrame","addEventListener"],"sources":["../../../../src/shared/helpers/runCssVersionMismatchWarning.ts"],"sourcesContent":["export 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 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":";;AAAA,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;UACjC,OAAOD,OAAO,IAAAC,qBAAA,GACVL,MAAM,CACHM,gBAAgB,CAACF,OAAO,CAAC,CACzBG,gBAAgB,CAAC,mBAAmB,CAAC,cAAAF,qBAAA,uBAFxCA,qBAAA,CAGIG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GACxBC,SAAS;QACf,CAAC;QAED,MAAMC,UAAU,GACdP,aAAa,CAACV,QAAQ,CAACkB,IAAI,CAAC,IAC5BR,aAAa,CACXV,QAAQ,CAACmB,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACrD,CAAC,IACD,SAAS;QAEX,IAAIF,UAAU,KAAKX,SAAS,EAAE;UAC5B,MAAMc,SAAS,GAAGH,UAAU,KAAK,SAAS;UAE1C,MAAMI,gBAAgB,GAAG,CACvB,uCACED,SAAS,GACL,kGAAkG,GAClG,EAAE,EACN,EACF,UAAUH,UAAU,EAAE,EACtB,SAASX,SAAS,EAAE,CACrB;UAED,IAAIc,SAAS,EAAE;YACbE,OAAO,CAACC,IAAI,CAAC,GAAGF,gBAAgB,CAAC;UACnC,CAAC,MAAM;YACLC,OAAO,CAACE,KAAK,CAAC,GAAGH,gBAAgB,CAAC;UACpC;QACF;MACF,CAAC;MAED,IAAIrB,QAAQ,CAACyB,UAAU,KAAK,UAAU,EAAE;QACtClB,MAAM,CAACmB,qBAAqB,CAACtB,QAAQ,CAAC;MACxC,CAAC,MAAM;QACLG,MAAM,CAACoB,gBAAgB,CAAC,MAAM,EAAEvB,QAAQ,CAAC;MAC3C;IACF;EACF,CAAC,CAAC,OAAOoB,KAAK,EAAE;IACdF,OAAO,CAACE,KAAK,CAACA,KAAK,CAAC;EACtB;AACF","ignoreList":[]}
@@ -4,7 +4,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  import "core-js/modules/web.dom-collections.iterator.js";
7
- import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
7
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
8
8
  import Context from './Context';
9
9
  import { makeMediaQueryList, createMediaQueryListener, isMatchMediaSupported } from './MediaQueryUtils';
10
10
  import { toPascalCase } from './component-helper';
@@ -36,67 +36,24 @@ export default function useMedia() {
36
36
  } = props;
37
37
  const context = useContext(Context);
38
38
  const refs = useRef({});
39
- const defaults = useRef({});
40
- const isMounted = useRef(false);
41
- const isDisabled = useRef(disabled);
42
- const [result, updateRerender] = useState(makeResult);
43
- const useLayoutEffect = useMemo(makeLayoutEffect, []);
44
- useLayoutEffect(() => {
45
- if (!isMounted.current) {
46
- isMounted.current = true;
47
- updateRerender(makeResult());
48
- }
49
- return removeListeners;
50
- }, []);
51
- useLayoutEffect(() => {
52
- if (isDisabled.current && !disabled) {
53
- updateRerender(makeResult());
54
- }
55
- isDisabled.current = disabled;
56
- }, [disabled]);
57
- return result;
58
- function removeListeners() {
39
+ const defaultsRef = useRef({});
40
+ const resultRef = useRef({});
41
+ const isMountedRef = useRef(false);
42
+ const isDisabledRef = useRef(disabled);
43
+ const removeListeners = useCallback(() => {
59
44
  Object.entries(refs.current).forEach(_ref => {
60
45
  var _item$event;
61
46
  let [key, item] = _ref;
62
47
  item === null || item === void 0 ? void 0 : (_item$event = item.event) === null || _item$event === void 0 ? void 0 : _item$event.call(item);
63
48
  delete refs.current[key];
64
49
  });
65
- }
66
- function makeResult() {
67
- return Object.entries(queries).reduce((acc, _ref2) => {
68
- var _item$mediaQueryList;
69
- let [k, when] = _ref2;
70
- const key = k;
71
- const name = `is${toPascalCase(key)}`;
72
- if (disabled) {
73
- acc[name] = false;
74
- return acc;
75
- }
76
- defaults.current[name] = false;
77
- const item = runQuery({
78
- when,
79
- name,
80
- key
81
- });
82
- const hasMatch = !isMounted.current ? typeof (initialValue === null || initialValue === void 0 ? void 0 : initialValue[name]) !== 'undefined' ? initialValue[name] : false : (item === null || item === void 0 ? void 0 : (_item$mediaQueryList = item.mediaQueryList) === null || _item$mediaQueryList === void 0 ? void 0 : _item$mediaQueryList.matches) || false;
83
- acc[name] = hasMatch;
84
- if (hasMatch) {
85
- acc.key = key;
86
- }
87
- refs.current[key] = item;
88
- return acc;
89
- }, {
90
- isSSR: !isMatchMediaSupported(),
91
- key: null
92
- });
93
- }
94
- function runQuery(_ref3) {
50
+ }, []);
51
+ const runQuery = useCallback(_ref2 => {
95
52
  let {
96
53
  when,
97
54
  name,
98
55
  key
99
- } = _ref3;
56
+ } = _ref2;
100
57
  if (!isMatchMediaSupported()) {
101
58
  return;
102
59
  }
@@ -108,10 +65,10 @@ export default function useMedia() {
108
65
  log
109
66
  });
110
67
  const event = createMediaQueryListener(mediaQueryList, match => {
111
- if (!isDisabled.current && match) {
112
- const state = _objectSpread(_objectSpread({}, defaults.current), {}, {
68
+ if (!isDisabledRef.current && match) {
69
+ const state = _objectSpread(_objectSpread({}, defaultsRef.current), {}, {
113
70
  key,
114
- isSSR: result.isSSR
71
+ isSSR: resultRef.current.isSSR
115
72
  });
116
73
  state[name] = match;
117
74
  updateRerender(state);
@@ -121,6 +78,60 @@ export default function useMedia() {
121
78
  event,
122
79
  mediaQueryList
123
80
  };
124
- }
81
+ }, [breakpoints, context.breakpoints, correctRange, disabled, log]);
82
+ const makeResult = useCallback(() => {
83
+ return Object.entries(queries).reduce((acc, _ref3) => {
84
+ let [k, when] = _ref3;
85
+ const key = k;
86
+ const name = `is${toPascalCase(key)}`;
87
+ if (disabled) {
88
+ acc[name] = false;
89
+ return acc;
90
+ }
91
+ defaultsRef.current[name] = false;
92
+ const item = runQuery({
93
+ when,
94
+ name,
95
+ key
96
+ });
97
+ let hasMatch = undefined;
98
+ if (typeof (initialValue === null || initialValue === void 0 ? void 0 : initialValue[name]) !== 'undefined' && !isMountedRef.current) {
99
+ hasMatch = initialValue[name];
100
+ } else {
101
+ var _item$mediaQueryList;
102
+ hasMatch = (item === null || item === void 0 ? void 0 : (_item$mediaQueryList = item.mediaQueryList) === null || _item$mediaQueryList === void 0 ? void 0 : _item$mediaQueryList.matches) || false;
103
+ }
104
+ acc[name] = hasMatch;
105
+ if (hasMatch) {
106
+ acc.key = key;
107
+ }
108
+ refs.current[key] = item;
109
+ return acc;
110
+ }, {
111
+ isSSR: !isMatchMediaSupported(),
112
+ key: null
113
+ });
114
+ }, [disabled, initialValue, queries, runQuery]);
115
+ const [result, updateRerender] = useState(makeResult);
116
+ resultRef.current = result;
117
+ const useLayoutEffect = useMemo(makeLayoutEffect, []);
118
+ useLayoutEffect(() => {
119
+ if (!isMountedRef.current) {
120
+ isMountedRef.current = true;
121
+ const result = makeResult();
122
+ const hasChanged = Object.keys(result).some(key => resultRef.current[key] !== result[key]);
123
+ if (hasChanged) {
124
+ updateRerender(result);
125
+ }
126
+ }
127
+ return removeListeners;
128
+ }, [makeResult, removeListeners]);
129
+ useLayoutEffect(() => {
130
+ if (isDisabledRef.current && !disabled) {
131
+ updateRerender(makeResult());
132
+ }
133
+ isDisabledRef.current = disabled;
134
+ }, [disabled, makeResult]);
135
+ return result;
125
136
  }
126
137
  //# sourceMappingURL=useMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMedia.js","names":["React","useContext","useEffect","useMemo","useRef","useState","Context","makeMediaQueryList","createMediaQueryListener","isMatchMediaSupported","toPascalCase","makeLayoutEffect","window","useLayoutEffect","defaultQueries","small","min","max","medium","large","useMedia","props","arguments","length","undefined","initialValue","disabled","correctRange","breakpoints","queries","log","context","refs","defaults","isMounted","isDisabled","result","updateRerender","makeResult","current","removeListeners","Object","entries","forEach","_ref","_item$event","key","item","event","call","reduce","acc","_ref2","_item$mediaQueryList","k","when","name","runQuery","hasMatch","mediaQueryList","matches","isSSR","_ref3","match","state","_objectSpread"],"sources":["../../../src/shared/useMedia.tsx"],"sourcesContent":["import React, {\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryListener,\n MediaQueryCondition,\n MediaQueryBreakpoints,\n MediaQueryOptions,\n} from './MediaQueryUtils'\nimport { toPascalCase } from './component-helper'\n\nconst makeLayoutEffect = () => {\n // SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n return typeof window === 'undefined'\n ? useEffect\n : window['__SSR_TEST__'] // To be able to test this hook like we are in SSR land\n ? () => null\n : React.useLayoutEffect\n}\n\nexport type UseMediaProps = {\n /**\n * Give a initial value, that is used during SSR as well.\n * Default: null\n */\n initialValue?: Partial<UseMediaResult>\n\n /**\n * If set to true, no MediaQuery will be used.\n * Default: false\n */\n disabled?: MediaQueryOptions['disabled']\n\n /**\n * Provide a custom breakpoint\n * Default: defaultBreakpoints\n */\n breakpoints?: MediaQueryBreakpoints\n\n /**\n * Provide a custom query\n * Default: defaultQueries\n */\n queries?: Record<string, MediaQueryCondition>\n\n /**\n * For debugging\n */\n log?: boolean\n\n /**\n * Not documented as of now. For internal use only.\n * Default: true\n */\n correctRange?: MediaQueryOptions['correctRange']\n}\n\nexport type UseMediaQueries = {\n small: MediaQueryCondition\n medium: MediaQueryCondition\n large: MediaQueryCondition\n}\n\nexport const defaultQueries: UseMediaQueries = {\n small: { min: 0, max: 'small' },\n medium: { min: 'small', max: 'medium' },\n large: { min: 'medium' },\n}\n\nexport type UseMediaResult = {\n isSmall: boolean\n isMedium: boolean\n isLarge: boolean\n isSSR: boolean\n key: Keys\n}\n\n/**\n * Internal stuff\n */\n\ntype Keys = keyof UseMediaQueries\ntype Names = 'isSmall' | 'isMedium' | 'isLarge'\n\ntype UseMediaItem = {\n event: MediaQueryListener\n mediaQueryList: MediaQueryList\n}\n\ntype UseMediaQueryProps = {\n when: MediaQueryCondition\n name: Names\n key: Keys\n}\n\nexport default function useMedia(\n props: UseMediaProps = {}\n): UseMediaResult {\n const {\n initialValue = null,\n disabled,\n correctRange = true,\n breakpoints,\n queries = defaultQueries,\n log,\n } = props\n\n const context = useContext(Context)\n\n const refs = useRef({})\n const defaults = useRef({})\n const isMounted = useRef(false)\n const isDisabled = useRef(disabled)\n const [result, updateRerender] = useState<UseMediaResult>(makeResult)\n\n const useLayoutEffect = useMemo(makeLayoutEffect, [])\n\n useLayoutEffect(() => {\n if (!isMounted.current) {\n isMounted.current = true\n updateRerender(makeResult())\n }\n\n return removeListeners\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n // If it was disabled before\n if (isDisabled.current && !disabled) {\n updateRerender(makeResult())\n }\n isDisabled.current = disabled\n }, [disabled]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return result\n\n function removeListeners() {\n Object.entries(refs.current).forEach(\n ([key, item]: [Keys, UseMediaItem]) => {\n item?.event?.()\n delete refs.current[key]\n }\n )\n }\n\n function makeResult() {\n return Object.entries(queries).reduce(\n (acc, [k, when]) => {\n const key = k as Keys\n const name = `is${toPascalCase(key)}` as Names\n\n if (disabled) {\n acc[name] = false\n return acc\n }\n\n defaults.current[name] = false\n\n const item = runQuery({\n when,\n name,\n key,\n })\n\n const hasMatch = !isMounted.current\n ? typeof initialValue?.[name] !== 'undefined'\n ? initialValue[name]\n : false\n : item?.mediaQueryList?.matches || false\n acc[name] = hasMatch\n if (hasMatch) {\n acc.key = key\n }\n\n refs.current[key] = item\n\n return acc\n },\n { isSSR: !isMatchMediaSupported(), key: null } as UseMediaResult\n ) as UseMediaResult\n }\n\n function runQuery({\n when,\n name,\n key,\n }: UseMediaQueryProps): UseMediaItem {\n if (!isMatchMediaSupported()) {\n return // do nothing\n }\n\n const mediaQueryList = makeMediaQueryList(\n { when },\n breakpoints || context.breakpoints,\n { disabled, correctRange, log }\n )\n\n const event = createMediaQueryListener(mediaQueryList, (match) => {\n if (!isDisabled.current && match) {\n const state = {\n ...defaults.current,\n key,\n isSSR: result.isSSR,\n } as UseMediaResult\n state[name] = match\n updateRerender(state)\n }\n })\n\n return { event, mediaQueryList }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useMedia.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","Context","makeMediaQueryList","createMediaQueryListener","isMatchMediaSupported","toPascalCase","makeLayoutEffect","window","useLayoutEffect","defaultQueries","small","min","max","medium","large","useMedia","props","arguments","length","undefined","initialValue","disabled","correctRange","breakpoints","queries","log","context","refs","defaultsRef","resultRef","isMountedRef","isDisabledRef","removeListeners","Object","entries","current","forEach","_ref","_item$event","key","item","event","call","runQuery","_ref2","when","name","mediaQueryList","match","state","_objectSpread","isSSR","updateRerender","makeResult","reduce","acc","_ref3","k","hasMatch","_item$mediaQueryList","matches","result","hasChanged","keys","some"],"sources":["../../../src/shared/useMedia.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryListener,\n MediaQueryCondition,\n MediaQueryBreakpoints,\n MediaQueryOptions,\n} from './MediaQueryUtils'\nimport { toPascalCase } from './component-helper'\n\nconst makeLayoutEffect = () => {\n // SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n return typeof window === 'undefined'\n ? useEffect\n : window['__SSR_TEST__'] // To be able to test this hook like we are in SSR land\n ? () => null\n : React.useLayoutEffect\n}\n\nexport type UseMediaProps = {\n /**\n * Give a initial value, that is used during SSR as well.\n * Default: null\n */\n initialValue?: Partial<UseMediaResult>\n\n /**\n * If set to true, no MediaQuery will be used.\n * Default: false\n */\n disabled?: MediaQueryOptions['disabled']\n\n /**\n * Provide a custom breakpoint\n * Default: defaultBreakpoints\n */\n breakpoints?: MediaQueryBreakpoints\n\n /**\n * Provide a custom query\n * Default: defaultQueries\n */\n queries?: Record<string, MediaQueryCondition>\n\n /**\n * For debugging\n */\n log?: boolean\n\n /**\n * Not documented as of now. For internal use only.\n * Default: true\n */\n correctRange?: MediaQueryOptions['correctRange']\n}\n\nexport type UseMediaQueries = {\n small: MediaQueryCondition\n medium: MediaQueryCondition\n large: MediaQueryCondition\n}\n\nexport const defaultQueries: UseMediaQueries = {\n small: { min: 0, max: 'small' },\n medium: { min: 'small', max: 'medium' },\n large: { min: 'medium' },\n}\n\nexport type UseMediaResult = {\n isSmall: boolean\n isMedium: boolean\n isLarge: boolean\n isSSR: boolean\n key: Keys\n}\n\n/**\n * Internal stuff\n */\n\ntype Keys = keyof UseMediaQueries\ntype Names = 'isSmall' | 'isMedium' | 'isLarge'\n\ntype UseMediaItem = {\n event: MediaQueryListener\n mediaQueryList: MediaQueryList\n}\n\ntype UseMediaQueryProps = {\n when: MediaQueryCondition\n name: Names\n key: Keys\n}\n\nexport default function useMedia(\n props: UseMediaProps = {}\n): UseMediaResult {\n const {\n initialValue = null,\n disabled,\n correctRange = true,\n breakpoints,\n queries = defaultQueries,\n log,\n } = props\n\n const context = useContext(Context)\n\n const refs = useRef({})\n const defaultsRef = useRef({})\n const resultRef = useRef<Partial<UseMediaResult>>({})\n const isMountedRef = useRef(false)\n const isDisabledRef = useRef(disabled)\n\n const removeListeners = useCallback(() => {\n Object.entries(refs.current).forEach(\n ([key, item]: [Keys, UseMediaItem]) => {\n item?.event?.()\n delete refs.current[key]\n }\n )\n }, [])\n\n const runQuery = useCallback(\n ({ when, name, key }: UseMediaQueryProps): UseMediaItem => {\n if (!isMatchMediaSupported()) {\n return // do nothing\n }\n\n const mediaQueryList = makeMediaQueryList(\n { when },\n breakpoints || context.breakpoints,\n { disabled, correctRange, log }\n )\n\n const event = createMediaQueryListener(mediaQueryList, (match) => {\n if (!isDisabledRef.current && match) {\n const state = {\n ...defaultsRef.current,\n key,\n isSSR: resultRef.current.isSSR,\n } as UseMediaResult\n state[name] = match\n updateRerender(state)\n }\n })\n\n return { event, mediaQueryList }\n },\n [breakpoints, context.breakpoints, correctRange, disabled, log]\n )\n\n const makeResult = useCallback(() => {\n return Object.entries(queries).reduce(\n (acc, [k, when]) => {\n const key = k as Keys\n const name = `is${toPascalCase(key)}` as Names\n\n if (disabled) {\n acc[name] = false\n return acc\n }\n\n defaultsRef.current[name] = false\n\n const item = runQuery({\n when,\n name,\n key,\n })\n\n let hasMatch = undefined\n\n if (\n typeof initialValue?.[name] !== 'undefined' &&\n !isMountedRef.current\n ) {\n hasMatch = initialValue[name]\n } else {\n hasMatch = item?.mediaQueryList?.matches || false\n }\n\n acc[name] = hasMatch\n if (hasMatch) {\n acc.key = key\n }\n\n refs.current[key] = item\n\n return acc\n },\n { isSSR: !isMatchMediaSupported(), key: null } as UseMediaResult\n ) as UseMediaResult\n }, [disabled, initialValue, queries, runQuery])\n\n const [result, updateRerender] = useState<UseMediaResult>(makeResult)\n resultRef.current = result\n\n const useLayoutEffect = useMemo(makeLayoutEffect, [])\n\n useLayoutEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true\n\n const result = makeResult()\n\n const hasChanged = Object.keys(result).some(\n (key) => resultRef.current[key] !== result[key]\n )\n if (hasChanged) {\n updateRerender(result)\n }\n }\n\n return removeListeners\n }, [makeResult, removeListeners])\n\n useLayoutEffect(() => {\n // If it was disabled before\n if (isDisabledRef.current && !disabled) {\n updateRerender(makeResult())\n }\n isDisabledRef.current = disabled\n }, [disabled, makeResult])\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,9 @@
45
45
  @include alignmentHelperClass();
46
46
  @include alignmentHelper();
47
47
  }
48
+ .dnb-alignment-helper--pseudo-element-only {
49
+ @include alignmentHelper();
50
+ }
48
51
 
49
52
  .dnb-drop-shadow {
50
53
  @include defaultDropShadow();
@@ -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.75.2';
48
+ --eufemia-version: '10.75.3';
49
49
 
50
50
  @content;
51
51
  }
@@ -319,8 +319,10 @@ $breakpoint-offset: 0;
319
319
  @mixin alignmentHelper() {
320
320
  // Add a char to align the component
321
321
  &::before {
322
- content: '\200C'; // zero-width non-joiner
322
+ content: '\2060'; // zero-width non-breaking space
323
323
  @include alignmentHelperClass();
324
+
325
+ opacity: 0; // hide the element in case ISO-8859-1 encoding is used
324
326
  }
325
327
  }
326
328
  @mixin alignmentHelperClass() {
@@ -244,7 +244,7 @@ body {
244
244
  /* stylelint-disable-next-line */
245
245
  -webkit-text-size-adjust: 100%;
246
246
  word-break: break-word;
247
- --eufemia-version: "10.75.2";
247
+ --eufemia-version: "10.75.3";
248
248
  }
249
249
  .dnb-core-style *,
250
250
  .dnb-core-style ::before,
@@ -628,12 +628,23 @@ html[data-whatintent=touch] .dnb-skip-link {
628
628
  speak: none;
629
629
  }
630
630
  .dnb-alignment-helper::before {
631
- content: "";
631
+ content: "";
632
632
  display: inline-block;
633
633
  width: 0;
634
634
  height: 0;
635
635
  font-size: var(--font-size-small);
636
636
  speak: none;
637
+ opacity: 0;
638
+ }
639
+
640
+ .dnb-alignment-helper--pseudo-element-only::before {
641
+ content: "⁠";
642
+ display: inline-block;
643
+ width: 0;
644
+ height: 0;
645
+ font-size: var(--font-size-small);
646
+ speak: none;
647
+ opacity: 0;
637
648
  }
638
649
 
639
650
  .dnb-drop-shadow {
@@ -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"] .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"] .dnb-ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-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{padding:0;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.75.2";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 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;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"] .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"] .dnb-ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-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{padding:0;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.75.3";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 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{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper--pseudo-element-only:before,.dnb-alignment-helper:before{speak:none;content:"";display:inline-block;font-size:var(--font-size-small);height:0;opacity:0;width:0}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!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}
@@ -28,7 +28,6 @@ html {
28
28
  line-height: var(--line-height-basis); /* 3 */ /* 4 */
29
29
  tab-size: 4; /* 4 */ /* 5 */
30
30
  -webkit-text-size-adjust: 100%;
31
- -moz-text-size-adjust: 100%;
32
31
  text-size-adjust: 100%; /* 5 */
33
32
  word-break: break-word; /* 6 */
34
33
  }
@@ -269,7 +268,7 @@ body {
269
268
  /* stylelint-disable-next-line */
270
269
  -webkit-text-size-adjust: 100%;
271
270
  word-break: break-word;
272
- --eufemia-version: "10.75.2";
271
+ --eufemia-version: "10.75.3";
273
272
  }
274
273
  body *,
275
274
  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);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"] .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"] .dnb-ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-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{padding:0;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.75.2";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 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%;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);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"] .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"] .dnb-ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-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{padding:0;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.75.3";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 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)}