@dnb/eufemia 10.8.0 → 10.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/breadcrumb/BreadcrumbItem.js +1 -1
  3. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  4. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  5. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  6. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  7. package/cjs/components/modal/ModalContent.js +3 -1
  8. package/cjs/components/modal/ModalContent.js.map +1 -1
  9. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  10. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  11. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  12. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  13. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  14. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  15. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  16. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  17. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  18. package/cjs/components/section/Section.js +1 -1
  19. package/cjs/components/section/Section.js.map +1 -1
  20. package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
  21. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  22. package/cjs/components/skeleton/style/dnb-skeleton.scss +66 -0
  23. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  24. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  25. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  26. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  27. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  28. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  29. package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
  30. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  31. package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
  32. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  33. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  34. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  35. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  36. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  37. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  38. package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
  39. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  40. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +1 -0
  41. package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
  42. package/cjs/extensions/forms/DataContext/At.js.map +1 -1
  43. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  44. package/cjs/extensions/forms/DataContext/Context.js +2 -1
  45. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  46. package/cjs/extensions/forms/DataContext/Provider.js +7 -3
  47. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  48. package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
  49. package/cjs/extensions/forms/DataContext/index.js +0 -2
  50. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  51. package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -3
  52. package/cjs/extensions/forms/Field/ArraySelection.js +4 -4
  53. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  54. package/cjs/extensions/forms/Field/CountryCode.d.ts +2 -3
  55. package/cjs/extensions/forms/Field/CountryCode.js +3 -4
  56. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -1
  57. package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
  58. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Date.d.ts +2 -3
  60. package/cjs/extensions/forms/Field/Date.js +4 -4
  61. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Number.d.ts +2 -3
  63. package/cjs/extensions/forms/Field/Number.js +4 -4
  64. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  65. package/cjs/extensions/forms/Field/Option.d.ts +2 -3
  66. package/cjs/extensions/forms/Field/Option.js.map +1 -1
  67. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +2 -3
  68. package/cjs/extensions/forms/Field/PhoneNumber.js +4 -4
  69. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  70. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +2 -2
  71. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  72. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  73. package/cjs/extensions/forms/Field/Selection.d.ts +2 -3
  74. package/cjs/extensions/forms/Field/Selection.js +5 -6
  75. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  76. package/cjs/extensions/forms/Field/String.d.ts +2 -3
  77. package/cjs/extensions/forms/Field/String.js +5 -7
  78. package/cjs/extensions/forms/Field/String.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
  80. package/cjs/extensions/forms/Field/Toggle.js +5 -5
  81. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  82. package/cjs/extensions/forms/Field/index.d.ts +0 -4
  83. package/cjs/extensions/forms/Field/index.js +0 -4
  84. package/cjs/extensions/forms/Field/index.js.map +1 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -3
  86. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +76 -8
  87. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  88. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  89. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
  90. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  91. package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
  92. package/cjs/extensions/forms/FieldBlock/index.js +15 -2
  93. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  94. package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
  95. package/cjs/extensions/forms/Form/FormElement.js +39 -0
  96. package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
  97. package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
  98. package/cjs/extensions/forms/Form/FormHandler.js +41 -0
  99. package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
  100. package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  101. package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
  102. package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
  103. package/cjs/extensions/forms/Form/index.d.ts +9 -0
  104. package/cjs/extensions/forms/Form/index.js +18 -0
  105. package/cjs/extensions/forms/Form/index.js.map +1 -0
  106. package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
  107. package/cjs/extensions/forms/Iterate/Array.js +91 -0
  108. package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
  109. package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  110. package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
  111. package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  112. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  113. package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
  114. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  115. package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  116. package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
  117. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  118. package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
  119. package/cjs/extensions/forms/Iterate/index.js +25 -0
  120. package/cjs/extensions/forms/Iterate/index.js.map +1 -0
  121. package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  122. package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
  123. package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
  124. package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
  125. package/cjs/extensions/forms/Layout/Card.js +4 -4
  126. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  127. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -1
  128. package/cjs/extensions/forms/Layout/FlexContainer.js +3 -3
  129. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  130. package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -1
  131. package/cjs/extensions/forms/Layout/FlexItem.js +2 -2
  132. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  133. package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
  134. package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
  135. package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
  136. package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
  137. package/cjs/extensions/forms/Layout/Section.js +2 -2
  138. package/cjs/extensions/forms/Layout/Section.js.map +1 -1
  139. package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
  140. package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
  141. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  142. package/cjs/extensions/forms/Layout/index.d.ts +0 -2
  143. package/cjs/extensions/forms/Layout/index.js +1 -3
  144. package/cjs/extensions/forms/Layout/index.js.map +1 -1
  145. package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  146. package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
  147. package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  148. package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  149. package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  150. package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  151. package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  152. package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
  153. package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
  154. package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
  155. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  156. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +2 -2
  157. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  158. package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
  159. package/cjs/extensions/forms/Value/Boolean.js +4 -4
  160. package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
  161. package/cjs/extensions/forms/Value/Number.d.ts +2 -3
  162. package/cjs/extensions/forms/Value/Number.js +4 -3
  163. package/cjs/extensions/forms/Value/Number.js.map +1 -1
  164. package/cjs/extensions/forms/Value/String.d.ts +2 -3
  165. package/cjs/extensions/forms/Value/String.js +4 -4
  166. package/cjs/extensions/forms/Value/String.js.map +1 -1
  167. package/cjs/extensions/forms/Value/index.d.ts +0 -4
  168. package/cjs/extensions/forms/Value/index.js +0 -4
  169. package/cjs/extensions/forms/Value/index.js.map +1 -1
  170. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  171. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  172. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  173. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  174. package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
  175. package/cjs/extensions/forms/hooks/index.js.map +1 -0
  176. package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
  177. package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +60 -26
  178. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  179. package/cjs/extensions/forms/index.d.ts +4 -4
  180. package/cjs/extensions/forms/index.js +20 -12
  181. package/cjs/extensions/forms/index.js.map +1 -1
  182. package/cjs/extensions/forms/types.d.ts +95 -2
  183. package/cjs/extensions/forms/types.js +71 -0
  184. package/cjs/extensions/forms/types.js.map +1 -1
  185. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  186. package/cjs/extensions/forms/utils/index.js +0 -12
  187. package/cjs/extensions/forms/utils/index.js.map +1 -1
  188. package/cjs/extensions/lib.d.ts +0 -2
  189. package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
  190. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  191. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  192. package/cjs/shared/Eufemia.d.ts +1 -1
  193. package/cjs/shared/Eufemia.js +2 -2
  194. package/cjs/shared/Eufemia.js.map +1 -1
  195. package/cjs/shared/useMedia.js +33 -23
  196. package/cjs/shared/useMedia.js.map +1 -1
  197. package/cjs/style/dnb-ui-components.css +119 -2
  198. package/cjs/style/dnb-ui-components.min.css +1 -1
  199. package/cjs/style/dnb-ui-elements.css +17 -11
  200. package/cjs/style/dnb-ui-elements.min.css +1 -1
  201. package/cjs/style/dnb-ui-extensions.css +7 -7
  202. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  203. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -11
  204. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  205. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +131 -136
  206. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  207. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -7
  208. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  209. package/cjs/style/themes/theme-sbanken/customisations.scss +4 -0
  210. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +40 -21
  211. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  212. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +155 -152
  213. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -3
  214. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +3 -3
  215. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +38 -21
  216. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -7
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  219. package/cjs/style/themes/theme-ui/ui-theme-basis.css +19 -11
  220. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  221. package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  222. package/cjs/style/themes/theme-ui/ui-theme-components.css +131 -136
  223. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  224. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
  225. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  226. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -7
  227. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-ui/ui-theme-tags.css +17 -11
  229. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  230. package/components/breadcrumb/BreadcrumbItem.js +1 -1
  231. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  232. package/components/date-picker/DatePickerInput.js.map +1 -1
  233. package/components/input-masked/InputMaskedHooks.js +1 -1
  234. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  235. package/components/modal/ModalContent.js +3 -1
  236. package/components/modal/ModalContent.js.map +1 -1
  237. package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  238. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  239. package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  240. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  241. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  242. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  243. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  244. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  245. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  246. package/components/section/Section.js +1 -1
  247. package/components/section/Section.js.map +1 -1
  248. package/components/skeleton/style/dnb-skeleton.css +50 -0
  249. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  250. package/components/skeleton/style/dnb-skeleton.scss +66 -0
  251. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  252. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  253. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  254. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  255. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  256. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  257. package/components/tooltip/style/dnb-tooltip.css +10 -0
  258. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  259. package/components/tooltip/style/dnb-tooltip.scss +14 -0
  260. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  261. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  262. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  263. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  264. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  265. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  266. package/elements/blockquote/style/blockquote-mixins.scss +22 -11
  267. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  268. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +1 -0
  269. package/es/components/breadcrumb/BreadcrumbItem.js +1 -1
  270. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  271. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  272. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  273. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  274. package/es/components/modal/ModalContent.js +3 -1
  275. package/es/components/modal/ModalContent.js.map +1 -1
  276. package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  277. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  278. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  279. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  280. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  281. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  282. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  283. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  284. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  285. package/es/components/section/Section.js +1 -1
  286. package/es/components/section/Section.js.map +1 -1
  287. package/es/components/skeleton/style/dnb-skeleton.css +50 -0
  288. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  289. package/es/components/skeleton/style/dnb-skeleton.scss +66 -0
  290. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  291. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  292. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  293. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  294. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  295. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  296. package/es/components/tooltip/style/dnb-tooltip.css +10 -0
  297. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  298. package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
  299. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  300. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  301. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  302. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  303. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  304. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  305. package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
  306. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  307. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +1 -0
  308. package/es/extensions/forms/DataContext/At.d.ts +1 -1
  309. package/es/extensions/forms/DataContext/At.js.map +1 -1
  310. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  311. package/es/extensions/forms/DataContext/Context.js +2 -1
  312. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  313. package/es/extensions/forms/DataContext/Provider.js +7 -3
  314. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  315. package/es/extensions/forms/DataContext/index.d.ts +0 -2
  316. package/es/extensions/forms/DataContext/index.js +0 -2
  317. package/es/extensions/forms/DataContext/index.js.map +1 -1
  318. package/es/extensions/forms/Field/ArraySelection.d.ts +2 -3
  319. package/es/extensions/forms/Field/ArraySelection.js +4 -4
  320. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  321. package/es/extensions/forms/Field/CountryCode.d.ts +2 -3
  322. package/es/extensions/forms/Field/CountryCode.js +4 -5
  323. package/es/extensions/forms/Field/CountryCode.js.map +1 -1
  324. package/es/extensions/forms/Field/Currency.d.ts +2 -3
  325. package/es/extensions/forms/Field/Currency.js.map +1 -1
  326. package/es/extensions/forms/Field/Date.d.ts +2 -3
  327. package/es/extensions/forms/Field/Date.js +4 -4
  328. package/es/extensions/forms/Field/Date.js.map +1 -1
  329. package/es/extensions/forms/Field/Number.d.ts +2 -3
  330. package/es/extensions/forms/Field/Number.js +4 -4
  331. package/es/extensions/forms/Field/Number.js.map +1 -1
  332. package/es/extensions/forms/Field/Option.d.ts +2 -3
  333. package/es/extensions/forms/Field/Option.js.map +1 -1
  334. package/es/extensions/forms/Field/PhoneNumber.d.ts +2 -3
  335. package/es/extensions/forms/Field/PhoneNumber.js +4 -4
  336. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  337. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +2 -2
  338. package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  339. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  340. package/es/extensions/forms/Field/Selection.d.ts +2 -3
  341. package/es/extensions/forms/Field/Selection.js +6 -7
  342. package/es/extensions/forms/Field/Selection.js.map +1 -1
  343. package/es/extensions/forms/Field/String.d.ts +2 -3
  344. package/es/extensions/forms/Field/String.js +5 -7
  345. package/es/extensions/forms/Field/String.js.map +1 -1
  346. package/es/extensions/forms/Field/Toggle.d.ts +2 -3
  347. package/es/extensions/forms/Field/Toggle.js +5 -5
  348. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  349. package/es/extensions/forms/Field/index.d.ts +0 -4
  350. package/es/extensions/forms/Field/index.js +0 -4
  351. package/es/extensions/forms/Field/index.js.map +1 -1
  352. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -3
  353. package/es/extensions/forms/FieldBlock/FieldBlock.js +68 -9
  354. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  355. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  356. package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  357. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  358. package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
  359. package/es/extensions/forms/FieldBlock/index.js +3 -1
  360. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  361. package/es/extensions/forms/Form/FormElement.d.ts +4 -0
  362. package/es/extensions/forms/Form/FormElement.js +31 -0
  363. package/es/extensions/forms/Form/FormElement.js.map +1 -0
  364. package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
  365. package/es/extensions/forms/Form/FormHandler.js +33 -0
  366. package/es/extensions/forms/Form/FormHandler.js.map +1 -0
  367. package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  368. package/es/extensions/forms/Form/SubmitButton.js +25 -0
  369. package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
  370. package/es/extensions/forms/Form/index.d.ts +9 -0
  371. package/es/extensions/forms/Form/index.js +10 -0
  372. package/es/extensions/forms/Form/index.js.map +1 -0
  373. package/es/extensions/forms/Iterate/Array.d.ts +17 -0
  374. package/es/extensions/forms/Iterate/Array.js +80 -0
  375. package/es/extensions/forms/Iterate/Array.js.map +1 -0
  376. package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  377. package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  378. package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  379. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  380. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  381. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  382. package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  383. package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
  384. package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  385. package/es/extensions/forms/Iterate/index.d.ts +11 -0
  386. package/es/extensions/forms/Iterate/index.js +12 -0
  387. package/es/extensions/forms/Iterate/index.js.map +1 -0
  388. package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  389. package/es/extensions/forms/Layout/ButtonRow.js +2 -2
  390. package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
  391. package/es/extensions/forms/Layout/Card.d.ts +1 -1
  392. package/es/extensions/forms/Layout/Card.js +4 -4
  393. package/es/extensions/forms/Layout/Card.js.map +1 -1
  394. package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -1
  395. package/es/extensions/forms/Layout/FlexContainer.js +3 -3
  396. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  397. package/es/extensions/forms/Layout/FlexItem.d.ts +1 -1
  398. package/es/extensions/forms/Layout/FlexItem.js +2 -2
  399. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  400. package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
  401. package/es/extensions/forms/Layout/MainHeading.js +10 -4
  402. package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
  403. package/es/extensions/forms/Layout/Section.d.ts +1 -1
  404. package/es/extensions/forms/Layout/Section.js +2 -2
  405. package/es/extensions/forms/Layout/Section.js.map +1 -1
  406. package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
  407. package/es/extensions/forms/Layout/SubHeading.js +10 -4
  408. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  409. package/es/extensions/forms/Layout/index.d.ts +0 -2
  410. package/es/extensions/forms/Layout/index.js +1 -3
  411. package/es/extensions/forms/Layout/index.js.map +1 -1
  412. package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  413. package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
  414. package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  415. package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  416. package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  417. package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  418. package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  419. package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
  420. package/es/extensions/forms/StepsLayout/Step.js +2 -2
  421. package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
  422. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  423. package/es/extensions/forms/StepsLayout/StepsLayout.js +2 -2
  424. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  425. package/es/extensions/forms/Value/Boolean.d.ts +2 -3
  426. package/es/extensions/forms/Value/Boolean.js +4 -4
  427. package/es/extensions/forms/Value/Boolean.js.map +1 -1
  428. package/es/extensions/forms/Value/Number.d.ts +2 -3
  429. package/es/extensions/forms/Value/Number.js +5 -4
  430. package/es/extensions/forms/Value/Number.js.map +1 -1
  431. package/es/extensions/forms/Value/String.d.ts +2 -3
  432. package/es/extensions/forms/Value/String.js +4 -4
  433. package/es/extensions/forms/Value/String.js.map +1 -1
  434. package/es/extensions/forms/Value/index.d.ts +0 -4
  435. package/es/extensions/forms/Value/index.js +0 -4
  436. package/es/extensions/forms/Value/index.js.map +1 -1
  437. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  438. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  439. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  440. package/es/extensions/forms/hooks/index.d.ts +1 -0
  441. package/es/extensions/forms/hooks/index.js +1 -0
  442. package/es/extensions/forms/hooks/index.js.map +1 -0
  443. package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
  444. package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +59 -25
  445. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  446. package/es/extensions/forms/index.d.ts +4 -4
  447. package/es/extensions/forms/index.js +3 -2
  448. package/es/extensions/forms/index.js.map +1 -1
  449. package/es/extensions/forms/types.d.ts +95 -2
  450. package/es/extensions/forms/types.js +42 -0
  451. package/es/extensions/forms/types.js.map +1 -1
  452. package/es/extensions/forms/utils/index.d.ts +0 -1
  453. package/es/extensions/forms/utils/index.js +0 -1
  454. package/es/extensions/forms/utils/index.js.map +1 -1
  455. package/es/extensions/lib.d.ts +0 -2
  456. package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
  457. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  458. package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  459. package/es/shared/Eufemia.d.ts +1 -1
  460. package/es/shared/Eufemia.js +2 -2
  461. package/es/shared/Eufemia.js.map +1 -1
  462. package/es/shared/useMedia.js +30 -21
  463. package/es/shared/useMedia.js.map +1 -1
  464. package/es/style/dnb-ui-components.css +119 -2
  465. package/es/style/dnb-ui-components.min.css +1 -1
  466. package/es/style/dnb-ui-elements.css +17 -11
  467. package/es/style/dnb-ui-elements.min.css +1 -1
  468. package/es/style/dnb-ui-extensions.css +7 -7
  469. package/es/style/dnb-ui-extensions.min.css +1 -1
  470. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -11
  471. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  472. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +131 -136
  473. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  474. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -7
  475. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  476. package/es/style/themes/theme-sbanken/customisations.scss +4 -0
  477. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +40 -21
  478. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  479. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +155 -152
  480. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -3
  481. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +3 -3
  482. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +38 -21
  483. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  484. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -7
  485. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  486. package/es/style/themes/theme-ui/ui-theme-basis.css +19 -11
  487. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  488. package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  489. package/es/style/themes/theme-ui/ui-theme-components.css +131 -136
  490. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  491. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
  492. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  493. package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -7
  494. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  495. package/es/style/themes/theme-ui/ui-theme-tags.css +17 -11
  496. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  497. package/esm/dnb-ui-basis.min.mjs +1 -1
  498. package/esm/dnb-ui-components.min.mjs +1 -1
  499. package/esm/dnb-ui-elements.min.mjs +1 -1
  500. package/esm/dnb-ui-extensions.min.mjs +3 -3
  501. package/esm/dnb-ui-lib.min.mjs +1 -1
  502. package/extensions/forms/DataContext/At.d.ts +1 -1
  503. package/extensions/forms/DataContext/At.js.map +1 -1
  504. package/extensions/forms/DataContext/Context.d.ts +1 -0
  505. package/extensions/forms/DataContext/Context.js +2 -1
  506. package/extensions/forms/DataContext/Context.js.map +1 -1
  507. package/extensions/forms/DataContext/Provider.js +7 -3
  508. package/extensions/forms/DataContext/Provider.js.map +1 -1
  509. package/extensions/forms/DataContext/index.d.ts +0 -2
  510. package/extensions/forms/DataContext/index.js +0 -2
  511. package/extensions/forms/DataContext/index.js.map +1 -1
  512. package/extensions/forms/Field/ArraySelection.d.ts +2 -3
  513. package/extensions/forms/Field/ArraySelection.js +4 -4
  514. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  515. package/extensions/forms/Field/CountryCode.d.ts +2 -3
  516. package/extensions/forms/Field/CountryCode.js +4 -5
  517. package/extensions/forms/Field/CountryCode.js.map +1 -1
  518. package/extensions/forms/Field/Currency.d.ts +2 -3
  519. package/extensions/forms/Field/Currency.js.map +1 -1
  520. package/extensions/forms/Field/Date.d.ts +2 -3
  521. package/extensions/forms/Field/Date.js +4 -4
  522. package/extensions/forms/Field/Date.js.map +1 -1
  523. package/extensions/forms/Field/Number.d.ts +2 -3
  524. package/extensions/forms/Field/Number.js +4 -4
  525. package/extensions/forms/Field/Number.js.map +1 -1
  526. package/extensions/forms/Field/Option.d.ts +2 -3
  527. package/extensions/forms/Field/Option.js.map +1 -1
  528. package/extensions/forms/Field/PhoneNumber.d.ts +2 -3
  529. package/extensions/forms/Field/PhoneNumber.js +4 -4
  530. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  531. package/extensions/forms/Field/PostalCodeAndCity.d.ts +2 -2
  532. package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  533. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  534. package/extensions/forms/Field/Selection.d.ts +2 -3
  535. package/extensions/forms/Field/Selection.js +6 -7
  536. package/extensions/forms/Field/Selection.js.map +1 -1
  537. package/extensions/forms/Field/String.d.ts +2 -3
  538. package/extensions/forms/Field/String.js +5 -7
  539. package/extensions/forms/Field/String.js.map +1 -1
  540. package/extensions/forms/Field/Toggle.d.ts +2 -3
  541. package/extensions/forms/Field/Toggle.js +5 -5
  542. package/extensions/forms/Field/Toggle.js.map +1 -1
  543. package/extensions/forms/Field/index.d.ts +0 -4
  544. package/extensions/forms/Field/index.js +0 -4
  545. package/extensions/forms/Field/index.js.map +1 -1
  546. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -3
  547. package/extensions/forms/FieldBlock/FieldBlock.js +74 -9
  548. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  549. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  550. package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  551. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  552. package/extensions/forms/FieldBlock/index.d.ts +1 -0
  553. package/extensions/forms/FieldBlock/index.js +3 -1
  554. package/extensions/forms/FieldBlock/index.js.map +1 -1
  555. package/extensions/forms/Form/FormElement.d.ts +4 -0
  556. package/extensions/forms/Form/FormElement.js +31 -0
  557. package/extensions/forms/Form/FormElement.js.map +1 -0
  558. package/extensions/forms/Form/FormHandler.d.ts +6 -0
  559. package/extensions/forms/Form/FormHandler.js +33 -0
  560. package/extensions/forms/Form/FormHandler.js.map +1 -0
  561. package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  562. package/extensions/forms/Form/SubmitButton.js +25 -0
  563. package/extensions/forms/Form/SubmitButton.js.map +1 -0
  564. package/extensions/forms/Form/index.d.ts +9 -0
  565. package/extensions/forms/Form/index.js +10 -0
  566. package/extensions/forms/Form/index.js.map +1 -0
  567. package/extensions/forms/Iterate/Array.d.ts +17 -0
  568. package/extensions/forms/Iterate/Array.js +81 -0
  569. package/extensions/forms/Iterate/Array.js.map +1 -0
  570. package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  571. package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  572. package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  573. package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  574. package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  575. package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  576. package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  577. package/extensions/forms/Iterate/IterateElementContext.js +4 -0
  578. package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  579. package/extensions/forms/Iterate/index.d.ts +11 -0
  580. package/extensions/forms/Iterate/index.js +12 -0
  581. package/extensions/forms/Iterate/index.js.map +1 -0
  582. package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  583. package/extensions/forms/Layout/ButtonRow.js +2 -2
  584. package/extensions/forms/Layout/ButtonRow.js.map +1 -1
  585. package/extensions/forms/Layout/Card.d.ts +1 -1
  586. package/extensions/forms/Layout/Card.js +4 -4
  587. package/extensions/forms/Layout/Card.js.map +1 -1
  588. package/extensions/forms/Layout/FlexContainer.d.ts +1 -1
  589. package/extensions/forms/Layout/FlexContainer.js +3 -3
  590. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  591. package/extensions/forms/Layout/FlexItem.d.ts +1 -1
  592. package/extensions/forms/Layout/FlexItem.js +2 -2
  593. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  594. package/extensions/forms/Layout/MainHeading.d.ts +4 -2
  595. package/extensions/forms/Layout/MainHeading.js +10 -4
  596. package/extensions/forms/Layout/MainHeading.js.map +1 -1
  597. package/extensions/forms/Layout/Section.d.ts +1 -1
  598. package/extensions/forms/Layout/Section.js +2 -2
  599. package/extensions/forms/Layout/Section.js.map +1 -1
  600. package/extensions/forms/Layout/SubHeading.d.ts +4 -2
  601. package/extensions/forms/Layout/SubHeading.js +10 -4
  602. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  603. package/extensions/forms/Layout/index.d.ts +0 -2
  604. package/extensions/forms/Layout/index.js +1 -3
  605. package/extensions/forms/Layout/index.js.map +1 -1
  606. package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  607. package/extensions/forms/StepsLayout/Buttons.js +2 -2
  608. package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  609. package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  610. package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  611. package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  612. package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  613. package/extensions/forms/StepsLayout/Step.d.ts +1 -1
  614. package/extensions/forms/StepsLayout/Step.js +2 -2
  615. package/extensions/forms/StepsLayout/Step.js.map +1 -1
  616. package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  617. package/extensions/forms/StepsLayout/StepsLayout.js +2 -2
  618. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  619. package/extensions/forms/Value/Boolean.d.ts +2 -3
  620. package/extensions/forms/Value/Boolean.js +4 -4
  621. package/extensions/forms/Value/Boolean.js.map +1 -1
  622. package/extensions/forms/Value/Number.d.ts +2 -3
  623. package/extensions/forms/Value/Number.js +5 -4
  624. package/extensions/forms/Value/Number.js.map +1 -1
  625. package/extensions/forms/Value/String.d.ts +2 -3
  626. package/extensions/forms/Value/String.js +4 -4
  627. package/extensions/forms/Value/String.js.map +1 -1
  628. package/extensions/forms/Value/index.d.ts +0 -4
  629. package/extensions/forms/Value/index.js +0 -4
  630. package/extensions/forms/Value/index.js.map +1 -1
  631. package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  632. package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  633. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  634. package/extensions/forms/hooks/index.d.ts +1 -0
  635. package/extensions/forms/hooks/index.js +1 -0
  636. package/extensions/forms/hooks/index.js.map +1 -0
  637. package/extensions/forms/hooks/useDataValue.d.ts +12 -0
  638. package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +59 -25
  639. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  640. package/extensions/forms/index.d.ts +4 -4
  641. package/extensions/forms/index.js +3 -2
  642. package/extensions/forms/index.js.map +1 -1
  643. package/extensions/forms/types.d.ts +95 -2
  644. package/extensions/forms/types.js +60 -0
  645. package/extensions/forms/types.js.map +1 -1
  646. package/extensions/forms/utils/index.d.ts +0 -1
  647. package/extensions/forms/utils/index.js +0 -1
  648. package/extensions/forms/utils/index.js.map +1 -1
  649. package/extensions/lib.d.ts +0 -2
  650. package/extensions/payment-card/style/dnb-payment-card.css +7 -7
  651. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  652. package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  653. package/package.json +2 -1
  654. package/shared/Eufemia.d.ts +1 -1
  655. package/shared/Eufemia.js +2 -2
  656. package/shared/Eufemia.js.map +1 -1
  657. package/shared/useMedia.js +33 -23
  658. package/shared/useMedia.js.map +1 -1
  659. package/style/dnb-ui-components.css +119 -2
  660. package/style/dnb-ui-components.min.css +1 -1
  661. package/style/dnb-ui-elements.css +17 -11
  662. package/style/dnb-ui-elements.min.css +1 -1
  663. package/style/dnb-ui-extensions.css +7 -7
  664. package/style/dnb-ui-extensions.min.css +1 -1
  665. package/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -11
  666. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  667. package/style/themes/theme-eiendom/eiendom-theme-components.css +131 -136
  668. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  669. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -7
  670. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  671. package/style/themes/theme-sbanken/customisations.scss +4 -0
  672. package/style/themes/theme-sbanken/sbanken-theme-basis.css +40 -21
  673. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  674. package/style/themes/theme-sbanken/sbanken-theme-components.css +155 -152
  675. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -3
  676. package/style/themes/theme-sbanken/sbanken-theme-components.scss +3 -3
  677. package/style/themes/theme-sbanken/sbanken-theme-elements.css +38 -21
  678. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  679. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -7
  680. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  681. package/style/themes/theme-ui/ui-theme-basis.css +19 -11
  682. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  683. package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  684. package/style/themes/theme-ui/ui-theme-components.css +131 -136
  685. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  686. package/style/themes/theme-ui/ui-theme-elements.css +17 -11
  687. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  688. package/style/themes/theme-ui/ui-theme-extensions.css +7 -7
  689. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  690. package/style/themes/theme-ui/ui-theme-tags.css +17 -11
  691. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  692. package/umd/dnb-ui-basis.min.js +1 -1
  693. package/umd/dnb-ui-components.min.js +1 -1
  694. package/umd/dnb-ui-elements.min.js +1 -1
  695. package/umd/dnb-ui-extensions.min.js +3 -3
  696. package/umd/dnb-ui-lib.min.js +1 -1
  697. package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  698. package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
  699. package/cjs/extensions/forms/Field/FirstName.js +0 -31
  700. package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
  701. package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
  702. package/cjs/extensions/forms/Field/LastName.js +0 -31
  703. package/cjs/extensions/forms/Field/LastName.js.map +0 -1
  704. package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
  705. package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
  706. package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -9
  707. package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
  708. package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  709. package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
  710. package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  711. package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
  712. package/cjs/extensions/forms/FieldGroup/index.js +0 -27
  713. package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
  714. package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  715. package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
  716. package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  717. package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
  718. package/cjs/extensions/forms/Value/FirstName.js +0 -28
  719. package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
  720. package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
  721. package/cjs/extensions/forms/Value/LastName.js +0 -28
  722. package/cjs/extensions/forms/Value/LastName.js.map +0 -1
  723. package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
  724. package/cjs/extensions/forms/Value/hooks/index.js +0 -14
  725. package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
  726. package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  727. package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
  728. package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
  729. package/cjs/extensions/forms/component-types.d.ts +0 -4
  730. package/cjs/extensions/forms/component-types.js +0 -1
  731. package/cjs/extensions/forms/component-types.js.map +0 -1
  732. package/cjs/extensions/forms/field-types.d.ts +0 -58
  733. package/cjs/extensions/forms/field-types.js +0 -1
  734. package/cjs/extensions/forms/field-types.js.map +0 -1
  735. package/cjs/extensions/forms/utils/components.d.ts +0 -3
  736. package/cjs/extensions/forms/utils/components.js +0 -32
  737. package/cjs/extensions/forms/utils/components.js.map +0 -1
  738. package/cjs/extensions/forms/value-types.d.ts +0 -15
  739. package/cjs/extensions/forms/value-types.js +0 -1
  740. package/cjs/extensions/forms/value-types.js.map +0 -1
  741. package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
  742. package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  743. package/es/extensions/forms/Field/FirstName.d.ts +0 -7
  744. package/es/extensions/forms/Field/FirstName.js +0 -19
  745. package/es/extensions/forms/Field/FirstName.js.map +0 -1
  746. package/es/extensions/forms/Field/LastName.d.ts +0 -7
  747. package/es/extensions/forms/Field/LastName.js +0 -19
  748. package/es/extensions/forms/Field/LastName.js.map +0 -1
  749. package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
  750. package/es/extensions/forms/Field/hooks/index.js +0 -1
  751. package/es/extensions/forms/Field/hooks/index.js.map +0 -1
  752. package/es/extensions/forms/Field/hooks/useField.d.ts +0 -9
  753. package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
  754. package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  755. package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
  756. package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  757. package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
  758. package/es/extensions/forms/FieldGroup/index.js +0 -3
  759. package/es/extensions/forms/FieldGroup/index.js.map +0 -1
  760. package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  761. package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
  762. package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  763. package/es/extensions/forms/Value/FirstName.d.ts +0 -7
  764. package/es/extensions/forms/Value/FirstName.js +0 -16
  765. package/es/extensions/forms/Value/FirstName.js.map +0 -1
  766. package/es/extensions/forms/Value/LastName.d.ts +0 -7
  767. package/es/extensions/forms/Value/LastName.js +0 -16
  768. package/es/extensions/forms/Value/LastName.js.map +0 -1
  769. package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
  770. package/es/extensions/forms/Value/hooks/index.js +0 -1
  771. package/es/extensions/forms/Value/hooks/index.js.map +0 -1
  772. package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  773. package/es/extensions/forms/Value/hooks/useValue.js +0 -22
  774. package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
  775. package/es/extensions/forms/component-types.d.ts +0 -4
  776. package/es/extensions/forms/component-types.js +0 -1
  777. package/es/extensions/forms/component-types.js.map +0 -1
  778. package/es/extensions/forms/field-types.d.ts +0 -58
  779. package/es/extensions/forms/field-types.js +0 -1
  780. package/es/extensions/forms/field-types.js.map +0 -1
  781. package/es/extensions/forms/utils/components.d.ts +0 -3
  782. package/es/extensions/forms/utils/components.js +0 -23
  783. package/es/extensions/forms/utils/components.js.map +0 -1
  784. package/es/extensions/forms/value-types.d.ts +0 -15
  785. package/es/extensions/forms/value-types.js +0 -1
  786. package/es/extensions/forms/value-types.js.map +0 -1
  787. package/extensions/forms/DataContext/SubmitButton.js +0 -20
  788. package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  789. package/extensions/forms/Field/FirstName.d.ts +0 -7
  790. package/extensions/forms/Field/FirstName.js +0 -19
  791. package/extensions/forms/Field/FirstName.js.map +0 -1
  792. package/extensions/forms/Field/LastName.d.ts +0 -7
  793. package/extensions/forms/Field/LastName.js +0 -19
  794. package/extensions/forms/Field/LastName.js.map +0 -1
  795. package/extensions/forms/Field/hooks/index.d.ts +0 -1
  796. package/extensions/forms/Field/hooks/index.js +0 -1
  797. package/extensions/forms/Field/hooks/index.js.map +0 -1
  798. package/extensions/forms/Field/hooks/useField.d.ts +0 -9
  799. package/extensions/forms/Field/hooks/useField.js.map +0 -1
  800. package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  801. package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
  802. package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  803. package/extensions/forms/FieldGroup/index.d.ts +0 -2
  804. package/extensions/forms/FieldGroup/index.js +0 -3
  805. package/extensions/forms/FieldGroup/index.js.map +0 -1
  806. package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  807. package/extensions/forms/Layout/InfoCardSection.js +0 -17
  808. package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  809. package/extensions/forms/Value/FirstName.d.ts +0 -7
  810. package/extensions/forms/Value/FirstName.js +0 -16
  811. package/extensions/forms/Value/FirstName.js.map +0 -1
  812. package/extensions/forms/Value/LastName.d.ts +0 -7
  813. package/extensions/forms/Value/LastName.js +0 -16
  814. package/extensions/forms/Value/LastName.js.map +0 -1
  815. package/extensions/forms/Value/hooks/index.d.ts +0 -1
  816. package/extensions/forms/Value/hooks/index.js +0 -1
  817. package/extensions/forms/Value/hooks/index.js.map +0 -1
  818. package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  819. package/extensions/forms/Value/hooks/useValue.js +0 -22
  820. package/extensions/forms/Value/hooks/useValue.js.map +0 -1
  821. package/extensions/forms/component-types.d.ts +0 -4
  822. package/extensions/forms/component-types.js +0 -1
  823. package/extensions/forms/component-types.js.map +0 -1
  824. package/extensions/forms/field-types.d.ts +0 -58
  825. package/extensions/forms/field-types.js +0 -1
  826. package/extensions/forms/field-types.js.map +0 -1
  827. package/extensions/forms/utils/components.d.ts +0 -3
  828. package/extensions/forms/utils/components.js +0 -23
  829. package/extensions/forms/utils/components.js.map +0 -1
  830. package/extensions/forms/value-types.d.ts +0 -15
  831. package/extensions/forms/value-types.js +0 -1
  832. package/extensions/forms/value-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContent.js","names":["_react","_interopRequireDefault","require","_classnames","_keycode","_bodyScrollLock","_componentHelper","_ModalContext","_helpers","_helpers2","_Theme","_shared","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ModalContent","React","PureComponent","constructor","props","triggeredBy","triggeredByEvent","color","modalRoots","getListOfModalRoots","firstLevel","_this$props","_ii","InteractionInvalidation","setBypassSelector","root_id","bypass_invalidation_selectors","Boolean","activate","modal","_iiLocal","_scrollRef","current","document","addEventListener","onKeyDownHandler","animation_duration","timeoutDuration","parseFloat","clearTimeout","_androidFocusTimeout","setTimeout","_document$activeEleme","_document$activeEleme2","activeElement","tagName","scrollIntoView","e","event","stopPropagation","closeModalContent","_overlayClickRef","currentTarget","prevent_overlay_close","isTrue","ifIsLatest","keycode","mostCurrent","getModalRoot","preventDefault","setState","_contentRef","content_ref","createRef","scroll_ref","_id","id","componentDidMount","no_animation","addToIndex","removeScrollPossibility","setFocus","setAndroidFocusHelper","dispatchCustomElementEvent","process","env","NODE_ENV","lockBody","_lockTimeout","componentWillUnmount","_focusTimeout","removeLocks","removeFromIndex","_this$_ii","revert","revertScrollPossibility","warn","removeAndroidFocusHelper","state","removeEventListener","window","isAndroid","_androidFocusHelper","focus_selector","elem","focusElement","querySelector","focus","noH1Elem","disableBodyScroll","enableBodyScroll","clearAllBodyScrollLocks","_ref","_event$persist","params","persist","close","render","_this$context","_this$props2","hide","title","labelled_by","close_title","dialog_title","hide_close_button","close_button_attributes","no_animation_on_mobile","fullscreen","container_placement","content_class","overlay_class","content_id","children","dialog_role","rest","contentId","makeUniqueId","useDialogRole","IS_MAC","IS_SAFARI","IS_IOS","role","contentParams","combineLabelledBy","combineDescribedBy","className","classnames","getThemeClasses","context","theme","onMouseDown","onContentMouseDownHandler","onClick","onContentClickHandler","content","createElement","Provider","setBackgroundColor","onCloseClickHandler","preventClick","contentRef","scrollRef","style","exports","Context"],"sources":["../../../../src/components/modal/ModalContent.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from './bodyScrollLock'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n InteractionInvalidation,\n combineLabelledBy,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport ModalContext from './ModalContext'\nimport { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'\nimport { ModalContentProps } from './types'\nimport {\n getListOfModalRoots,\n getModalRoot,\n addToIndex,\n removeFromIndex,\n} from './helpers'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { Context } from '../../shared'\nimport { ContextProps } from '../../shared/Context'\n\ninterface ModalContentState {\n triggeredBy: string\n triggeredByEvent: Event\n color: string\n}\n\ndeclare global {\n interface Window {\n __modalStack: any[]\n }\n}\n\ninterface CSSPropertiesWithVars extends React.CSSProperties {\n '--modal-background-color': string\n}\n\nexport default class ModalContent extends React.PureComponent<\n ModalContentProps,\n ModalContentState\n> {\n state = { triggeredBy: null, triggeredByEvent: null, color: null }\n\n _contentRef: React.RefObject<HTMLElement>\n _scrollRef: React.RefObject<HTMLElement>\n _overlayClickRef: { current: null | HTMLElement }\n _id: string\n _lockTimeout: NodeJS.Timeout\n _focusTimeout: NodeJS.Timeout\n _androidFocusTimeout: NodeJS.Timeout\n _ii: InteractionInvalidation\n _iiLocal: InteractionInvalidation\n\n static contextType = Context\n\n context!: ContextProps\n\n constructor(props: ModalContentProps) {\n super(props)\n this._contentRef = this.props.content_ref || React.createRef()\n this._scrollRef = this.props.scroll_ref || React.createRef()\n this._overlayClickRef = React.createRef()\n\n // NB: The \"\"._id\" is used in the __modalStack as \"last._id\"\n this._id = props.id\n }\n\n componentDidMount() {\n const {\n id = null,\n no_animation = false,\n animation_duration = null,\n } = this.props\n\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n // Add it to the index at first\n // we use it later with getListOfModalRoots\n addToIndex(this)\n\n // Because of nested modals/drawers, we run this regardless\n // has to be run at first – so the scrollbar gets removed\n this.removeScrollPossibility() // forces browser to re-paint\n\n this.setFocus()\n this.setAndroidFocusHelper()\n\n dispatchCustomElementEvent(this, 'on_open', {\n id,\n })\n\n if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {\n this.lockBody() // forces browser to re-paint\n } else {\n this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n clearTimeout(this._lockTimeout)\n this.removeLocks()\n }\n\n lockBody = () => {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n if (firstLevel === this) {\n this._ii = new InteractionInvalidation()\n this._ii.setBypassSelector(\n [\n // Bypass modal content\n '.dnb-modal__content *',\n `#dnb-modal-${this.props.root_id || 'root'}`,\n `#dnb-modal-${this.props.root_id || 'root'} *`,\n\n // TODO: Eventually in future, make it possible to bypass invalidation from outside\n // '.dnb-modal--bypass_invalidation',\n // '.dnb-modal--bypass_invalidation_deep *',\n\n ...(this.props?.bypass_invalidation_selectors || []),\n ].filter(Boolean)\n )\n this._ii.activate()\n } else {\n modalRoots.forEach((modal) => {\n if (\n modal !== this &&\n typeof modal._iiLocal === 'undefined' &&\n typeof modal._scrollRef !== 'undefined'\n ) {\n modal._iiLocal = new InteractionInvalidation()\n modal._iiLocal.activate(modal._scrollRef.current)\n }\n })\n }\n\n if (typeof document !== 'undefined') {\n /** To ensure, we have always a working keydown, we call it both on the element and document */\n document.addEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n removeLocks() {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n removeFromIndex(this)\n\n if (firstLevel === this) {\n this._ii?.revert()\n this.revertScrollPossibility()\n } else {\n try {\n const modal = modalRoots[modalRoots.length - 2]\n if (modal !== this && modal._iiLocal) {\n modal._iiLocal.revert()\n delete modal._iiLocal\n }\n } catch (e) {\n warn(e)\n }\n }\n\n this.removeAndroidFocusHelper()\n\n const id = this.props.id\n const { triggeredBy, triggeredByEvent } = this.state\n dispatchCustomElementEvent(this, 'on_close', {\n id,\n event: triggeredByEvent,\n triggeredBy: triggeredBy || 'unmount',\n })\n\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n setAndroidFocusHelper() {\n if (typeof window !== 'undefined' && isAndroid()) {\n window.addEventListener('resize', this._androidFocusHelper)\n }\n }\n\n removeAndroidFocusHelper() {\n window.removeEventListener('resize', this._androidFocusHelper)\n clearTimeout(this._androidFocusTimeout)\n }\n\n _androidFocusHelper = () => {\n const { animation_duration = null } = this.props\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n clearTimeout(this._androidFocusTimeout)\n this._androidFocusTimeout = setTimeout(() => {\n try {\n if (\n document.activeElement?.tagName == 'INPUT' ||\n document.activeElement?.tagName == 'TEXTAREA'\n ) {\n document.activeElement.scrollIntoView()\n }\n } catch (e) {\n //\n }\n }, timeoutDuration / 2) // Older Android needs a delay here\n }\n\n setFocus() {\n const {\n focus_selector = null,\n no_animation = null,\n animation_duration = null,\n } = this.props\n const elem = this._contentRef.current\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n if (elem) {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(\n () => {\n try {\n let focusElement = elem\n\n // Try to use the \"first-focus\" method first\n if (typeof focus_selector === 'string') {\n focusElement = elem.querySelector(focus_selector)\n }\n\n focusElement.focus()\n\n const noH1Elem = elem.querySelector('h1, h2, h3')\n if (noH1Elem?.tagName !== 'H1') {\n warn('A Dialog or Drawer needs a h1 as its first element!')\n }\n } catch (e) {\n warn(e)\n }\n },\n isTrue(no_animation) ? 0 : timeoutDuration || 0\n ) // with this delay, the user can press esc without an focus action first\n }\n }\n\n removeScrollPossibility() {\n if (this._scrollRef.current) {\n disableBodyScroll(this._scrollRef.current)\n }\n }\n\n revertScrollPossibility() {\n enableBodyScroll(this._scrollRef.current)\n clearAllBodyScrollLocks()\n }\n\n preventClick = (event) => {\n if (event) {\n event.stopPropagation()\n }\n }\n\n onCloseClickHandler = (event: React.SyntheticEvent) => {\n this.closeModalContent(event, { triggeredBy: 'button' })\n }\n\n onContentMouseDownHandler = (event: React.SyntheticEvent) => {\n this._overlayClickRef.current =\n event.target === event.currentTarget\n ? (event.target as HTMLElement)\n : null\n }\n\n onContentClickHandler = (event: React.SyntheticEvent) => {\n /**\n * Prevent false-positive Modal close,\n * when e.g. selecting text inside and moving the mouse outside,\n * we would still get this event fired. There we check if the current click,\n * has the same target as where the click got initiated.\n */\n if (this._overlayClickRef.current !== event.target) {\n return // stop here\n }\n this._overlayClickRef.current = null\n\n const { prevent_overlay_close } = this.props\n\n if (!isTrue(prevent_overlay_close)) {\n this.closeModalContent(event, {\n triggeredBy: 'overlay',\n ifIsLatest: false,\n })\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'esc': {\n const mostCurrent = getModalRoot(-1)\n\n if (mostCurrent === this) {\n event.preventDefault()\n this.closeModalContent(event, {\n triggeredBy: 'keyboard',\n })\n }\n\n break\n }\n }\n }\n\n closeModalContent(event, { triggeredBy, ...params }) {\n event?.persist?.()\n this.setState({ triggeredBy, triggeredByEvent: event }, () => {\n this.props.close(event, {\n triggeredBy,\n ...params,\n })\n })\n }\n\n setBackgroundColor = (color: string) => {\n this.setState({ color })\n }\n\n render() {\n const {\n hide,\n title,\n labelled_by,\n id: _id, // eslint-disable-line\n close_title = 'Lukk',\n dialog_title = 'Vindu',\n hide_close_button = false,\n close_button_attributes,\n no_animation = false,\n no_animation_on_mobile = false,\n fullscreen = 'auto',\n container_placement = 'right',\n close,\n content_class,\n overlay_class,\n content_id,\n children, // eslint-disable-line\n dialog_role = null,\n ...rest\n } = this.props\n const { color } = this.state\n\n const contentId = content_id || makeUniqueId('modal-')\n\n const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)\n let role = dialog_role || 'dialog'\n if (!useDialogRole && role === 'dialog') {\n role = 'region'\n }\n\n const contentParams = {\n /**\n * Do not use role=\"dialog\" on Safari\n *\n * VoiceOver has troubles with role=\"dialog\" and \"Modal in Modal\",\n * the result is, only the first Modal gets focus (set by Safari)\n *\n * Tests have shown: Both VoiceOver are working fine with the:\n * \"aria-labelledby\" and \"aria-describedby\" approach\n *\n */\n role,\n 'aria-modal': useDialogRole ? true : undefined,\n\n /**\n * ARIA references\n */\n 'aria-labelledby': combineLabelledBy(\n this.props,\n title ? contentId + '-title' : null,\n labelled_by\n ),\n 'aria-describedby': combineDescribedBy(\n this.props,\n contentId + '-content'\n ),\n\n /**\n * If no labelled_by and no title is given,\n * set a fallback \"dialog_title\"\n */\n 'aria-label': !title && !labelled_by ? dialog_title : undefined,\n\n className: classnames(\n 'dnb-modal__content',\n isTrue(fullscreen)\n ? 'dnb-modal__content--fullscreen'\n : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',\n container_placement\n ? `dnb-modal__content--${container_placement || 'right'}`\n : null,\n getThemeClasses(this.context?.theme),\n content_class\n ),\n onMouseDown: this.onContentMouseDownHandler,\n onClick: this.onContentClickHandler,\n }\n\n const content =\n typeof children === 'function'\n ? children({ ...rest, close })\n : children\n\n return (\n <ModalContext.Provider\n value={{\n id: this.props.id,\n title,\n hide_close_button,\n close_button_attributes,\n close_title,\n hide,\n setBackgroundColor: this.setBackgroundColor,\n onCloseClickHandler: this.onCloseClickHandler,\n preventClick: this.preventClick,\n onKeyDownHandler: this.onKeyDownHandler,\n contentRef: this._contentRef,\n scrollRef: this._scrollRef,\n contentId,\n close,\n }}\n >\n <div\n id={contentId}\n /** Sets the color on scroll overflow (at the bottom) */\n style={\n (color\n ? { '--modal-background-color': `var(--color-${color})` }\n : null) as CSSPropertiesWithVars\n }\n {...contentParams}\n >\n {content}\n </div>\n\n <span\n className={classnames(\n 'dnb-modal__overlay',\n hide && 'dnb-modal__overlay--hide',\n isTrue(no_animation) && 'dnb-modal__overlay--no-animation',\n isTrue(no_animation_on_mobile) &&\n 'dnb-modal__overlay--no-animation-on-mobile',\n overlay_class\n )}\n aria-hidden={true}\n />\n </ModalContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalContent.js","names":["_react","_interopRequireDefault","require","_classnames","_keycode","_bodyScrollLock","_componentHelper","_ModalContext","_helpers","_helpers2","_Theme","_shared","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ModalContent","React","PureComponent","constructor","props","triggeredBy","triggeredByEvent","color","modalRoots","getListOfModalRoots","firstLevel","_this$props","_ii","InteractionInvalidation","setBypassSelector","root_id","bypass_invalidation_selectors","Boolean","activate","modal","_iiLocal","_scrollRef","current","document","addEventListener","onKeyDownHandler","animation_duration","timeoutDuration","parseFloat","clearTimeout","_androidFocusTimeout","setTimeout","_document$activeEleme","_document$activeEleme2","activeElement","tagName","scrollIntoView","e","event","stopPropagation","closeModalContent","_overlayClickRef","currentTarget","prevent_overlay_close","isTrue","ifIsLatest","keycode","mostCurrent","getModalRoot","preventDefault","setState","_contentRef","content_ref","createRef","scroll_ref","_id","id","componentDidMount","no_animation","addToIndex","removeScrollPossibility","setFocus","setAndroidFocusHelper","dispatchCustomElementEvent","process","env","NODE_ENV","lockBody","_lockTimeout","componentWillUnmount","_focusTimeout","removeLocks","removeFromIndex","_this$_ii","revert","revertScrollPossibility","warn","removeAndroidFocusHelper","state","removeEventListener","window","isAndroid","_androidFocusHelper","focus_selector","elem","_focusElement","_focusElement$focus","_focusElement2","_focusElement2$select","focusElement","querySelector","focus","select","noH1Elem","disableBodyScroll","enableBodyScroll","clearAllBodyScrollLocks","_ref","_event$persist","params","persist","close","render","_this$context","_this$props2","hide","title","labelled_by","close_title","dialog_title","hide_close_button","close_button_attributes","no_animation_on_mobile","fullscreen","container_placement","content_class","overlay_class","content_id","children","dialog_role","rest","contentId","makeUniqueId","useDialogRole","IS_MAC","IS_SAFARI","IS_IOS","role","contentParams","combineLabelledBy","combineDescribedBy","className","classnames","getThemeClasses","context","theme","onMouseDown","onContentMouseDownHandler","onClick","onContentClickHandler","content","createElement","Provider","setBackgroundColor","onCloseClickHandler","preventClick","contentRef","scrollRef","style","exports","Context"],"sources":["../../../../src/components/modal/ModalContent.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from './bodyScrollLock'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n InteractionInvalidation,\n combineLabelledBy,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport ModalContext from './ModalContext'\nimport { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'\nimport { ModalContentProps } from './types'\nimport {\n getListOfModalRoots,\n getModalRoot,\n addToIndex,\n removeFromIndex,\n} from './helpers'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { Context } from '../../shared'\nimport { ContextProps } from '../../shared/Context'\n\ninterface ModalContentState {\n triggeredBy: string\n triggeredByEvent: Event\n color: string\n}\n\ndeclare global {\n interface Window {\n __modalStack: any[]\n }\n}\n\ninterface CSSPropertiesWithVars extends React.CSSProperties {\n '--modal-background-color': string\n}\n\nexport default class ModalContent extends React.PureComponent<\n ModalContentProps,\n ModalContentState\n> {\n state = { triggeredBy: null, triggeredByEvent: null, color: null }\n\n _contentRef: React.RefObject<HTMLElement>\n _scrollRef: React.RefObject<HTMLElement>\n _overlayClickRef: { current: null | HTMLElement }\n _id: string\n _lockTimeout: NodeJS.Timeout\n _focusTimeout: NodeJS.Timeout\n _androidFocusTimeout: NodeJS.Timeout\n _ii: InteractionInvalidation\n _iiLocal: InteractionInvalidation\n\n static contextType = Context\n\n context!: ContextProps\n\n constructor(props: ModalContentProps) {\n super(props)\n this._contentRef = this.props.content_ref || React.createRef()\n this._scrollRef = this.props.scroll_ref || React.createRef()\n this._overlayClickRef = React.createRef()\n\n // NB: The \"\"._id\" is used in the __modalStack as \"last._id\"\n this._id = props.id\n }\n\n componentDidMount() {\n const {\n id = null,\n no_animation = false,\n animation_duration = null,\n } = this.props\n\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n // Add it to the index at first\n // we use it later with getListOfModalRoots\n addToIndex(this)\n\n // Because of nested modals/drawers, we run this regardless\n // has to be run at first – so the scrollbar gets removed\n this.removeScrollPossibility() // forces browser to re-paint\n\n this.setFocus()\n this.setAndroidFocusHelper()\n\n dispatchCustomElementEvent(this, 'on_open', {\n id,\n })\n\n if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {\n this.lockBody() // forces browser to re-paint\n } else {\n this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n clearTimeout(this._lockTimeout)\n this.removeLocks()\n }\n\n lockBody = () => {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n if (firstLevel === this) {\n this._ii = new InteractionInvalidation()\n this._ii.setBypassSelector(\n [\n // Bypass modal content\n '.dnb-modal__content *',\n `#dnb-modal-${this.props.root_id || 'root'}`,\n `#dnb-modal-${this.props.root_id || 'root'} *`,\n\n // TODO: Eventually in future, make it possible to bypass invalidation from outside\n // '.dnb-modal--bypass_invalidation',\n // '.dnb-modal--bypass_invalidation_deep *',\n\n ...(this.props?.bypass_invalidation_selectors || []),\n ].filter(Boolean)\n )\n this._ii.activate()\n } else {\n modalRoots.forEach((modal) => {\n if (\n modal !== this &&\n typeof modal._iiLocal === 'undefined' &&\n typeof modal._scrollRef !== 'undefined'\n ) {\n modal._iiLocal = new InteractionInvalidation()\n modal._iiLocal.activate(modal._scrollRef.current)\n }\n })\n }\n\n if (typeof document !== 'undefined') {\n /** To ensure, we have always a working keydown, we call it both on the element and document */\n document.addEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n removeLocks() {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n removeFromIndex(this)\n\n if (firstLevel === this) {\n this._ii?.revert()\n this.revertScrollPossibility()\n } else {\n try {\n const modal = modalRoots[modalRoots.length - 2]\n if (modal !== this && modal._iiLocal) {\n modal._iiLocal.revert()\n delete modal._iiLocal\n }\n } catch (e) {\n warn(e)\n }\n }\n\n this.removeAndroidFocusHelper()\n\n const id = this.props.id\n const { triggeredBy, triggeredByEvent } = this.state\n dispatchCustomElementEvent(this, 'on_close', {\n id,\n event: triggeredByEvent,\n triggeredBy: triggeredBy || 'unmount',\n })\n\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n setAndroidFocusHelper() {\n if (typeof window !== 'undefined' && isAndroid()) {\n window.addEventListener('resize', this._androidFocusHelper)\n }\n }\n\n removeAndroidFocusHelper() {\n window.removeEventListener('resize', this._androidFocusHelper)\n clearTimeout(this._androidFocusTimeout)\n }\n\n _androidFocusHelper = () => {\n const { animation_duration = null } = this.props\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n clearTimeout(this._androidFocusTimeout)\n this._androidFocusTimeout = setTimeout(() => {\n try {\n if (\n document.activeElement?.tagName == 'INPUT' ||\n document.activeElement?.tagName == 'TEXTAREA'\n ) {\n document.activeElement.scrollIntoView()\n }\n } catch (e) {\n //\n }\n }, timeoutDuration / 2) // Older Android needs a delay here\n }\n\n setFocus() {\n const {\n focus_selector = null,\n no_animation = null,\n animation_duration = null,\n } = this.props\n const elem = this._contentRef.current\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n if (elem) {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(\n () => {\n try {\n let focusElement = elem as HTMLInputElement\n\n // Try to use the \"first-focus\" method first\n if (typeof focus_selector === 'string') {\n focusElement = elem.querySelector(focus_selector)\n }\n\n focusElement?.focus?.()\n focusElement?.select?.()\n\n const noH1Elem = elem.querySelector('h1, h2, h3')\n if (noH1Elem?.tagName !== 'H1') {\n warn('A Dialog or Drawer needs a h1 as its first element!')\n }\n } catch (e) {\n warn(e)\n }\n },\n isTrue(no_animation) ? 0 : timeoutDuration || 0\n ) // with this delay, the user can press esc without an focus action first\n }\n }\n\n removeScrollPossibility() {\n if (this._scrollRef.current) {\n disableBodyScroll(this._scrollRef.current)\n }\n }\n\n revertScrollPossibility() {\n enableBodyScroll(this._scrollRef.current)\n clearAllBodyScrollLocks()\n }\n\n preventClick = (event) => {\n if (event) {\n event.stopPropagation()\n }\n }\n\n onCloseClickHandler = (event: React.SyntheticEvent) => {\n this.closeModalContent(event, { triggeredBy: 'button' })\n }\n\n onContentMouseDownHandler = (event: React.SyntheticEvent) => {\n this._overlayClickRef.current =\n event.target === event.currentTarget\n ? (event.target as HTMLElement)\n : null\n }\n\n onContentClickHandler = (event: React.SyntheticEvent) => {\n /**\n * Prevent false-positive Modal close,\n * when e.g. selecting text inside and moving the mouse outside,\n * we would still get this event fired. There we check if the current click,\n * has the same target as where the click got initiated.\n */\n if (this._overlayClickRef.current !== event.target) {\n return // stop here\n }\n this._overlayClickRef.current = null\n\n const { prevent_overlay_close } = this.props\n\n if (!isTrue(prevent_overlay_close)) {\n this.closeModalContent(event, {\n triggeredBy: 'overlay',\n ifIsLatest: false,\n })\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'esc': {\n const mostCurrent = getModalRoot(-1)\n\n if (mostCurrent === this) {\n event.preventDefault()\n this.closeModalContent(event, {\n triggeredBy: 'keyboard',\n })\n }\n\n break\n }\n }\n }\n\n closeModalContent(event, { triggeredBy, ...params }) {\n event?.persist?.()\n this.setState({ triggeredBy, triggeredByEvent: event }, () => {\n this.props.close(event, {\n triggeredBy,\n ...params,\n })\n })\n }\n\n setBackgroundColor = (color: string) => {\n this.setState({ color })\n }\n\n render() {\n const {\n hide,\n title,\n labelled_by,\n id: _id, // eslint-disable-line\n close_title = 'Lukk',\n dialog_title = 'Vindu',\n hide_close_button = false,\n close_button_attributes,\n no_animation = false,\n no_animation_on_mobile = false,\n fullscreen = 'auto',\n container_placement = 'right',\n close,\n content_class,\n overlay_class,\n content_id,\n children, // eslint-disable-line\n dialog_role = null,\n ...rest\n } = this.props\n const { color } = this.state\n\n const contentId = content_id || makeUniqueId('modal-')\n\n const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)\n let role = dialog_role || 'dialog'\n if (!useDialogRole && role === 'dialog') {\n role = 'region'\n }\n\n const contentParams = {\n /**\n * Do not use role=\"dialog\" on Safari\n *\n * VoiceOver has troubles with role=\"dialog\" and \"Modal in Modal\",\n * the result is, only the first Modal gets focus (set by Safari)\n *\n * Tests have shown: Both VoiceOver are working fine with the:\n * \"aria-labelledby\" and \"aria-describedby\" approach\n *\n */\n role,\n 'aria-modal': useDialogRole ? true : undefined,\n\n /**\n * ARIA references\n */\n 'aria-labelledby': combineLabelledBy(\n this.props,\n title ? contentId + '-title' : null,\n labelled_by\n ),\n 'aria-describedby': combineDescribedBy(\n this.props,\n contentId + '-content'\n ),\n\n /**\n * If no labelled_by and no title is given,\n * set a fallback \"dialog_title\"\n */\n 'aria-label': !title && !labelled_by ? dialog_title : undefined,\n\n className: classnames(\n 'dnb-modal__content',\n isTrue(fullscreen)\n ? 'dnb-modal__content--fullscreen'\n : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',\n container_placement\n ? `dnb-modal__content--${container_placement || 'right'}`\n : null,\n getThemeClasses(this.context?.theme),\n content_class\n ),\n onMouseDown: this.onContentMouseDownHandler,\n onClick: this.onContentClickHandler,\n }\n\n const content =\n typeof children === 'function'\n ? children({ ...rest, close })\n : children\n\n return (\n <ModalContext.Provider\n value={{\n id: this.props.id,\n title,\n hide_close_button,\n close_button_attributes,\n close_title,\n hide,\n setBackgroundColor: this.setBackgroundColor,\n onCloseClickHandler: this.onCloseClickHandler,\n preventClick: this.preventClick,\n onKeyDownHandler: this.onKeyDownHandler,\n contentRef: this._contentRef,\n scrollRef: this._scrollRef,\n contentId,\n close,\n }}\n >\n <div\n id={contentId}\n /** Sets the color on scroll overflow (at the bottom) */\n style={\n (color\n ? { '--modal-background-color': `var(--color-${color})` }\n : null) as CSSPropertiesWithVars\n }\n {...contentParams}\n >\n {content}\n </div>\n\n <span\n className={classnames(\n 'dnb-modal__overlay',\n hide && 'dnb-modal__overlay--hide',\n isTrue(no_animation) && 'dnb-modal__overlay--no-animation',\n isTrue(no_animation_on_mobile) &&\n 'dnb-modal__overlay--no-animation-on-mobile',\n overlay_class\n )}\n aria-hidden={true}\n />\n </ModalContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
@@ -10,6 +10,10 @@
10
10
  --progress-indicator-circular-circle: 88;
11
11
  --progress-indicator-circular-circle-offset--min: 88;
12
12
  --progress-indicator-circular-circle-offset--max: 1;
13
+ --progress-indicator-circular-background-color: grey;
14
+ --progress-indicator-circular-bar-color: var(--color-black);
15
+ --progress-indicator-linear-background-color: grey;
16
+ --progress-indicator-linear-bar-color: var(--color-black);
13
17
  position: relative;
14
18
  display: inline-flex;
15
19
  align-items: center;
@@ -45,6 +49,10 @@
45
49
  }
