@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","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","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":[]}
@@ -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;
@@ -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":[]}
@@ -3,7 +3,7 @@
3
3
  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
- import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
6
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
7
7
  import Context from './Context';
8
8
  import { makeMediaQueryList, createMediaQueryListener, isMatchMediaSupported } from './MediaQueryUtils';
9
9
  import { toPascalCase } from './component-helper';
@@ -34,64 +34,22 @@ export default function useMedia(props = {}) {
34
34
  } = props;
35
35
  const context = useContext(Context);
36
36
  const refs = useRef({});
37
- const defaults = useRef({});
38
- const isMounted = useRef(false);
39
- const isDisabled = useRef(disabled);
40
- const [result, updateRerender] = useState(makeResult);
41
- const useLayoutEffect = useMemo(makeLayoutEffect, []);
42
- useLayoutEffect(() => {
43
- if (!isMounted.current) {
44
- isMounted.current = true;
45
- updateRerender(makeResult());
46
- }
47
- return removeListeners;
48
- }, []);
49
- useLayoutEffect(() => {
50
- if (isDisabled.current && !disabled) {
51
- updateRerender(makeResult());
52
- }
53
- isDisabled.current = disabled;
54
- }, [disabled]);
55
- return result;
56
- function removeListeners() {
37
+ const defaultsRef = useRef({});
38
+ const resultRef = useRef({});
39
+ const isMountedRef = useRef(false);
40
+ const isDisabledRef = useRef(disabled);
41
+ const removeListeners = useCallback(() => {
57
42
  Object.entries(refs.current).forEach(([key, item]) => {
58
43
  var _item$event;
59
44
  item === null || item === void 0 ? void 0 : (_item$event = item.event) === null || _item$event === void 0 ? void 0 : _item$event.call(item);
60
45
  delete refs.current[key];
61
46
  });
62
- }
63
- function makeResult() {
64
- return Object.entries(queries).reduce((acc, [k, when]) => {
65
- var _item$mediaQueryList;
66
- const key = k;
67
- const name = `is${toPascalCase(key)}`;
68
- if (disabled) {
69
- acc[name] = false;
70
- return acc;
71
- }
72
- defaults.current[name] = false;
73
- const item = runQuery({
74
- when,
75
- name,
76
- key
77
- });
78
- 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;
79
- acc[name] = hasMatch;
80
- if (hasMatch) {
81
- acc.key = key;
82
- }
83
- refs.current[key] = item;
84
- return acc;
85
- }, {
86
- isSSR: !isMatchMediaSupported(),
87
- key: null
88
- });
89
- }
90
- function runQuery({
47
+ }, []);
48
+ const runQuery = useCallback(({
91
49
  when,
92
50
  name,
93
51
  key
94
- }) {
52
+ }) => {
95
53
  if (!isMatchMediaSupported()) {
96
54
  return;
97
55
  }
@@ -103,10 +61,10 @@ export default function useMedia(props = {}) {
103
61
  log
104
62
  });
105
63
  const event = createMediaQueryListener(mediaQueryList, match => {
106
- if (!isDisabled.current && match) {
107
- const state = _objectSpread(_objectSpread({}, defaults.current), {}, {
64
+ if (!isDisabledRef.current && match) {
65
+ const state = _objectSpread(_objectSpread({}, defaultsRef.current), {}, {
108
66
  key,
109
- isSSR: result.isSSR
67
+ isSSR: resultRef.current.isSSR
110
68
  });
111
69
  state[name] = match;
112
70
  updateRerender(state);
@@ -116,6 +74,59 @@ export default function useMedia(props = {}) {
116
74
  event,
117
75
  mediaQueryList
118
76
  };
119
- }
77
+ }, [breakpoints, context.breakpoints, correctRange, disabled, log]);
78
+ const makeResult = useCallback(() => {
79
+ return Object.entries(queries).reduce((acc, [k, when]) => {
80
+ const key = k;
81
+ const name = `is${toPascalCase(key)}`;
82
+ if (disabled) {
83
+ acc[name] = false;
84
+ return acc;
85
+ }
86
+ defaultsRef.current[name] = false;
87
+ const item = runQuery({
88
+ when,
89
+ name,
90
+ key
91
+ });
92
+ let hasMatch = undefined;
93
+ if (typeof (initialValue === null || initialValue === void 0 ? void 0 : initialValue[name]) !== 'undefined' && !isMountedRef.current) {
94
+ hasMatch = initialValue[name];
95
+ } else {
96
+ var _item$mediaQueryList;
97
+ hasMatch = (item === null || item === void 0 ? void 0 : (_item$mediaQueryList = item.mediaQueryList) === null || _item$mediaQueryList === void 0 ? void 0 : _item$mediaQueryList.matches) || false;
98
+ }
99
+ acc[name] = hasMatch;
100
+ if (hasMatch) {
101
+ acc.key = key;
102
+ }
103
+ refs.current[key] = item;
104
+ return acc;
105
+ }, {
106
+ isSSR: !isMatchMediaSupported(),
107
+ key: null
108
+ });
109
+ }, [disabled, initialValue, queries, runQuery]);
110
+ const [result, updateRerender] = useState(makeResult);
111
+ resultRef.current = result;
112
+ const useLayoutEffect = useMemo(makeLayoutEffect, []);
113
+ useLayoutEffect(() => {
114
+ if (!isMountedRef.current) {
115
+ isMountedRef.current = true;
116
+ const result = makeResult();
117
+ const hasChanged = Object.keys(result).some(key => resultRef.current[key] !== result[key]);
118
+ if (hasChanged) {
119
+ updateRerender(result);
120
+ }
121
+ }
122
+ return removeListeners;
123
+ }, [makeResult, removeListeners]);
124
+ useLayoutEffect(() => {
125
+ if (isDisabledRef.current && !disabled) {
126
+ updateRerender(makeResult());
127
+ }
128
+ isDisabledRef.current = disabled;
129
+ }, [disabled, makeResult]);
130
+ return result;
120
131
  }
121
132
  //# 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","initialValue","disabled","correctRange","breakpoints","queries","log","context","refs","defaults","isMounted","isDisabled","result","updateRerender","makeResult","current","removeListeners","Object","entries","forEach","key","item","_item$event","event","call","reduce","acc","k","when","_item$mediaQueryList","name","runQuery","hasMatch","mediaQueryList","matches","isSSR","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","initialValue","disabled","correctRange","breakpoints","queries","log","context","refs","defaultsRef","resultRef","isMountedRef","isDisabledRef","removeListeners","Object","entries","current","forEach","key","item","_item$event","event","call","runQuery","when","name","mediaQueryList","match","state","_objectSpread","isSSR","updateRerender","makeResult","reduce","acc","k","hasMatch","undefined","_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)}