46
50
  .dnb-progress-indicator__circular svg {
47
51
  position: absolute;
52
+ top: 0;
53
+ right: 0;
54
+ bottom: 0;
55
+ left: 0;
48
56
  width: 100%;
49
57
  height: 100%;
50
58
  }
@@ -77,12 +85,44 @@
77
85
  stroke-linecap: round;
78
86
  }
79
87
  .dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle {
80
- stroke: grey;
88
+ stroke: var(--progress-indicator-circular-background-color);
81
89
  }
82
90
  .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
83
- stroke: var(--color-black);
91
+ stroke: var(--progress-indicator-circular-bar-color);
92
+ }
93
+ .dnb-progress-indicator__circular--small {
94
+ width: 1rem;
95
+ height: 1rem;
96
+ }
97
+ .dnb-progress-indicator__circular--medium {
98
+ width: 1.5rem;
99
+ height: 1.5rem;
100
+ }
101
+ .dnb-progress-indicator__circular--large {
102
+ width: 3.5rem;
103
+ height: 3.5rem;
104
+ }
105
+ .dnb-progress-indicator__circular--huge {
106
+ width: 20rem;
107
+ height: 20rem;
108
+ }
109
+ .dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
110
+ stroke-width: 3.1;
111
+ }
112
+ .dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
113
+ stroke-width: 3.3;
114
+ }
115
+ .dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
116
+ stroke-width: 3.5;
117
+ }
118
+ .dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
119
+ stroke-width: 3.7;
120
+ }
121
+ .dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
122
+ stroke-width: 3.9;
84
123
  }
85
124
  .dnb-progress-indicator__linear {
125
+ background-color: var(--progress-indicator-linear-background-color);
86
126
  position: relative;
87
127
  overflow: hidden;
88
128
  width: 100%;
@@ -91,6 +131,7 @@
91
131
  border-radius: 0.25rem;
92
132
  }
93
133
  .dnb-progress-indicator__linear__bar {
134
+ background-color: var(--progress-indicator-linear-bar-color);
94
135
  width: 100%;
95
136
  position: absolute;
96
137
  left: 0;
@@ -110,6 +151,22 @@
110
151
  width: auto;
111
152
  animation: progress-indicator-linear-bar-2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
112
153
  }
154
+ .dnb-progress-indicator__linear--small {
155
+ height: 0.25rem;
156
+ border-radius: 0.125rem;
157
+ }
158
+ .dnb-progress-indicator__linear--medium {
159
+ height: 1rem;
160
+ border-radius: 0.5rem;
161
+ }
162
+ .dnb-progress-indicator__linear--large {
163
+ height: 1.5rem;
164
+ border-radius: 0.75rem;
165
+ }
166
+ .dnb-progress-indicator__linear--huge {
167
+ height: 2rem;
168
+ border-radius: 1rem;
169
+ }
113
170
  html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation {
114
171
  left: -35%;
115
172
  right: 100%;
@@ -1 +1 @@
1
- .dnb-progress-indicator{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1;align-items:center;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{flex-direction:column}.dnb-progress-indicator--horizontal{justify-content:center}.dnb-progress-indicator__label{display:inline-flex}.dnb-progress-indicator__label .dnb-p{align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{height:100%;position:absolute;width:100%}.dnb-progress-indicator__circular__line{animation-delay:.2s;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:grey}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--color-black)}.dnb-progress-indicator__linear{border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{border-radius:inherit;bottom:0;left:0;position:absolute;top:0;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{transition:transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation{animation-duration:0ms;animation-iteration-count:0;left:-35%;right:100%}html[data-visual-test] .dnb-progress-indicator__linear__bar2-animation{animation-duration:0ms;animation-iteration-count:0;left:-200%;right:100%}.dnb-progress-indicator,.dnb-progress-indicator--visible{animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){animation:progress-indicator-fade-out .6s ease-out 1 forwards}html[data-visual-test] .dnb-progress-indicator{animation-duration:0ms;opacity:1}.dnb-progress-indicator--no-animation{animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__bar-transition{transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}
1
+ .dnb-progress-indicator{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1;--progress-indicator-circular-background-color:grey;--progress-indicator-circular-bar-color:var(--color-black);--progress-indicator-linear-background-color:grey;--progress-indicator-linear-bar-color:var(--color-black);align-items:center;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{flex-direction:column}.dnb-progress-indicator--horizontal{justify-content:center}.dnb-progress-indicator__label{display:inline-flex}.dnb-progress-indicator__label .dnb-p{align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.dnb-progress-indicator__circular__line{animation-delay:.2s;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-background-color)}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-bar-color)}.dnb-progress-indicator__circular--small{height:1rem;width:1rem}.dnb-progress-indicator__circular--medium{height:1.5rem;width:1.5rem}.dnb-progress-indicator__circular--large{height:3.5rem;width:3.5rem}.dnb-progress-indicator__circular--huge{height:20rem;width:20rem}.dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.1}.dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.3}.dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.5}.dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.7}.dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.9}.dnb-progress-indicator__linear{background-color:var(--progress-indicator-linear-background-color);border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{background-color:var(--progress-indicator-linear-bar-color);border-radius:inherit;bottom:0;left:0;position:absolute;top:0;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{transition:transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator__linear--small{border-radius:.125rem;height:.25rem}.dnb-progress-indicator__linear--medium{border-radius:.5rem;height:1rem}.dnb-progress-indicator__linear--large{border-radius:.75rem;height:1.5rem}.dnb-progress-indicator__linear--huge{border-radius:1rem;height:2rem}html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation{animation-duration:0ms;animation-iteration-count:0;left:-35%;right:100%}html[data-visual-test] .dnb-progress-indicator__linear__bar2-animation{animation-duration:0ms;animation-iteration-count:0;left:-200%;right:100%}.dnb-progress-indicator,.dnb-progress-indicator--visible{animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){animation:progress-indicator-fade-out .6s ease-out 1 forwards}html[data-visual-test] .dnb-progress-indicator{animation-duration:0ms;opacity:1}.dnb-progress-indicator--no-animation{animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__bar-transition{transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}
@@ -10,6 +10,10 @@
10
10
  --progress-indicator-circular-circle: 88;
11
11
  --progress-indicator-circular-circle-offset--min: 88;
12
12
  --progress-indicator-circular-circle-offset--max: 1;
13
+ --progress-indicator-circular-background-color: grey;
14
+ --progress-indicator-circular-bar-color: var(--color-black);
15
+ --progress-indicator-linear-background-color: grey;
16
+ --progress-indicator-linear-bar-color: var(--color-black);
13
17
 
14
18
  position: relative;
15
19
  display: inline-flex;
@@ -60,6 +64,7 @@
60
64
 
61
65
  svg {
62
66
  position: absolute;
67
+ inset: 0;
63
68
  width: 100%;
64
69
  height: 100%;
65
70
  }
@@ -109,16 +114,58 @@
109
114
  }
110
115
 
111
116
  &__line.light &__circle {
112
- stroke: grey;
117
+ stroke: var(--progress-indicator-circular-background-color);
113
118
  }
114
119
 
115
120
  &__line.dark &__circle {
116
- stroke: var(--color-black);
121
+ stroke: var(--progress-indicator-circular-bar-color);
122
+ }
123
+
124
+ &--small {
125
+ width: 1rem;
126
+ height: 1rem;
127
+ }
128
+
129
+ &--medium {
130
+ width: 1.5rem;
131
+ height: 1.5rem;
132
+ }
133
+
134
+ &--large {
135
+ width: 3.5rem;
136
+ height: 3.5rem;
137
+ }
138
+
139
+ &--huge {
140
+ width: 20rem;
141
+ height: 20rem;
142
+ }
143
+
144
+ // compensate for 'aliasing artifacts' seen when rendering same sized, lighter on dark elements
145
+ &--small &__line.dark &__circle {
146
+ stroke-width: 3.1;
147
+ }
148
+
149
+ &--medium &__line.dark &__circle {
150
+ stroke-width: 3.3;
151
+ }
152
+
153
+ &--default &__line.dark &__circle {
154
+ stroke-width: 3.5;
155
+ }
156
+
157
+ &--large &__line.dark &__circle {
158
+ stroke-width: 3.7;
159
+ }
160
+
161
+ &--huge &__line.dark &__circle {
162
+ stroke-width: 3.9;
117
163
  }
118
164
  }
119
165
 
120
166
  // linear variant
121
167
  &__linear {
168
+ background-color: var(--progress-indicator-linear-background-color);
122
169
  position: relative;
123
170
  overflow: hidden;
124
171
  width: 100%;
@@ -129,6 +176,7 @@
129
176
  border-radius: 0.25rem;
130
177
 
131
178
  &__bar {
179
+ background-color: var(--progress-indicator-linear-bar-color);
132
180
  width: 100%;
133
181
  position: absolute;
134
182
  left: 0;
@@ -154,6 +202,26 @@
154
202
  cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
155
203
  }
156
204
 
205
+ &--small {
206
+ height: 0.25rem;
207
+ border-radius: 0.125rem;
208
+ }
209
+
210
+ &--medium {
211
+ height: 1rem;
212
+ border-radius: 0.5rem;
213
+ }
214
+
215
+ &--large {
216
+ height: 1.5rem;
217
+ border-radius: 0.75rem;
218
+ }
219
+
220
+ &--huge {
221
+ height: 2rem;
222
+ border-radius: 1rem;
223
+ }
224
+
157
225
  html[data-visual-test] &__bar1-animation {
158
226
  left: -35%;
159
227
  right: 100%;
@@ -0,0 +1,18 @@
1
+ /*
2
+ * ProgressIndicator theme for Sbanken
3
+ *
4
+ */
5
+ .dnb-progress-indicator {
6
+ --progress-indicator-circular-background-color: var(
7
+ --sb-color-gray-light-2
8
+ );
9
+ --progress-indicator-circular-bar-color: var(
10
+ --sb-color-purple-alternative
11
+ );
12
+ --progress-indicator-linear-background-color: var(
13
+ --sb-color-gray-light-2
14
+ );
15
+ --progress-indicator-linear-bar-color: var(
16
+ --sb-color-purple-alternative
17
+ );
18
+ }
@@ -0,0 +1,9 @@
1
+ .dnb-progress-indicator{--progress-indicator-circular-background-color:var(
2
+ --sb-color-gray-light-2
3
+ );--progress-indicator-circular-bar-color:var(
4
+ --sb-color-purple-alternative
5
+ );--progress-indicator-linear-background-color:var(
6
+ --sb-color-gray-light-2
7
+ );--progress-indicator-linear-bar-color:var(
8
+ --sb-color-purple-alternative
9
+ )}
@@ -0,0 +1,19 @@
1
+ /*
2
+ * ProgressIndicator theme for Sbanken
3
+ *
4
+ */
5
+
6
+ .dnb-progress-indicator {
7
+ --progress-indicator-circular-background-color: var(
8
+ --sb-color-gray-light-2
9
+ );
10
+ --progress-indicator-circular-bar-color: var(
11
+ --sb-color-purple-alternative
12
+ );
13
+ --progress-indicator-linear-background-color: var(
14
+ --sb-color-gray-light-2
15
+ );
16
+ --progress-indicator-linear-bar-color: var(
17
+ --sb-color-purple-alternative
18
+ );
19
+ }
@@ -2,68 +2,9 @@
2
2
  * ProgressIndicator theme
3
3
  *
4
4
  */
5
- /*
6
- * Utilities
7
- */
8
- .dnb-progress-indicator__circular--small {
9
- width: 1rem;
10
- height: 1rem;
11
- }
12
- .dnb-progress-indicator__circular--medium {
13
- width: 1.5rem;
14
- height: 1.5rem;
15
- }
16
- .dnb-progress-indicator__circular--large {
17
- width: 3.5rem;
18
- height: 3.5rem;
19
- }
20
- .dnb-progress-indicator__circular--huge {
21
- width: 20rem;
22
- height: 20rem;
23
- }
24
- .dnb-progress-indicator__circular__line {
25
- animation-duration: 2s;
26
- }
27
- .dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle {
28
- stroke: var(--color-mint-green);
29
- }
30
- .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
31
- stroke: var(--color-emerald-green);
32
- }
33
- .dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
34
- stroke-width: 3.1;
35
- }
36
- .dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
37
- stroke-width: 3.3;
38
- }
39
- .dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
40
- stroke-width: 3.5;
41
- }
42
- .dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
43
- stroke-width: 3.7;
44
- }
45
- .dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
46
- stroke-width: 3.9;
47
- }
48
- .dnb-progress-indicator__linear {
49
- background-color: var(--color-black-8);
50
- }
51
- .dnb-progress-indicator__linear--small {
52
- height: 0.25rem;
53
- border-radius: 0.125rem;
54
- }
55
- .dnb-progress-indicator__linear--medium {
56
- height: 1rem;
57
- border-radius: 0.5rem;
58
- }
59
- .dnb-progress-indicator__linear--large {
60
- height: 1.5rem;
61
- border-radius: 0.75rem;
62
- }
63
- .dnb-progress-indicator__linear--huge {
64
- height: 2rem;
65
- border-radius: 1rem;
66
- }
67
- .dnb-progress-indicator__linear__bar {
68
- background-color: var(--color-sea-green);
5
+ .dnb-progress-indicator {
6
+ --progress-indicator-circular-background-color: var(--color-mint-green);
7
+ --progress-indicator-circular-bar-color: var(--color-emerald-green);
8
+ --progress-indicator-linear-background-color: var(--color-black-8);
9
+ --progress-indicator-linear-bar-color: var(--color-sea-green);
69
10
  }
@@ -1 +1 @@
1
- .dnb-progress-indicator__circular--small{height:1rem;width:1rem}.dnb-progress-indicator__circular--medium{height:1.5rem;width:1.5rem}.dnb-progress-indicator__circular--large{height:3.5rem;width:3.5rem}.dnb-progress-indicator__circular--huge{height:20rem;width:20rem}.dnb-progress-indicator__circular__line{animation-duration:2s}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:var(--color-mint-green)}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--color-emerald-green)}.dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.1}.dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.3}.dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.5}.dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.7}.dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.9}.dnb-progress-indicator__linear{background-color:var(--color-black-8)}.dnb-progress-indicator__linear--small{border-radius:.125rem;height:.25rem}.dnb-progress-indicator__linear--medium{border-radius:.5rem;height:1rem}.dnb-progress-indicator__linear--large{border-radius:.75rem;height:1.5rem}.dnb-progress-indicator__linear--huge{border-radius:1rem;height:2rem}.dnb-progress-indicator__linear__bar{background-color:var(--color-sea-green)}
1
+ .dnb-progress-indicator{--progress-indicator-circular-background-color:var(--color-mint-green);--progress-indicator-circular-bar-color:var(--color-emerald-green);--progress-indicator-linear-background-color:var(--color-black-8);--progress-indicator-linear-bar-color:var(--color-sea-green)}
@@ -3,8 +3,6 @@
3
3
  *
4
4
  */
5
5
 
6
- @import '../../../../style/core/utilities.scss';
7
-
8
6
  .dnb-progress-indicator {
9
7
  // to get a reverse #v3 - use the following setup, strokeDashoffset has also to be:
10
8
  // const strokeDashoffset = -((maxOffset / 100) * progress-indicator)
@@ -12,88 +10,8 @@
12
10
  // --progress-indicator-circular-circle-offset--min: -1;
13
11
  // --progress-indicator-circular-circle-offset--max: -88;
14
12
 
15
- // circular variant
16
- &__circular {
17
- &--small {
18
- width: 1rem;
19
- height: 1rem;
20
- }
21
-
22
- &--medium {
23
- width: 1.5rem;
24
- height: 1.5rem;
25
- }
26
-
27
- &--large {
28
- width: 3.5rem;
29
- height: 3.5rem;
30
- }
31
-
32
- &--huge {
33
- width: 20rem;
34
- height: 20rem;
35
- }
36
-
37
- &__line {
38
- animation-duration: 2s;
39
- }
40
-
41
- &__line.light &__circle {
42
- stroke: var(--color-mint-green);
43
- }
44
-
45
- &__line.dark &__circle {
46
- stroke: var(--color-emerald-green);
47
- }
48
-
49
- // compensate for 'aliasing artifacts' seen when rendering same sized, lighter on dark elements
50
- &--small &__line.dark &__circle {
51
- stroke-width: 3.1;
52
- }
53
-
54
- &--medium &__line.dark &__circle {
55
- stroke-width: 3.3;
56
- }
57
-
58
- &--default &__line.dark &__circle {
59
- stroke-width: 3.5;
60
- }
61
-
62
- &--large &__line.dark &__circle {
63
- stroke-width: 3.7;
64
- }
65
-
66
- &--huge &__line.dark &__circle {
67
- stroke-width: 3.9;
68
- }
69
- }
70
-
71
- // linear variant
72
- &__linear {
73
- background-color: var(--color-black-8);
74
-
75
- &--small {
76
- height: 0.25rem;
77
- border-radius: 0.125rem;
78
- }
79
-
80
- &--medium {
81
- height: 1rem;
82
- border-radius: 0.5rem;
83
- }
84
-
85
- &--large {
86
- height: 1.5rem;
87
- border-radius: 0.75rem;
88
- }
89
-
90
- &--huge {
91
- height: 2rem;
92
- border-radius: 1rem;
93
- }
94
-
95
- &__bar {
96
- background-color: var(--color-sea-green);
97
- }
98
- }
13
+ --progress-indicator-circular-background-color: var(--color-mint-green);
14
+ --progress-indicator-circular-bar-color: var(--color-emerald-green);
15
+ --progress-indicator-linear-background-color: var(--color-black-8);
16
+ --progress-indicator-linear-bar-color: var(--color-sea-green);
99
17
  }
@@ -35,7 +35,7 @@ function Section(localProps) {
35
35
  } = props,
36
36
  attributes = _objectWithoutProperties(props, _excluded);
37
37
  const params = _objectSpread({
38
- className: (0, _classnames.default)(`dnb-section dnb-section--${variant ?? (style_type || 'default')}`, (0, _SpacingHelper.createSpacingClasses)(props), className, spacing && `dnb-section--spacing-${(0, _componentHelper.isTrue)(spacing) ? 'large' : spacing}`)
38
+ className: (0, _classnames.default)(`dnb-section dnb-section--${variant ? variant : style_type || 'default'}`, (0, _SpacingHelper.createSpacingClasses)(props), className, spacing && `dnb-section--spacing-${(0, _componentHelper.isTrue)(spacing) ? 'large' : spacing}`)
39
39
  }, attributes);
40
40
  const internalRef = _react.default.useRef();
41
41
  const elementRef = inner_ref || internalRef;