@dnb/eufemia 10.7.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 (1468) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
  4. package/cjs/components/accordion/AccordionHeader.js +18 -5
  5. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.css +22 -17
  7. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  12. package/cjs/components/anchor/Anchor.js +1 -1
  13. package/cjs/components/anchor/Anchor.js.map +1 -1
  14. package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  16. package/cjs/components/autocomplete/Autocomplete.js +4 -2
  17. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  18. package/cjs/components/avatar/style/index.d.ts +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  20. package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
  21. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/cjs/components/breadcrumb/BreadcrumbItem.js +24 -2
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  25. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  26. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  27. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  28. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  29. package/cjs/components/checkbox/Checkbox.js +6 -4
  30. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  31. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  34. package/cjs/components/drawer/Drawer.d.ts +1 -1
  35. package/cjs/components/drawer/Drawer.js +3 -1
  36. package/cjs/components/drawer/Drawer.js.map +1 -1
  37. package/cjs/components/form-status/FormStatus.d.ts +2 -0
  38. package/cjs/components/form-status/FormStatus.js +70 -53
  39. package/cjs/components/form-status/FormStatus.js.map +1 -1
  40. package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
  41. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  42. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  43. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  44. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  45. package/cjs/components/global-status/GlobalStatus.js +17 -7
  46. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  47. package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
  48. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  49. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  50. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  51. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  52. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  53. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  54. package/cjs/components/heading/Heading.d.ts +8 -8
  55. package/cjs/components/heading/Heading.js +8 -16
  56. package/cjs/components/heading/Heading.js.map +1 -1
  57. package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
  58. package/cjs/components/heading/HeadingHelpers.js +42 -1
  59. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  60. package/cjs/components/info-card/index.js.map +1 -1
  61. package/cjs/components/info-card/style.js.map +1 -1
  62. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  63. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  64. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  65. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  66. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  67. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  68. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  69. package/cjs/components/modal/Modal.js.map +1 -1
  70. package/cjs/components/modal/ModalContent.js +3 -1
  71. package/cjs/components/modal/ModalContent.js.map +1 -1
  72. package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
  73. package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
  74. package/cjs/components/pagination/Pagination.js.map +1 -1
  75. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  76. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  77. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  78. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  79. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  80. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  81. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  82. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  83. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  84. package/cjs/components/radio/Radio.d.ts +4 -0
  85. package/cjs/components/radio/Radio.js +6 -4
  86. package/cjs/components/radio/Radio.js.map +1 -1
  87. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  88. package/cjs/components/section/Section.d.ts +21 -1
  89. package/cjs/components/section/Section.js +1 -1
  90. package/cjs/components/section/Section.js.map +1 -1
  91. package/cjs/components/section/style/dnb-section.css +1 -1
  92. package/cjs/components/section/style/dnb-section.scss +8 -3
  93. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  94. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  95. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  96. package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
  97. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  98. package/cjs/components/skeleton/style/dnb-skeleton.scss +74 -5
  99. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  100. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  101. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  102. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  103. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  104. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  105. package/cjs/components/slider/style/dnb-slider.scss +4 -2
  106. package/cjs/components/space/SpacingUtils.js.map +1 -1
  107. package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
  108. package/cjs/components/step-indicator/StepIndicator.js +31 -26
  109. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  110. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  111. package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
  112. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  113. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  114. package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
  115. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  116. package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
  117. package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
  118. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  119. package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  120. package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
  121. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  122. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  123. package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
  124. package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
  125. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  126. package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
  127. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  128. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  129. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
  130. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  131. package/cjs/components/switch/Switch.d.ts +4 -0
  132. package/cjs/components/switch/Switch.js +6 -4
  133. package/cjs/components/switch/Switch.js.map +1 -1
  134. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  135. package/cjs/components/table/TableContainer.js.map +1 -1
  136. package/cjs/components/table/style/table-accordion.scss +18 -6
  137. package/cjs/components/table/style/table-header-buttons.scss +3 -1
  138. package/cjs/components/table/style/table-tr.scss +6 -2
  139. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  140. package/cjs/components/timeline/TimelineItem.d.ts +3 -2
  141. package/cjs/components/timeline/TimelineItem.js +96 -62
  142. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  143. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  144. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  145. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  146. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  147. package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
  148. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  149. package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
  150. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  151. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  152. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  153. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  154. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  155. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  156. package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
  157. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  158. package/cjs/elements/lib.d.ts +1 -1
  159. package/cjs/elements/typography/H.d.ts +5 -3
  160. package/cjs/elements/typography/H.js +7 -3
  161. package/cjs/elements/typography/H.js.map +1 -1
  162. package/cjs/elements/typography/H1.js +2 -2
  163. package/cjs/elements/typography/H1.js.map +1 -1
  164. package/cjs/elements/typography/H2.js +2 -2
  165. package/cjs/elements/typography/H2.js.map +1 -1
  166. package/cjs/elements/typography/H3.js +2 -2
  167. package/cjs/elements/typography/H3.js.map +1 -1
  168. package/cjs/elements/typography/H4.js +2 -2
  169. package/cjs/elements/typography/H4.js.map +1 -1
  170. package/cjs/elements/typography/H5.js +2 -2
  171. package/cjs/elements/typography/H5.js.map +1 -1
  172. package/cjs/elements/typography/H6.js +2 -2
  173. package/cjs/elements/typography/H6.js.map +1 -1
  174. package/cjs/elements/typography/style/dnb-typography.scss +3 -0
  175. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  176. package/cjs/elements/typography/style/typography-mixins.scss +5 -0
  177. package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
  178. package/cjs/extensions/forms/DataContext/At.js.map +1 -1
  179. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  180. package/cjs/extensions/forms/DataContext/Context.js +2 -1
  181. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  182. package/cjs/extensions/forms/DataContext/Provider.js +7 -3
  183. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  184. package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
  185. package/cjs/extensions/forms/DataContext/index.js +0 -2
  186. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  187. package/cjs/extensions/forms/Field/ArraySelection.d.ts +4 -4
  188. package/cjs/extensions/forms/Field/ArraySelection.js +55 -35
  189. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  190. package/cjs/extensions/forms/Field/CountryCode.d.ts +9 -0
  191. package/cjs/extensions/forms/Field/CountryCode.js +77 -0
  192. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
  193. package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
  194. package/cjs/extensions/forms/Field/Currency.js +6 -38
  195. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  196. package/cjs/extensions/forms/Field/Date.d.ts +2 -3
  197. package/cjs/extensions/forms/Field/Date.js +14 -10
  198. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  199. package/cjs/extensions/forms/Field/Number.d.ts +7 -4
  200. package/cjs/extensions/forms/Field/Number.js +48 -23
  201. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  202. package/cjs/extensions/forms/Field/Option.d.ts +2 -3
  203. package/cjs/extensions/forms/Field/Option.js.map +1 -1
  204. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  205. package/cjs/extensions/forms/Field/PhoneNumber.js +45 -44
  206. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  207. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  208. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  209. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  210. package/cjs/extensions/forms/Field/Selection.d.ts +6 -5
  211. package/cjs/extensions/forms/Field/Selection.js +90 -40
  212. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  213. package/cjs/extensions/forms/Field/String.d.ts +3 -4
  214. package/cjs/extensions/forms/Field/String.js +28 -16
  215. package/cjs/extensions/forms/Field/String.js.map +1 -1
  216. package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
  217. package/cjs/extensions/forms/Field/Toggle.js +16 -14
  218. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  219. package/cjs/extensions/forms/Field/fields.scss +2 -2
  220. package/cjs/extensions/forms/Field/index.d.ts +2 -4
  221. package/cjs/extensions/forms/Field/index.js +3 -5
  222. package/cjs/extensions/forms/Field/index.js.map +1 -1
  223. package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  224. package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  225. package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  226. package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
  227. package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  228. package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  229. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  230. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  231. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  232. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  233. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  234. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  235. package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
  236. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  237. package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
  238. package/cjs/extensions/forms/Field/style/index.scss +2 -0
  239. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  240. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +88 -15
  241. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  242. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  243. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
  244. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  245. package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
  246. package/cjs/extensions/forms/FieldBlock/index.js +15 -2
  247. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  248. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  249. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  250. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  251. package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
  252. package/cjs/extensions/forms/Form/FormElement.js +39 -0
  253. package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
  254. package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
  255. package/cjs/extensions/forms/Form/FormHandler.js +41 -0
  256. package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
  257. package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  258. package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
  259. package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
  260. package/cjs/extensions/forms/Form/index.d.ts +9 -0
  261. package/cjs/extensions/forms/Form/index.js +18 -0
  262. package/cjs/extensions/forms/Form/index.js.map +1 -0
  263. package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
  264. package/cjs/extensions/forms/Iterate/Array.js +91 -0
  265. package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
  266. package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  267. package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
  268. package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  269. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  270. package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
  271. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  272. package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  273. package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
  274. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  275. package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
  276. package/cjs/extensions/forms/Iterate/index.js +25 -0
  277. package/cjs/extensions/forms/Iterate/index.js.map +1 -0
  278. package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  279. package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
  280. package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
  281. package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
  282. package/cjs/extensions/forms/Layout/Card.js +5 -5
  283. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  284. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  285. package/cjs/extensions/forms/Layout/FlexContainer.js +6 -5
  286. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  287. package/cjs/extensions/forms/Layout/FlexItem.d.ts +2 -1
  288. package/cjs/extensions/forms/Layout/FlexItem.js +4 -3
  289. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  290. package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
  291. package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
  292. package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
  293. package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
  294. package/cjs/extensions/forms/Layout/Section.js +2 -2
  295. package/cjs/extensions/forms/Layout/Section.js.map +1 -1
  296. package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
  297. package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
  298. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  299. package/cjs/extensions/forms/Layout/index.d.ts +0 -2
  300. package/cjs/extensions/forms/Layout/index.js +1 -3
  301. package/cjs/extensions/forms/Layout/index.js.map +1 -1
  302. package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
  303. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  304. package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
  305. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  306. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  307. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  308. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  309. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  310. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  311. package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  312. package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
  313. package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  314. package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  315. package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  316. package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  317. package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  318. package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
  319. package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
  320. package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
  321. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  322. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  323. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  324. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  325. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  326. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  327. package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
  328. package/cjs/extensions/forms/Value/Boolean.js +4 -4
  329. package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
  330. package/cjs/extensions/forms/Value/Number.d.ts +2 -3
  331. package/cjs/extensions/forms/Value/Number.js +4 -3
  332. package/cjs/extensions/forms/Value/Number.js.map +1 -1
  333. package/cjs/extensions/forms/Value/String.d.ts +2 -3
  334. package/cjs/extensions/forms/Value/String.js +4 -4
  335. package/cjs/extensions/forms/Value/String.js.map +1 -1
  336. package/cjs/extensions/forms/Value/index.d.ts +0 -4
  337. package/cjs/extensions/forms/Value/index.js +0 -4
  338. package/cjs/extensions/forms/Value/index.js.map +1 -1
  339. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  340. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  341. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  342. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
  343. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  344. package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
  345. package/cjs/extensions/forms/hooks/index.js.map +1 -0
  346. package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
  347. package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +91 -56
  348. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  349. package/cjs/extensions/forms/index.d.ts +4 -4
  350. package/cjs/extensions/forms/index.js +20 -12
  351. package/cjs/extensions/forms/index.js.map +1 -1
  352. package/cjs/extensions/forms/style/dnb-forms.css +105 -29
  353. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  354. package/cjs/extensions/forms/style/index.d.ts +1 -0
  355. package/cjs/extensions/forms/style/index.js +4 -0
  356. package/cjs/extensions/forms/style/index.js.map +1 -0
  357. package/cjs/extensions/forms/types.d.ts +95 -2
  358. package/cjs/extensions/forms/types.js +71 -0
  359. package/cjs/extensions/forms/types.js.map +1 -1
  360. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  361. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  362. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  363. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  364. package/cjs/extensions/forms/utils/index.js +0 -12
  365. package/cjs/extensions/forms/utils/index.js.map +1 -1
  366. package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
  367. package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
  368. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
  369. package/cjs/extensions/forms/variables.scss +3 -0
  370. package/cjs/extensions/lib.d.ts +1 -2
  371. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  372. package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
  373. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  374. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  375. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  376. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  377. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  378. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  379. package/cjs/fragments/drawer-list/DrawerList.js +1 -1
  380. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  381. package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
  382. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  383. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  384. package/cjs/shared/Context.d.ts +2 -0
  385. package/cjs/shared/Context.js.map +1 -1
  386. package/cjs/shared/Eufemia.d.ts +1 -1
  387. package/cjs/shared/Eufemia.js +2 -2
  388. package/cjs/shared/Eufemia.js.map +1 -1
  389. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  390. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  391. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  392. package/cjs/shared/locales/en-GB.d.ts +1 -0
  393. package/cjs/shared/locales/en-GB.js +1 -0
  394. package/cjs/shared/locales/en-GB.js.map +1 -1
  395. package/cjs/shared/locales/en-US.d.ts +1 -0
  396. package/cjs/shared/locales/index.d.ts +2 -0
  397. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  398. package/cjs/shared/locales/nb-NO.js +1 -0
  399. package/cjs/shared/locales/nb-NO.js.map +1 -1
  400. package/cjs/shared/useMedia.js +33 -23
  401. package/cjs/shared/useMedia.js.map +1 -1
  402. package/cjs/style/core/reset.scss +13 -3
  403. package/cjs/style/core/utilities.scss +3 -1
  404. package/cjs/style/dnb-ui-components.css +142 -20
  405. package/cjs/style/dnb-ui-components.min.css +1 -1
  406. package/cjs/style/dnb-ui-elements.css +23 -11
  407. package/cjs/style/dnb-ui-elements.min.css +1 -1
  408. package/cjs/style/dnb-ui-extensions.css +112 -36
  409. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  410. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  411. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  412. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  413. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  414. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  415. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  416. package/cjs/style/themes/theme-sbanken/customisations.scss +3 -7
  417. package/cjs/style/themes/theme-sbanken/properties.js +6 -6
  418. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  419. package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
  420. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  421. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  422. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  423. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  424. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  425. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  426. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  427. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  428. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  429. package/cjs/style/themes/theme-ui/fonts.scss +8 -4
  430. package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -11
  431. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  432. package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  433. package/cjs/style/themes/theme-ui/ui-theme-components.css +173 -160
  434. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  435. package/cjs/style/themes/theme-ui/ui-theme-elements.css +23 -11
  436. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  437. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  438. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  439. package/cjs/style/themes/theme-ui/ui-theme-tags.css +20 -11
  440. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  441. package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  442. package/components/accordion/Accordion.d.ts +1 -1
  443. package/components/accordion/AccordionHeader.d.ts +4 -4
  444. package/components/accordion/AccordionHeader.js +18 -5
  445. package/components/accordion/AccordionHeader.js.map +1 -1
  446. package/components/accordion/style/dnb-accordion.css +22 -17
  447. package/components/accordion/style/dnb-accordion.min.css +1 -1
  448. package/components/accordion/style/dnb-accordion.scss +40 -18
  449. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  450. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  451. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  452. package/components/anchor/Anchor.js +1 -1
  453. package/components/anchor/Anchor.js.map +1 -1
  454. package/components/anchor/style/anchor-mixins.scss +9 -3
  455. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  456. package/components/autocomplete/Autocomplete.js +4 -2
  457. package/components/autocomplete/Autocomplete.js.map +1 -1
  458. package/components/avatar/style/index.d.ts +1 -1
  459. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  460. package/components/breadcrumb/Breadcrumb.js +2 -2
  461. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  462. package/components/breadcrumb/BreadcrumbItem.js +24 -2
  463. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  464. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  465. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  466. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  467. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  468. package/components/checkbox/Checkbox.d.ts +4 -0
  469. package/components/checkbox/Checkbox.js +6 -4
  470. package/components/checkbox/Checkbox.js.map +1 -1
  471. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  472. package/components/date-picker/DatePickerInput.js.map +1 -1
  473. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  474. package/components/drawer/Drawer.d.ts +1 -1
  475. package/components/drawer/Drawer.js +3 -1
  476. package/components/drawer/Drawer.js.map +1 -1
  477. package/components/form-status/FormStatus.d.ts +2 -0
  478. package/components/form-status/FormStatus.js +70 -53
  479. package/components/form-status/FormStatus.js.map +1 -1
  480. package/components/form-status/style/dnb-form-status.scss +4 -2
  481. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  482. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  483. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  484. package/components/global-status/GlobalStatus.d.ts +1 -1
  485. package/components/global-status/GlobalStatus.js +18 -8
  486. package/components/global-status/GlobalStatus.js.map +1 -1
  487. package/components/global-status/style/dnb-global-status.scss +2 -1
  488. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  489. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  490. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  491. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  492. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  493. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  494. package/components/heading/Heading.d.ts +8 -8
  495. package/components/heading/Heading.js +9 -15
  496. package/components/heading/Heading.js.map +1 -1
  497. package/components/heading/HeadingHelpers.d.ts +5 -1
  498. package/components/heading/HeadingHelpers.js +39 -0
  499. package/components/heading/HeadingHelpers.js.map +1 -1
  500. package/components/info-card/index.js.map +1 -1
  501. package/components/info-card/style.js.map +1 -1
  502. package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  503. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  504. package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  505. package/components/input-masked/InputMaskedHooks.js +1 -1
  506. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  507. package/components/input-masked/InputMaskedUtils.js +1 -1
  508. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  509. package/components/modal/Modal.js.map +1 -1
  510. package/components/modal/ModalContent.js +3 -1
  511. package/components/modal/ModalContent.js.map +1 -1
  512. package/components/modal/parts/ModalHeaderBar.js +0 -4
  513. package/components/modal/parts/ModalHeaderBar.js.map +1 -1
  514. package/components/pagination/Pagination.js.map +1 -1
  515. package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  516. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  517. package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  518. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  519. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  520. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  521. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  522. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  523. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  524. package/components/radio/Radio.d.ts +4 -0
  525. package/components/radio/Radio.js +6 -4
  526. package/components/radio/Radio.js.map +1 -1
  527. package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  528. package/components/section/Section.d.ts +21 -1
  529. package/components/section/Section.js +1 -1
  530. package/components/section/Section.js.map +1 -1
  531. package/components/section/style/dnb-section.css +1 -1
  532. package/components/section/style/dnb-section.scss +8 -3
  533. package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  534. package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  535. package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  536. package/components/skeleton/style/dnb-skeleton.css +50 -0
  537. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  538. package/components/skeleton/style/dnb-skeleton.scss +74 -5
  539. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  540. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  541. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  542. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  543. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  544. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  545. package/components/slider/style/dnb-slider.scss +4 -2
  546. package/components/space/SpacingUtils.js.map +1 -1
  547. package/components/step-indicator/StepIndicator.d.ts +89 -75
  548. package/components/step-indicator/StepIndicator.js +29 -25
  549. package/components/step-indicator/StepIndicator.js.map +1 -1
  550. package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  551. package/components/step-indicator/StepIndicatorContext.js +98 -120
  552. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  553. package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  554. package/components/step-indicator/StepIndicatorItem.js +177 -227
  555. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  556. package/components/step-indicator/StepIndicatorList.d.ts +6 -8
  557. package/components/step-indicator/StepIndicatorList.js +43 -48
  558. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  559. package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  560. package/components/step-indicator/StepIndicatorModal.js +38 -50
  561. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  562. package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  563. package/components/step-indicator/StepIndicatorProps.js +3 -45
  564. package/components/step-indicator/StepIndicatorProps.js.map +1 -1
  565. package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  566. package/components/step-indicator/StepIndicatorSidebar.js +39 -52
  567. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  568. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  569. package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  570. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  571. package/components/switch/Switch.d.ts +4 -0
  572. package/components/switch/Switch.js +6 -4
  573. package/components/switch/Switch.js.map +1 -1
  574. package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  575. package/components/table/TableContainer.js.map +1 -1
  576. package/components/table/style/table-accordion.scss +18 -6
  577. package/components/table/style/table-header-buttons.scss +3 -1
  578. package/components/table/style/table-tr.scss +6 -2
  579. package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  580. package/components/timeline/TimelineItem.d.ts +3 -2
  581. package/components/timeline/TimelineItem.js +95 -61
  582. package/components/timeline/TimelineItem.js.map +1 -1
  583. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  584. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  585. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  586. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  587. package/components/tooltip/style/dnb-tooltip.css +10 -0
  588. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  589. package/components/tooltip/style/dnb-tooltip.scss +14 -0
  590. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  591. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  592. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  593. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  594. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  595. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  596. package/elements/blockquote/style/blockquote-mixins.scss +22 -11
  597. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  598. package/elements/lib.d.ts +1 -1
  599. package/elements/typography/H.d.ts +5 -3
  600. package/elements/typography/H.js +8 -4
  601. package/elements/typography/H.js.map +1 -1
  602. package/elements/typography/H1.js +2 -2
  603. package/elements/typography/H1.js.map +1 -1
  604. package/elements/typography/H2.js +2 -2
  605. package/elements/typography/H2.js.map +1 -1
  606. package/elements/typography/H3.js +2 -2
  607. package/elements/typography/H3.js.map +1 -1
  608. package/elements/typography/H4.js +2 -2
  609. package/elements/typography/H4.js.map +1 -1
  610. package/elements/typography/H5.js +2 -2
  611. package/elements/typography/H5.js.map +1 -1
  612. package/elements/typography/H6.js +2 -2
  613. package/elements/typography/H6.js.map +1 -1
  614. package/elements/typography/style/dnb-typography.scss +3 -0
  615. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  616. package/elements/typography/style/typography-mixins.scss +5 -0
  617. package/es/components/accordion/Accordion.d.ts +1 -1
  618. package/es/components/accordion/AccordionHeader.d.ts +4 -4
  619. package/es/components/accordion/AccordionHeader.js +18 -5
  620. package/es/components/accordion/AccordionHeader.js.map +1 -1
  621. package/es/components/accordion/style/dnb-accordion.css +22 -17
  622. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  623. package/es/components/accordion/style/dnb-accordion.scss +40 -18
  624. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  625. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  626. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  627. package/es/components/anchor/Anchor.js +1 -1
  628. package/es/components/anchor/Anchor.js.map +1 -1
  629. package/es/components/anchor/style/anchor-mixins.scss +9 -3
  630. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  631. package/es/components/autocomplete/Autocomplete.js +4 -2
  632. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  633. package/es/components/avatar/style/index.d.ts +1 -1
  634. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  635. package/es/components/breadcrumb/Breadcrumb.js +2 -2
  636. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  637. package/es/components/breadcrumb/BreadcrumbItem.js +24 -2
  638. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  639. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  640. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  641. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  642. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  643. package/es/components/checkbox/Checkbox.d.ts +4 -0
  644. package/es/components/checkbox/Checkbox.js +6 -4
  645. package/es/components/checkbox/Checkbox.js.map +1 -1
  646. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  647. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  648. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  649. package/es/components/drawer/Drawer.d.ts +1 -1
  650. package/es/components/drawer/Drawer.js +3 -1
  651. package/es/components/drawer/Drawer.js.map +1 -1
  652. package/es/components/form-status/FormStatus.d.ts +2 -0
  653. package/es/components/form-status/FormStatus.js +70 -53
  654. package/es/components/form-status/FormStatus.js.map +1 -1
  655. package/es/components/form-status/style/dnb-form-status.scss +4 -2
  656. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  657. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  658. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  659. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  660. package/es/components/global-status/GlobalStatus.js +18 -8
  661. package/es/components/global-status/GlobalStatus.js.map +1 -1
  662. package/es/components/global-status/style/dnb-global-status.scss +2 -1
  663. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  664. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  665. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  666. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  667. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  668. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  669. package/es/components/heading/Heading.d.ts +8 -8
  670. package/es/components/heading/Heading.js +9 -15
  671. package/es/components/heading/Heading.js.map +1 -1
  672. package/es/components/heading/HeadingHelpers.d.ts +5 -1
  673. package/es/components/heading/HeadingHelpers.js +39 -0
  674. package/es/components/heading/HeadingHelpers.js.map +1 -1
  675. package/es/components/info-card/index.js.map +1 -1
  676. package/es/components/info-card/style.js.map +1 -1
  677. package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  678. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  679. package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  680. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  681. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  682. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  683. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  684. package/es/components/modal/Modal.js.map +1 -1
  685. package/es/components/modal/ModalContent.js +3 -1
  686. package/es/components/modal/ModalContent.js.map +1 -1
  687. package/es/components/modal/parts/ModalHeaderBar.js +0 -4
  688. package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
  689. package/es/components/pagination/Pagination.js.map +1 -1
  690. package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  691. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  692. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  693. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  694. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  695. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  696. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  697. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  698. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  699. package/es/components/radio/Radio.d.ts +4 -0
  700. package/es/components/radio/Radio.js +6 -4
  701. package/es/components/radio/Radio.js.map +1 -1
  702. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  703. package/es/components/section/Section.d.ts +21 -1
  704. package/es/components/section/Section.js +1 -1
  705. package/es/components/section/Section.js.map +1 -1
  706. package/es/components/section/style/dnb-section.css +1 -1
  707. package/es/components/section/style/dnb-section.scss +8 -3
  708. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  709. package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  710. package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  711. package/es/components/skeleton/style/dnb-skeleton.css +50 -0
  712. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  713. package/es/components/skeleton/style/dnb-skeleton.scss +74 -5
  714. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  715. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  716. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  717. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  718. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  719. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  720. package/es/components/slider/style/dnb-slider.scss +4 -2
  721. package/es/components/space/SpacingUtils.js.map +1 -1
  722. package/es/components/step-indicator/StepIndicator.d.ts +89 -75
  723. package/es/components/step-indicator/StepIndicator.js +29 -25
  724. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  725. package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  726. package/es/components/step-indicator/StepIndicatorContext.js +94 -114
  727. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  728. package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  729. package/es/components/step-indicator/StepIndicatorItem.js +173 -223
  730. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  731. package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
  732. package/es/components/step-indicator/StepIndicatorList.js +43 -48
  733. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  734. package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  735. package/es/components/step-indicator/StepIndicatorModal.js +38 -48
  736. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  737. package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  738. package/es/components/step-indicator/StepIndicatorProps.js +3 -45
  739. package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
  740. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  741. package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
  742. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  743. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  744. package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  745. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  746. package/es/components/switch/Switch.d.ts +4 -0
  747. package/es/components/switch/Switch.js +6 -4
  748. package/es/components/switch/Switch.js.map +1 -1
  749. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  750. package/es/components/table/TableContainer.js.map +1 -1
  751. package/es/components/table/style/table-accordion.scss +18 -6
  752. package/es/components/table/style/table-header-buttons.scss +3 -1
  753. package/es/components/table/style/table-tr.scss +6 -2
  754. package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  755. package/es/components/timeline/TimelineItem.d.ts +3 -2
  756. package/es/components/timeline/TimelineItem.js +89 -58
  757. package/es/components/timeline/TimelineItem.js.map +1 -1
  758. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  759. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  760. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  761. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  762. package/es/components/tooltip/style/dnb-tooltip.css +10 -0
  763. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  764. package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
  765. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  766. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  767. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  768. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  769. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  770. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  771. package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
  772. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  773. package/es/elements/lib.d.ts +1 -1
  774. package/es/elements/typography/H.d.ts +5 -3
  775. package/es/elements/typography/H.js +8 -4
  776. package/es/elements/typography/H.js.map +1 -1
  777. package/es/elements/typography/H1.js +2 -2
  778. package/es/elements/typography/H1.js.map +1 -1
  779. package/es/elements/typography/H2.js +2 -2
  780. package/es/elements/typography/H2.js.map +1 -1
  781. package/es/elements/typography/H3.js +2 -2
  782. package/es/elements/typography/H3.js.map +1 -1
  783. package/es/elements/typography/H4.js +2 -2
  784. package/es/elements/typography/H4.js.map +1 -1
  785. package/es/elements/typography/H5.js +2 -2
  786. package/es/elements/typography/H5.js.map +1 -1
  787. package/es/elements/typography/H6.js +2 -2
  788. package/es/elements/typography/H6.js.map +1 -1
  789. package/es/elements/typography/style/dnb-typography.scss +3 -0
  790. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  791. package/es/elements/typography/style/typography-mixins.scss +5 -0
  792. package/es/extensions/forms/DataContext/At.d.ts +1 -1
  793. package/es/extensions/forms/DataContext/At.js.map +1 -1
  794. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  795. package/es/extensions/forms/DataContext/Context.js +2 -1
  796. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  797. package/es/extensions/forms/DataContext/Provider.js +7 -3
  798. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  799. package/es/extensions/forms/DataContext/index.d.ts +0 -2
  800. package/es/extensions/forms/DataContext/index.js +0 -2
  801. package/es/extensions/forms/DataContext/index.js.map +1 -1
  802. package/es/extensions/forms/Field/ArraySelection.d.ts +4 -4
  803. package/es/extensions/forms/Field/ArraySelection.js +52 -36
  804. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  805. package/es/extensions/forms/Field/CountryCode.d.ts +9 -0
  806. package/es/extensions/forms/Field/CountryCode.js +66 -0
  807. package/es/extensions/forms/Field/CountryCode.js.map +1 -0
  808. package/es/extensions/forms/Field/Currency.d.ts +2 -3
  809. package/es/extensions/forms/Field/Currency.js +6 -37
  810. package/es/extensions/forms/Field/Currency.js.map +1 -1
  811. package/es/extensions/forms/Field/Date.d.ts +2 -3
  812. package/es/extensions/forms/Field/Date.js +15 -11
  813. package/es/extensions/forms/Field/Date.js.map +1 -1
  814. package/es/extensions/forms/Field/Number.d.ts +7 -4
  815. package/es/extensions/forms/Field/Number.js +47 -24
  816. package/es/extensions/forms/Field/Number.js.map +1 -1
  817. package/es/extensions/forms/Field/Option.d.ts +2 -3
  818. package/es/extensions/forms/Field/Option.js.map +1 -1
  819. package/es/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  820. package/es/extensions/forms/Field/PhoneNumber.js +46 -43
  821. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  822. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  823. package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  824. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  825. package/es/extensions/forms/Field/Selection.d.ts +6 -5
  826. package/es/extensions/forms/Field/Selection.js +88 -41
  827. package/es/extensions/forms/Field/Selection.js.map +1 -1
  828. package/es/extensions/forms/Field/String.d.ts +3 -4
  829. package/es/extensions/forms/Field/String.js +29 -17
  830. package/es/extensions/forms/Field/String.js.map +1 -1
  831. package/es/extensions/forms/Field/Toggle.d.ts +2 -3
  832. package/es/extensions/forms/Field/Toggle.js +16 -14
  833. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  834. package/es/extensions/forms/Field/fields.scss +2 -2
  835. package/es/extensions/forms/Field/index.d.ts +2 -4
  836. package/es/extensions/forms/Field/index.js +3 -5
  837. package/es/extensions/forms/Field/index.js.map +1 -1
  838. package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  839. package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  840. package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  841. package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
  842. package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  843. package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  844. package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  845. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  846. package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  847. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  848. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  849. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  850. package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
  851. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  852. package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
  853. package/es/extensions/forms/Field/style/index.scss +2 -0
  854. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  855. package/es/extensions/forms/FieldBlock/FieldBlock.js +80 -16
  856. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  857. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  858. package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  859. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  860. package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
  861. package/es/extensions/forms/FieldBlock/index.js +3 -1
  862. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  863. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  864. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  865. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  866. package/es/extensions/forms/Form/FormElement.d.ts +4 -0
  867. package/es/extensions/forms/Form/FormElement.js +31 -0
  868. package/es/extensions/forms/Form/FormElement.js.map +1 -0
  869. package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
  870. package/es/extensions/forms/Form/FormHandler.js +33 -0
  871. package/es/extensions/forms/Form/FormHandler.js.map +1 -0
  872. package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  873. package/es/extensions/forms/Form/SubmitButton.js +25 -0
  874. package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
  875. package/es/extensions/forms/Form/index.d.ts +9 -0
  876. package/es/extensions/forms/Form/index.js +10 -0
  877. package/es/extensions/forms/Form/index.js.map +1 -0
  878. package/es/extensions/forms/Iterate/Array.d.ts +17 -0
  879. package/es/extensions/forms/Iterate/Array.js +80 -0
  880. package/es/extensions/forms/Iterate/Array.js.map +1 -0
  881. package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  882. package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  883. package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  884. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  885. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  886. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  887. package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  888. package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
  889. package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  890. package/es/extensions/forms/Iterate/index.d.ts +11 -0
  891. package/es/extensions/forms/Iterate/index.js +12 -0
  892. package/es/extensions/forms/Iterate/index.js.map +1 -0
  893. package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  894. package/es/extensions/forms/Layout/ButtonRow.js +2 -2
  895. package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
  896. package/es/extensions/forms/Layout/Card.d.ts +1 -1
  897. package/es/extensions/forms/Layout/Card.js +5 -5
  898. package/es/extensions/forms/Layout/Card.js.map +1 -1
  899. package/es/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  900. package/es/extensions/forms/Layout/FlexContainer.js +6 -5
  901. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  902. package/es/extensions/forms/Layout/FlexItem.d.ts +2 -1
  903. package/es/extensions/forms/Layout/FlexItem.js +4 -3
  904. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  905. package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
  906. package/es/extensions/forms/Layout/MainHeading.js +10 -4
  907. package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
  908. package/es/extensions/forms/Layout/Section.d.ts +1 -1
  909. package/es/extensions/forms/Layout/Section.js +2 -2
  910. package/es/extensions/forms/Layout/Section.js.map +1 -1
  911. package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
  912. package/es/extensions/forms/Layout/SubHeading.js +10 -4
  913. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  914. package/es/extensions/forms/Layout/index.d.ts +0 -2
  915. package/es/extensions/forms/Layout/index.js +1 -3
  916. package/es/extensions/forms/Layout/index.js.map +1 -1
  917. package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
  918. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  919. package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
  920. package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  921. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  922. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  923. package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  924. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  925. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  926. package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  927. package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
  928. package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  929. package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  930. package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  931. package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  932. package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  933. package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
  934. package/es/extensions/forms/StepsLayout/Step.js +2 -2
  935. package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
  936. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  937. package/es/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  938. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  939. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  940. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  941. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  942. package/es/extensions/forms/Value/Boolean.d.ts +2 -3
  943. package/es/extensions/forms/Value/Boolean.js +4 -4
  944. package/es/extensions/forms/Value/Boolean.js.map +1 -1
  945. package/es/extensions/forms/Value/Number.d.ts +2 -3
  946. package/es/extensions/forms/Value/Number.js +5 -4
  947. package/es/extensions/forms/Value/Number.js.map +1 -1
  948. package/es/extensions/forms/Value/String.d.ts +2 -3
  949. package/es/extensions/forms/Value/String.js +4 -4
  950. package/es/extensions/forms/Value/String.js.map +1 -1
  951. package/es/extensions/forms/Value/index.d.ts +0 -4
  952. package/es/extensions/forms/Value/index.js +0 -4
  953. package/es/extensions/forms/Value/index.js.map +1 -1
  954. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  955. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  956. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  957. package/es/extensions/forms/ValueBlock/index.js.map +1 -1
  958. package/es/extensions/forms/hooks/index.d.ts +1 -0
  959. package/es/extensions/forms/hooks/index.js +1 -0
  960. package/es/extensions/forms/hooks/index.js.map +1 -0
  961. package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
  962. package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +90 -55
  963. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  964. package/es/extensions/forms/index.d.ts +4 -4
  965. package/es/extensions/forms/index.js +3 -2
  966. package/es/extensions/forms/index.js.map +1 -1
  967. package/es/extensions/forms/style/dnb-forms.css +105 -29
  968. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  969. package/es/extensions/forms/style/index.d.ts +1 -0
  970. package/es/extensions/forms/style/index.js +1 -0
  971. package/es/extensions/forms/style/index.js.map +1 -0
  972. package/es/extensions/forms/types.d.ts +95 -2
  973. package/es/extensions/forms/types.js +42 -0
  974. package/es/extensions/forms/types.js.map +1 -1
  975. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  976. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  977. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  978. package/es/extensions/forms/utils/index.d.ts +0 -1
  979. package/es/extensions/forms/utils/index.js +0 -1
  980. package/es/extensions/forms/utils/index.js.map +1 -1
  981. package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
  982. package/es/extensions/forms/utils/useWasChanged.js +51 -0
  983. package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
  984. package/es/extensions/forms/variables.scss +3 -0
  985. package/es/extensions/lib.d.ts +1 -2
  986. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  987. package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
  988. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  989. package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  990. package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  991. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  992. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  993. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  994. package/es/fragments/drawer-list/DrawerList.js +1 -1
  995. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  996. package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
  997. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  998. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  999. package/es/shared/Context.d.ts +2 -0
  1000. package/es/shared/Context.js.map +1 -1
  1001. package/es/shared/Eufemia.d.ts +1 -1
  1002. package/es/shared/Eufemia.js +2 -2
  1003. package/es/shared/Eufemia.js.map +1 -1
  1004. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  1005. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1006. package/es/shared/libs/Shortcuts.js.map +1 -1
  1007. package/es/shared/locales/en-GB.d.ts +1 -0
  1008. package/es/shared/locales/en-GB.js +1 -0
  1009. package/es/shared/locales/en-GB.js.map +1 -1
  1010. package/es/shared/locales/en-US.d.ts +1 -0
  1011. package/es/shared/locales/index.d.ts +2 -0
  1012. package/es/shared/locales/nb-NO.d.ts +1 -0
  1013. package/es/shared/locales/nb-NO.js +1 -0
  1014. package/es/shared/locales/nb-NO.js.map +1 -1
  1015. package/es/shared/useMedia.js +30 -21
  1016. package/es/shared/useMedia.js.map +1 -1
  1017. package/es/style/core/reset.scss +13 -3
  1018. package/es/style/core/utilities.scss +3 -1
  1019. package/es/style/dnb-ui-components.css +142 -20
  1020. package/es/style/dnb-ui-components.min.css +1 -1
  1021. package/es/style/dnb-ui-elements.css +23 -11
  1022. package/es/style/dnb-ui-elements.min.css +1 -1
  1023. package/es/style/dnb-ui-extensions.css +112 -36
  1024. package/es/style/dnb-ui-extensions.min.css +1 -1
  1025. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  1026. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1027. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  1028. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  1029. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  1030. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1031. package/es/style/themes/theme-sbanken/customisations.scss +3 -7
  1032. package/es/style/themes/theme-sbanken/properties.js +6 -6
  1033. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  1034. package/es/style/themes/theme-sbanken/properties.scss +6 -6
  1035. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  1036. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1037. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  1038. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  1039. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  1040. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  1041. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1042. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  1043. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1044. package/es/style/themes/theme-ui/fonts.scss +8 -4
  1045. package/es/style/themes/theme-ui/ui-theme-basis.css +25 -11
  1046. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1047. package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  1048. package/es/style/themes/theme-ui/ui-theme-components.css +173 -160
  1049. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  1050. package/es/style/themes/theme-ui/ui-theme-elements.css +23 -11
  1051. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1052. package/es/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  1053. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1054. package/es/style/themes/theme-ui/ui-theme-tags.css +20 -11
  1055. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1056. package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1057. package/esm/dnb-ui-basis.min.mjs +1 -1
  1058. package/esm/dnb-ui-components.min.mjs +1 -1
  1059. package/esm/dnb-ui-elements.min.mjs +1 -1
  1060. package/esm/dnb-ui-extensions.min.mjs +6 -6
  1061. package/esm/dnb-ui-lib.min.mjs +1 -1
  1062. package/extensions/forms/DataContext/At.d.ts +1 -1
  1063. package/extensions/forms/DataContext/At.js.map +1 -1
  1064. package/extensions/forms/DataContext/Context.d.ts +1 -0
  1065. package/extensions/forms/DataContext/Context.js +2 -1
  1066. package/extensions/forms/DataContext/Context.js.map +1 -1
  1067. package/extensions/forms/DataContext/Provider.js +7 -3
  1068. package/extensions/forms/DataContext/Provider.js.map +1 -1
  1069. package/extensions/forms/DataContext/index.d.ts +0 -2
  1070. package/extensions/forms/DataContext/index.js +0 -2
  1071. package/extensions/forms/DataContext/index.js.map +1 -1
  1072. package/extensions/forms/Field/ArraySelection.d.ts +4 -4
  1073. package/extensions/forms/Field/ArraySelection.js +52 -36
  1074. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  1075. package/extensions/forms/Field/CountryCode.d.ts +9 -0
  1076. package/extensions/forms/Field/CountryCode.js +67 -0
  1077. package/extensions/forms/Field/CountryCode.js.map +1 -0
  1078. package/extensions/forms/Field/Currency.d.ts +2 -3
  1079. package/extensions/forms/Field/Currency.js +6 -38
  1080. package/extensions/forms/Field/Currency.js.map +1 -1
  1081. package/extensions/forms/Field/Date.d.ts +2 -3
  1082. package/extensions/forms/Field/Date.js +15 -11
  1083. package/extensions/forms/Field/Date.js.map +1 -1
  1084. package/extensions/forms/Field/Number.d.ts +7 -4
  1085. package/extensions/forms/Field/Number.js +47 -24
  1086. package/extensions/forms/Field/Number.js.map +1 -1
  1087. package/extensions/forms/Field/Option.d.ts +2 -3
  1088. package/extensions/forms/Field/Option.js.map +1 -1
  1089. package/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  1090. package/extensions/forms/Field/PhoneNumber.js +46 -45
  1091. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  1092. package/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  1093. package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  1094. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  1095. package/extensions/forms/Field/Selection.d.ts +6 -5
  1096. package/extensions/forms/Field/Selection.js +90 -42
  1097. package/extensions/forms/Field/Selection.js.map +1 -1
  1098. package/extensions/forms/Field/String.d.ts +3 -4
  1099. package/extensions/forms/Field/String.js +29 -17
  1100. package/extensions/forms/Field/String.js.map +1 -1
  1101. package/extensions/forms/Field/Toggle.d.ts +2 -3
  1102. package/extensions/forms/Field/Toggle.js +16 -14
  1103. package/extensions/forms/Field/Toggle.js.map +1 -1
  1104. package/extensions/forms/Field/fields.scss +2 -2
  1105. package/extensions/forms/Field/index.d.ts +2 -4
  1106. package/extensions/forms/Field/index.js +3 -5
  1107. package/extensions/forms/Field/index.js.map +1 -1
  1108. package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  1109. package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  1110. package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  1111. package/extensions/forms/Field/style/dnb-country-code.css +12 -0
  1112. package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  1113. package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  1114. package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  1115. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  1116. package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  1117. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  1118. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  1119. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  1120. package/extensions/forms/Field/style/dnb-selection.css +5 -2
  1121. package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  1122. package/extensions/forms/Field/style/dnb-selection.scss +7 -1
  1123. package/extensions/forms/Field/style/index.scss +2 -0
  1124. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  1125. package/extensions/forms/FieldBlock/FieldBlock.js +86 -16
  1126. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1127. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  1128. package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  1129. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  1130. package/extensions/forms/FieldBlock/index.d.ts +1 -0
  1131. package/extensions/forms/FieldBlock/index.js +3 -1
  1132. package/extensions/forms/FieldBlock/index.js.map +1 -1
  1133. package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  1134. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1135. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  1136. package/extensions/forms/Form/FormElement.d.ts +4 -0
  1137. package/extensions/forms/Form/FormElement.js +31 -0
  1138. package/extensions/forms/Form/FormElement.js.map +1 -0
  1139. package/extensions/forms/Form/FormHandler.d.ts +6 -0
  1140. package/extensions/forms/Form/FormHandler.js +33 -0
  1141. package/extensions/forms/Form/FormHandler.js.map +1 -0
  1142. package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  1143. package/extensions/forms/Form/SubmitButton.js +25 -0
  1144. package/extensions/forms/Form/SubmitButton.js.map +1 -0
  1145. package/extensions/forms/Form/index.d.ts +9 -0
  1146. package/extensions/forms/Form/index.js +10 -0
  1147. package/extensions/forms/Form/index.js.map +1 -0
  1148. package/extensions/forms/Iterate/Array.d.ts +17 -0
  1149. package/extensions/forms/Iterate/Array.js +81 -0
  1150. package/extensions/forms/Iterate/Array.js.map +1 -0
  1151. package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  1152. package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  1153. package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  1154. package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  1155. package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  1156. package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  1157. package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  1158. package/extensions/forms/Iterate/IterateElementContext.js +4 -0
  1159. package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  1160. package/extensions/forms/Iterate/index.d.ts +11 -0
  1161. package/extensions/forms/Iterate/index.js +12 -0
  1162. package/extensions/forms/Iterate/index.js.map +1 -0
  1163. package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  1164. package/extensions/forms/Layout/ButtonRow.js +2 -2
  1165. package/extensions/forms/Layout/ButtonRow.js.map +1 -1
  1166. package/extensions/forms/Layout/Card.d.ts +1 -1
  1167. package/extensions/forms/Layout/Card.js +5 -5
  1168. package/extensions/forms/Layout/Card.js.map +1 -1
  1169. package/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  1170. package/extensions/forms/Layout/FlexContainer.js +6 -5
  1171. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  1172. package/extensions/forms/Layout/FlexItem.d.ts +2 -1
  1173. package/extensions/forms/Layout/FlexItem.js +4 -3
  1174. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  1175. package/extensions/forms/Layout/MainHeading.d.ts +4 -2
  1176. package/extensions/forms/Layout/MainHeading.js +10 -4
  1177. package/extensions/forms/Layout/MainHeading.js.map +1 -1
  1178. package/extensions/forms/Layout/Section.d.ts +1 -1
  1179. package/extensions/forms/Layout/Section.js +2 -2
  1180. package/extensions/forms/Layout/Section.js.map +1 -1
  1181. package/extensions/forms/Layout/SubHeading.d.ts +4 -2
  1182. package/extensions/forms/Layout/SubHeading.js +10 -4
  1183. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  1184. package/extensions/forms/Layout/index.d.ts +0 -2
  1185. package/extensions/forms/Layout/index.js +1 -3
  1186. package/extensions/forms/Layout/index.js.map +1 -1
  1187. package/extensions/forms/Layout/style/dnb-card.css +3 -3
  1188. package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  1189. package/extensions/forms/Layout/style/dnb-card.scss +6 -4
  1190. package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  1191. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  1192. package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  1193. package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  1194. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  1195. package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  1196. package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  1197. package/extensions/forms/StepsLayout/Buttons.js +2 -2
  1198. package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  1199. package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  1200. package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  1201. package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  1202. package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  1203. package/extensions/forms/StepsLayout/Step.d.ts +1 -1
  1204. package/extensions/forms/StepsLayout/Step.js +2 -2
  1205. package/extensions/forms/StepsLayout/Step.js.map +1 -1
  1206. package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  1207. package/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  1208. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1209. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  1210. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1211. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  1212. package/extensions/forms/Value/Boolean.d.ts +2 -3
  1213. package/extensions/forms/Value/Boolean.js +4 -4
  1214. package/extensions/forms/Value/Boolean.js.map +1 -1
  1215. package/extensions/forms/Value/Number.d.ts +2 -3
  1216. package/extensions/forms/Value/Number.js +5 -4
  1217. package/extensions/forms/Value/Number.js.map +1 -1
  1218. package/extensions/forms/Value/String.d.ts +2 -3
  1219. package/extensions/forms/Value/String.js +4 -4
  1220. package/extensions/forms/Value/String.js.map +1 -1
  1221. package/extensions/forms/Value/index.d.ts +0 -4
  1222. package/extensions/forms/Value/index.js +0 -4
  1223. package/extensions/forms/Value/index.js.map +1 -1
  1224. package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  1225. package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  1226. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  1227. package/extensions/forms/ValueBlock/index.js.map +1 -1
  1228. package/extensions/forms/hooks/index.d.ts +1 -0
  1229. package/extensions/forms/hooks/index.js +1 -0
  1230. package/extensions/forms/hooks/index.js.map +1 -0
  1231. package/extensions/forms/hooks/useDataValue.d.ts +12 -0
  1232. package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +90 -53
  1233. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  1234. package/extensions/forms/index.d.ts +4 -4
  1235. package/extensions/forms/index.js +3 -2
  1236. package/extensions/forms/index.js.map +1 -1
  1237. package/extensions/forms/style/dnb-forms.css +105 -29
  1238. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1239. package/extensions/forms/style/index.d.ts +1 -0
  1240. package/extensions/forms/style/index.js +1 -0
  1241. package/extensions/forms/style/index.js.map +1 -0
  1242. package/extensions/forms/types.d.ts +95 -2
  1243. package/extensions/forms/types.js +60 -0
  1244. package/extensions/forms/types.js.map +1 -1
  1245. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  1246. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  1247. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  1248. package/extensions/forms/utils/index.d.ts +0 -1
  1249. package/extensions/forms/utils/index.js +0 -1
  1250. package/extensions/forms/utils/index.js.map +1 -1
  1251. package/extensions/forms/utils/useWasChanged.d.ts +5 -0
  1252. package/extensions/forms/utils/useWasChanged.js +56 -0
  1253. package/extensions/forms/utils/useWasChanged.js.map +1 -0
  1254. package/extensions/forms/variables.scss +3 -0
  1255. package/extensions/lib.d.ts +1 -2
  1256. package/extensions/payment-card/PaymentCard.js.map +1 -1
  1257. package/extensions/payment-card/style/dnb-payment-card.css +7 -7
  1258. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  1259. package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  1260. package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  1261. package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  1262. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  1263. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  1264. package/fragments/drawer-list/DrawerList.js +1 -1
  1265. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1266. package/fragments/drawer-list/DrawerListPortal.js +2 -2
  1267. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  1268. package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  1269. package/package.json +2 -1
  1270. package/shared/Context.d.ts +2 -0
  1271. package/shared/Context.js.map +1 -1
  1272. package/shared/Eufemia.d.ts +1 -1
  1273. package/shared/Eufemia.js +2 -2
  1274. package/shared/Eufemia.js.map +1 -1
  1275. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1276. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1277. package/shared/libs/Shortcuts.js.map +1 -1
  1278. package/shared/locales/en-GB.d.ts +1 -0
  1279. package/shared/locales/en-GB.js +1 -0
  1280. package/shared/locales/en-GB.js.map +1 -1
  1281. package/shared/locales/en-US.d.ts +1 -0
  1282. package/shared/locales/index.d.ts +2 -0
  1283. package/shared/locales/nb-NO.d.ts +1 -0
  1284. package/shared/locales/nb-NO.js +1 -0
  1285. package/shared/locales/nb-NO.js.map +1 -1
  1286. package/shared/useMedia.js +33 -23
  1287. package/shared/useMedia.js.map +1 -1
  1288. package/style/core/reset.scss +13 -3
  1289. package/style/core/utilities.scss +3 -1
  1290. package/style/dnb-ui-components.css +142 -20
  1291. package/style/dnb-ui-components.min.css +1 -1
  1292. package/style/dnb-ui-elements.css +23 -11
  1293. package/style/dnb-ui-elements.min.css +1 -1
  1294. package/style/dnb-ui-extensions.css +112 -36
  1295. package/style/dnb-ui-extensions.min.css +1 -1
  1296. package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  1297. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1298. package/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  1299. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  1300. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  1301. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1302. package/style/themes/theme-sbanken/customisations.scss +3 -7
  1303. package/style/themes/theme-sbanken/properties.js +6 -6
  1304. package/style/themes/theme-sbanken/properties.js.map +1 -1
  1305. package/style/themes/theme-sbanken/properties.scss +6 -6
  1306. package/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  1307. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1308. package/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  1309. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  1310. package/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  1311. package/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  1312. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1313. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  1314. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1315. package/style/themes/theme-ui/fonts.scss +8 -4
  1316. package/style/themes/theme-ui/ui-theme-basis.css +25 -11
  1317. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1318. package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  1319. package/style/themes/theme-ui/ui-theme-components.css +173 -160
  1320. package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  1321. package/style/themes/theme-ui/ui-theme-elements.css +23 -11
  1322. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1323. package/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  1324. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1325. package/style/themes/theme-ui/ui-theme-tags.css +20 -11
  1326. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1327. package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1328. package/umd/dnb-ui-basis.min.js +1 -1
  1329. package/umd/dnb-ui-components.min.js +1 -1
  1330. package/umd/dnb-ui-elements.min.js +1 -1
  1331. package/umd/dnb-ui-extensions.min.js +6 -6
  1332. package/umd/dnb-ui-lib.min.js +1 -1
  1333. package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1334. package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
  1335. package/cjs/extensions/forms/Field/FirstName.js +0 -31
  1336. package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
  1337. package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
  1338. package/cjs/extensions/forms/Field/LastName.js +0 -31
  1339. package/cjs/extensions/forms/Field/LastName.js.map +0 -1
  1340. package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
  1341. package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
  1342. package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1343. package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
  1344. package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1345. package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
  1346. package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1347. package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
  1348. package/cjs/extensions/forms/FieldGroup/index.js +0 -27
  1349. package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
  1350. package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1351. package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
  1352. package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1353. package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
  1354. package/cjs/extensions/forms/Value/FirstName.js +0 -28
  1355. package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
  1356. package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
  1357. package/cjs/extensions/forms/Value/LastName.js +0 -28
  1358. package/cjs/extensions/forms/Value/LastName.js.map +0 -1
  1359. package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
  1360. package/cjs/extensions/forms/Value/hooks/index.js +0 -14
  1361. package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
  1362. package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1363. package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
  1364. package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1365. package/cjs/extensions/forms/component-types.d.ts +0 -4
  1366. package/cjs/extensions/forms/component-types.js +0 -1
  1367. package/cjs/extensions/forms/component-types.js.map +0 -1
  1368. package/cjs/extensions/forms/field-types.d.ts +0 -52
  1369. package/cjs/extensions/forms/field-types.js +0 -1
  1370. package/cjs/extensions/forms/field-types.js.map +0 -1
  1371. package/cjs/extensions/forms/utils/components.d.ts +0 -3
  1372. package/cjs/extensions/forms/utils/components.js +0 -32
  1373. package/cjs/extensions/forms/utils/components.js.map +0 -1
  1374. package/cjs/extensions/forms/value-types.d.ts +0 -15
  1375. package/cjs/extensions/forms/value-types.js +0 -1
  1376. package/cjs/extensions/forms/value-types.js.map +0 -1
  1377. package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
  1378. package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1379. package/es/extensions/forms/Field/FirstName.d.ts +0 -7
  1380. package/es/extensions/forms/Field/FirstName.js +0 -19
  1381. package/es/extensions/forms/Field/FirstName.js.map +0 -1
  1382. package/es/extensions/forms/Field/LastName.d.ts +0 -7
  1383. package/es/extensions/forms/Field/LastName.js +0 -19
  1384. package/es/extensions/forms/Field/LastName.js.map +0 -1
  1385. package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
  1386. package/es/extensions/forms/Field/hooks/index.js +0 -1
  1387. package/es/extensions/forms/Field/hooks/index.js.map +0 -1
  1388. package/es/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1389. package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
  1390. package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1391. package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
  1392. package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1393. package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
  1394. package/es/extensions/forms/FieldGroup/index.js +0 -3
  1395. package/es/extensions/forms/FieldGroup/index.js.map +0 -1
  1396. package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1397. package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
  1398. package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1399. package/es/extensions/forms/Value/FirstName.d.ts +0 -7
  1400. package/es/extensions/forms/Value/FirstName.js +0 -16
  1401. package/es/extensions/forms/Value/FirstName.js.map +0 -1
  1402. package/es/extensions/forms/Value/LastName.d.ts +0 -7
  1403. package/es/extensions/forms/Value/LastName.js +0 -16
  1404. package/es/extensions/forms/Value/LastName.js.map +0 -1
  1405. package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
  1406. package/es/extensions/forms/Value/hooks/index.js +0 -1
  1407. package/es/extensions/forms/Value/hooks/index.js.map +0 -1
  1408. package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1409. package/es/extensions/forms/Value/hooks/useValue.js +0 -22
  1410. package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1411. package/es/extensions/forms/component-types.d.ts +0 -4
  1412. package/es/extensions/forms/component-types.js +0 -1
  1413. package/es/extensions/forms/component-types.js.map +0 -1
  1414. package/es/extensions/forms/field-types.d.ts +0 -52
  1415. package/es/extensions/forms/field-types.js +0 -1
  1416. package/es/extensions/forms/field-types.js.map +0 -1
  1417. package/es/extensions/forms/utils/components.d.ts +0 -3
  1418. package/es/extensions/forms/utils/components.js +0 -23
  1419. package/es/extensions/forms/utils/components.js.map +0 -1
  1420. package/es/extensions/forms/value-types.d.ts +0 -15
  1421. package/es/extensions/forms/value-types.js +0 -1
  1422. package/es/extensions/forms/value-types.js.map +0 -1
  1423. package/extensions/forms/DataContext/SubmitButton.js +0 -20
  1424. package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1425. package/extensions/forms/Field/FirstName.d.ts +0 -7
  1426. package/extensions/forms/Field/FirstName.js +0 -19
  1427. package/extensions/forms/Field/FirstName.js.map +0 -1
  1428. package/extensions/forms/Field/LastName.d.ts +0 -7
  1429. package/extensions/forms/Field/LastName.js +0 -19
  1430. package/extensions/forms/Field/LastName.js.map +0 -1
  1431. package/extensions/forms/Field/hooks/index.d.ts +0 -1
  1432. package/extensions/forms/Field/hooks/index.js +0 -1
  1433. package/extensions/forms/Field/hooks/index.js.map +0 -1
  1434. package/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1435. package/extensions/forms/Field/hooks/useField.js.map +0 -1
  1436. package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1437. package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
  1438. package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1439. package/extensions/forms/FieldGroup/index.d.ts +0 -2
  1440. package/extensions/forms/FieldGroup/index.js +0 -3
  1441. package/extensions/forms/FieldGroup/index.js.map +0 -1
  1442. package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1443. package/extensions/forms/Layout/InfoCardSection.js +0 -17
  1444. package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1445. package/extensions/forms/Value/FirstName.d.ts +0 -7
  1446. package/extensions/forms/Value/FirstName.js +0 -16
  1447. package/extensions/forms/Value/FirstName.js.map +0 -1
  1448. package/extensions/forms/Value/LastName.d.ts +0 -7
  1449. package/extensions/forms/Value/LastName.js +0 -16
  1450. package/extensions/forms/Value/LastName.js.map +0 -1
  1451. package/extensions/forms/Value/hooks/index.d.ts +0 -1
  1452. package/extensions/forms/Value/hooks/index.js +0 -1
  1453. package/extensions/forms/Value/hooks/index.js.map +0 -1
  1454. package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1455. package/extensions/forms/Value/hooks/useValue.js +0 -22
  1456. package/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1457. package/extensions/forms/component-types.d.ts +0 -4
  1458. package/extensions/forms/component-types.js +0 -1
  1459. package/extensions/forms/component-types.js.map +0 -1
  1460. package/extensions/forms/field-types.d.ts +0 -52
  1461. package/extensions/forms/field-types.js +0 -1
  1462. package/extensions/forms/field-types.js.map +0 -1
  1463. package/extensions/forms/utils/components.d.ts +0 -3
  1464. package/extensions/forms/utils/components.js +0 -23
  1465. package/extensions/forms/utils/components.js.map +0 -1
  1466. package/extensions/forms/value-types.d.ts +0 -15
  1467. package/extensions/forms/value-types.js +0 -1
  1468. package/extensions/forms/value-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","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","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","open_state","_open_state","hide","isTrue","no_animation","modalActive","constructor","_this","this","event","showModal","preventDefault","toggleNow","animation_duration","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n class: null,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(props.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(props.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.props\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay, no_animation } = this.props\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive } = this.state\n const { close_modal, open_state, animation_duration } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n\n this.setActiveState(this._id)\n } else if (modalActive === false) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n }, parseFloat(String(animation_duration)) / 3)\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.class,\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","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","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","open_state","_open_state","hide","isTrue","no_animation","modalActive","constructor","_this","this","event","showModal","preventDefault","toggleNow","animation_duration","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n class: null,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(props.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(props.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.props\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay, no_animation } = this.props\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive } = this.state\n const { close_modal, open_state, animation_duration } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n\n this.setActiveState(this._id)\n } else if (modalActive === false) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(\n () => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n },\n parseFloat(String(animation_duration)) / 3\n )\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.class,\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
@@ -211,11 +211,13 @@ class ModalContent extends _react.default.PureComponent {
211
211
  clearTimeout(this._focusTimeout);
212
212
  this._focusTimeout = setTimeout(() => {
213
213
  try {
214
+ var _focusElement, _focusElement$focus, _focusElement2, _focusElement2$select;
214
215
  let focusElement = elem;
215
216
  if (typeof focus_selector === 'string') {
216
217
  focusElement = elem.querySelector(focus_selector);
217
218
  }
218
- focusElement.focus();
219
+ (_focusElement = focusElement) === null || _focusElement === void 0 ? void 0 : (_focusElement$focus = _focusElement.focus) === null || _focusElement$focus === void 0 ? void 0 : _focusElement$focus.call(_focusElement);
220
+ (_focusElement2 = focusElement) === null || _focusElement2 === void 0 ? void 0 : (_focusElement2$select = _focusElement2.select) === null || _focusElement2$select === void 0 ? void 0 : _focusElement2$select.call(_focusElement2);
219
221
  const noH1Elem = elem.querySelector('h1, h2, h3');
220
222
  if ((noH1Elem === null || noH1Elem === void 0 ? void 0 : noH1Elem.tagName) !== 'H1') {
221
223
  (0, _componentHelper.warn)('A Dialog or Drawer needs a h1 as its first element!');
@@ -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":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AASA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAEA,IAAAO,SAAA,GAAAP,OAAA;AAMA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAAsC,MAAAU,SAAA;EAAAC,UAAA;AAAA,SAAAZ,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAhB,MAAA,CAAAgB,IAAA,CAAAF,MAAA,OAAAd,MAAA,CAAAiB,qBAAA,QAAAC,OAAA,GAAAlB,MAAA,CAAAiB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAApB,MAAA,CAAAqB,wBAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAE,UAAA,OAAAN,IAAA,CAAAO,IAAA,CAAAX,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAArB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAS,OAAA,CAAAb,MAAA,CAAAO,MAAA,OAAAkB,OAAA,WAAAjB,GAAA,IAAAkB,eAAA,CAAAvB,MAAA,EAAAK,GAAA,EAAAD,MAAA,CAAAC,GAAA,SAAAR,MAAA,CAAA2B,yBAAA,GAAA3B,MAAA,CAAA4B,gBAAA,CAAAzB,MAAA,EAAAH,MAAA,CAAA2B,yBAAA,CAAApB,MAAA,KAAAM,OAAA,CAAAb,MAAA,CAAAO,MAAA,GAAAkB,OAAA,WAAAjB,GAAA,IAAAR,MAAA,CAAA6B,cAAA,CAAA1B,MAAA,EAAAK,GAAA,EAAAR,MAAA,CAAAqB,wBAAA,CAAAd,MAAA,EAAAC,GAAA,iBAAAL,MAAA;AAAA,SAAA2B,yBAAAvB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,GAAA6B,6BAAA,CAAAzB,MAAA,EAAAwB,QAAA,OAAAvB,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAiB,qBAAA,QAAAgB,gBAAA,GAAAjC,MAAA,CAAAiB,qBAAA,CAAAV,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA6B,gBAAA,CAAA3B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAyB,gBAAA,CAAA7B,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAA0B,oBAAA,CAAAxB,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAA6B,8BAAAzB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,WAAAiC,UAAA,GAAApC,MAAA,CAAAgB,IAAA,CAAAT,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgC,UAAA,CAAA9B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAA4B,UAAA,CAAAhC,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAAA,SAAAuB,gBAAA9B,GAAA,EAAAY,GAAA,EAAA6B,KAAA,IAAA7B,GAAA,GAAA8B,cAAA,CAAA9B,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAA6B,cAAA,CAAAjC,GAAA,EAAAY,GAAA,IAAA6B,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA5C,GAAA,CAAAY,GAAA,IAAA6B,KAAA,WAAAzC,GAAA;AAAA,SAAA0C,eAAAG,GAAA,QAAAjC,GAAA,GAAAkC,YAAA,CAAAD,GAAA,2BAAAjC,GAAA,gBAAAA,GAAA,GAAAmC,MAAA,CAAAnC,GAAA;AAAA,SAAAkC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAnC,IAAA,CAAAiC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAmBvB,MAAMS,YAAY,SAASC,cAAK,CAACC,aAAa,CAG3D;EAiBAC,WAAWA,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,CAAC;IAAA/B,eAAA,gBAjBN;MAAEgC,WAAW,EAAE,IAAI;MAAEC,gBAAgB,EAAE,IAAI;MAAEC,KAAK,EAAE;IAAK,CAAC;IAAAlC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAkEvD,MAAM;MACf,MAAMmC,UAAU,GAAG,IAAAC,6BAAmB,EAAC,CAAC;MACxC,MAAMC,UAAU,GAAGF,UAAU,CAAC,CAAC,CAAC;MAEhC,IAAIE,UAAU,KAAK,IAAI,EAAE;QAAA,IAAAC,WAAA;QACvB,IAAI,CAACC,GAAG,GAAG,IAAIC,wCAAuB,CAAC,CAAC;QACxC,IAAI,CAACD,GAAG,CAACE,iBAAiB,CACxB,CAEE,uBAAuB,EACtB,cAAa,IAAI,CAACV,KAAK,CAACW,OAAO,IAAI,MAAO,EAAC,EAC3C,cAAa,IAAI,CAACX,KAAK,CAACW,OAAO,IAAI,MAAO,IAAG,EAM9C,IAAI,EAAAJ,WAAA,OAAI,CAACP,KAAK,cAAAO,WAAA,uBAAVA,WAAA,CAAYK,6BAA6B,KAAI,EAAE,CAAC,CACrD,CAAClD,MAAM,CAACmD,OAAO,CAClB,CAAC;QACD,IAAI,CAACL,GAAG,CAACM,QAAQ,CAAC,CAAC;MACrB,CAAC,MAAM;QACLV,UAAU,CAACpC,OAAO,CAAE+C,KAAK,IAAK;UAC5B,IACEA,KAAK,KAAK,IAAI,IACd,OAAOA,KAAK,CAACC,QAAQ,KAAK,WAAW,IACrC,OAAOD,KAAK,CAACE,UAAU,KAAK,WAAW,EACvC;YACAF,KAAK,CAACC,QAAQ,GAAG,IAAIP,wCAAuB,CAAC,CAAC;YAC9CM,KAAK,CAACC,QAAQ,CAACF,QAAQ,CAACC,KAAK,CAACE,UAAU,CAACC,OAAO,CAAC;UACnD;QACF,CAAC,CAAC;MACJ;MAEA,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;QAEnCA,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,gBAAgB,CAAC;MAC7D;IACF,CAAC;IAAApD,eAAA,8BAiDqB,MAAM;MAC1B,MAAM;QAAEqD,kBAAkB,GAAG;MAAK,CAAC,GAAG,IAAI,CAACtB,KAAK;MAChD,MAAMuB,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;MAExBG,YAAY,CAAC,IAAI,CAACC,oBAAoB,CAAC;MACvC,IAAI,CAACA,oBAAoB,GAAGC,UAAU,CAAC,MAAM;QAC3C,IAAI;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UACF,IACE,EAAAD,qBAAA,GAAAT,QAAQ,CAACW,aAAa,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBG,OAAO,KAAI,OAAO,IAC1C,EAAAF,sBAAA,GAAAV,QAAQ,CAACW,aAAa,cAAAD,sBAAA,uBAAtBA,sBAAA,CAAwBE,OAAO,KAAI,UAAU,EAC7C;YACAZ,QAAQ,CAACW,aAAa,CAACE,cAAc,CAAC,CAAC;UACzC;QACF,CAAC,CAAC,OAAOC,CAAC,EAAE,CAEZ;MACF,CAAC,EAAEV,eAAe,GAAG,CAAC,CAAC;IACzB,CAAC;IAAAtD,eAAA,uBAoDeiE,KAAK,IAAK;MACxB,IAAIA,KAAK,EAAE;QACTA,KAAK,CAACC,eAAe,CAAC,CAAC;MACzB;IACF,CAAC;IAAAlE,eAAA,8BAEsBiE,KAA2B,IAAK;MACrD,IAAI,CAACE,iBAAiB,CAACF,KAAK,EAAE;QAAEjC,WAAW,EAAE;MAAS,CAAC,CAAC;IAC1D,CAAC;IAAAhC,eAAA,oCAE4BiE,KAA2B,IAAK;MAC3D,IAAI,CAACG,gBAAgB,CAACnB,OAAO,GAC3BgB,KAAK,CAACxF,MAAM,KAAKwF,KAAK,CAACI,aAAa,GAC/BJ,KAAK,CAACxF,MAAM,GACb,IAAI;IACZ,CAAC;IAAAuB,eAAA,gCAEwBiE,KAA2B,IAAK;MAOvD,IAAI,IAAI,CAACG,gBAAgB,CAACnB,OAAO,KAAKgB,KAAK,CAACxF,MAAM,EAAE;QAClD;MACF;MACA,IAAI,CAAC2F,gBAAgB,CAACnB,OAAO,GAAG,IAAI;MAEpC,MAAM;QAAEqB;MAAsB,CAAC,GAAG,IAAI,CAACvC,KAAK;MAE5C,IAAI,CAAC,IAAAwC,uBAAM,EAACD,qBAAqB,CAAC,EAAE;QAClC,IAAI,CAACH,iBAAiB,CAACF,KAAK,EAAE;UAC5BjC,WAAW,EAAE,SAAS;UACtBwC,UAAU,EAAE;QACd,CAAC,CAAC;MACJ;IACF,CAAC;IAAAxE,eAAA,2BAEmBiE,KAAK,IAAK;MAC5B,QAAQ,IAAAQ,gBAAO,EAACR,KAAK,CAAC;QACpB,KAAK,KAAK;UAAE;YACV,MAAMS,WAAW,GAAG,IAAAC,sBAAY,EAAC,CAAC,CAAC,CAAC;YAEpC,IAAID,WAAW,KAAK,IAAI,EAAE;cACxBT,KAAK,CAACW,cAAc,CAAC,CAAC;cACtB,IAAI,CAACT,iBAAiB,CAACF,KAAK,EAAE;gBAC5BjC,WAAW,EAAE;cACf,CAAC,CAAC;YACJ;YAEA;UACF;MACF;IACF,CAAC;IAAAhC,eAAA,6BAYqBkC,KAAa,IAAK;MACtC,IAAI,CAAC2C,QAAQ,CAAC;QAAE3C;MAAM,CAAC,CAAC;IAC1B,CAAC;IAnRC,IAAI,CAAC4C,WAAW,GAAG,IAAI,CAAC/C,KAAK,CAACgD,WAAW,IAAInD,cAAK,CAACoD,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAChC,UAAU,GAAG,IAAI,CAACjB,KAAK,CAACkD,UAAU,IAAIrD,cAAK,CAACoD,SAAS,CAAC,CAAC;IAC5D,IAAI,CAACZ,gBAAgB,GAAGxC,cAAK,CAACoD,SAAS,CAAC,CAAC;IAGzC,IAAI,CAACE,GAAG,GAAGnD,KAAK,CAACoD,EAAE;EACrB;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MACJD,EAAE,GAAG,IAAI;MACTE,YAAY,GAAG,KAAK;MACpBhC,kBAAkB,GAAG;IACvB,CAAC,GAAG,IAAI,CAACtB,KAAK;IAEd,MAAMuB,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;IAIxB,IAAAiC,oBAAU,EAAC,IAAI,CAAC;IAIhB,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAE9B,IAAI,CAACC,QAAQ,CAAC,CAAC;IACf,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAE5B,IAAAC,2CAA0B,EAAC,IAAI,EAAE,SAAS,EAAE;MAC1CP;IACF,CAAC,CAAC;IAEF,IAAI,IAAAZ,uBAAM,EAACc,YAAY,CAAC,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MAC3D,IAAI,CAACC,QAAQ,CAAC,CAAC;IACjB,CAAC,MAAM;MACL,IAAI,CAACC,YAAY,GAAGrC,UAAU,CAAC,IAAI,CAACoC,QAAQ,EAAExC,eAAe,GAAG,GAAG,CAAC;IACtE;EACF;EAEA0C,oBAAoBA,CAAA,EAAG;IACrBxC,YAAY,CAAC,IAAI,CAACyC,aAAa,CAAC;IAChCzC,YAAY,CAAC,IAAI,CAACuC,YAAY,CAAC;IAC/B,IAAI,CAACG,WAAW,CAAC,CAAC;EACpB;EA0CAA,WAAWA,CAAA,EAAG;IACZ,MAAM/D,UAAU,GAAG,IAAAC,6BAAmB,EAAC,CAAC;IACxC,MAAMC,UAAU,GAAGF,UAAU,CAAC,CAAC,CAAC;IAEhC,IAAAgE,yBAAe,EAAC,IAAI,CAAC;IAErB,IAAI9D,UAAU,KAAK,IAAI,EAAE;MAAA,IAAA+D,SAAA;MACvB,CAAAA,SAAA,OAAI,CAAC7D,GAAG,cAAA6D,SAAA,uBAARA,SAAA,CAAUC,MAAM,CAAC,CAAC;MAClB,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAChC,CAAC,MAAM;MACL,IAAI;QACF,MAAMxD,KAAK,GAAGX,UAAU,CAACA,UAAU,CAACvD,MAAM,GAAG,CAAC,CAAC;QAC/C,IAAIkE,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACC,QAAQ,EAAE;UACpCD,KAAK,CAACC,QAAQ,CAACsD,MAAM,CAAC,CAAC;UACvB,OAAOvD,KAAK,CAACC,QAAQ;QACvB;MACF,CAAC,CAAC,OAAOiB,CAAC,EAAE;QACV,IAAAuC,qBAAI,EAACvC,CAAC,CAAC;MACT;IACF;IAEA,IAAI,CAACwC,wBAAwB,CAAC,CAAC;IAE/B,MAAMrB,EAAE,GAAG,IAAI,CAACpD,KAAK,CAACoD,EAAE;IACxB,MAAM;MAAEnD,WAAW;MAAEC;IAAiB,CAAC,GAAG,IAAI,CAACwE,KAAK;IACpD,IAAAf,2CAA0B,EAAC,IAAI,EAAE,UAAU,EAAE;MAC3CP,EAAE;MACFlB,KAAK,EAAEhC,gBAAgB;MACvBD,WAAW,EAAEA,WAAW,IAAI;IAC9B,CAAC,CAAC;IAEF,IAAI,OAAOkB,QAAQ,KAAK,WAAW,EAAE;MACnCA,QAAQ,CAACwD,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACtD,gBAAgB,CAAC;IAChE;EACF;EAEAqC,qBAAqBA,CAAA,EAAG;IACtB,IAAI,OAAOkB,MAAM,KAAK,WAAW,IAAI,IAAAC,kBAAS,EAAC,CAAC,EAAE;MAChDD,MAAM,CAACxD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC0D,mBAAmB,CAAC;IAC7D;EACF;EAEAL,wBAAwBA,CAAA,EAAG;IACzBG,MAAM,CAACD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACG,mBAAmB,CAAC;IAC9DrD,YAAY,CAAC,IAAI,CAACC,oBAAoB,CAAC;EACzC;EAwBA+B,QAAQA,CAAA,EAAG;IACT,MAAM;MACJsB,cAAc,GAAG,IAAI;MACrBzB,YAAY,GAAG,IAAI;MACnBhC,kBAAkB,GAAG;IACvB,CAAC,GAAG,IAAI,CAACtB,KAAK;IACd,MAAMgF,IAAI,GAAG,IAAI,CAACjC,WAAW,CAAC7B,OAAO;IACrC,MAAMK,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;IAExB,IAAI0D,IAAI,EAAE;MACRvD,YAAY,CAAC,IAAI,CAACyC,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAGvC,UAAU,CAC7B,MAAM;QACJ,IAAI;UACF,IAAIsD,YAAY,GAAGD,IAAI;UAGvB,IAAI,OAAOD,cAAc,KAAK,QAAQ,EAAE;YACtCE,YAAY,GAAGD,IAAI,CAACE,aAAa,CAACH,cAAc,CAAC;UACnD;UAEAE,YAAY,CAACE,KAAK,CAAC,CAAC;UAEpB,MAAMC,QAAQ,GAAGJ,IAAI,CAACE,aAAa,CAAC,YAAY,CAAC;UACjD,IAAI,CAAAE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAErD,OAAO,MAAK,IAAI,EAAE;YAC9B,IAAAyC,qBAAI,EAAC,qDAAqD,CAAC;UAC7D;QACF,CAAC,CAAC,OAAOvC,CAAC,EAAE;UACV,IAAAuC,qBAAI,EAACvC,CAAC,CAAC;QACT;MACF,CAAC,EACD,IAAAO,uBAAM,EAACc,YAAY,CAAC,GAAG,CAAC,GAAG/B,eAAe,IAAI,CAChD,CAAC;IACH;EACF;EAEAiC,uBAAuBA,CAAA,EAAG;IACxB,IAAI,IAAI,CAACvC,UAAU,CAACC,OAAO,EAAE;MAC3B,IAAAmE,iCAAiB,EAAC,IAAI,CAACpE,UAAU,CAACC,OAAO,CAAC;IAC5C;EACF;EAEAqD,uBAAuBA,CAAA,EAAG;IACxB,IAAAe,gCAAgB,EAAC,IAAI,CAACrE,UAAU,CAACC,OAAO,CAAC;IACzC,IAAAqE,uCAAuB,EAAC,CAAC;EAC3B;EA0DAnD,iBAAiBA,CAACF,KAAK,EAAAsD,IAAA,EAA8B;IAAA,IAAAC,cAAA;IAAA,IAA5B;QAAExF;MAAuB,CAAC,GAAAuF,IAAA;MAARE,MAAM,GAAArH,wBAAA,CAAAmH,IAAA,EAAAvJ,SAAA;IAC/CiG,KAAK,aAALA,KAAK,wBAAAuD,cAAA,GAALvD,KAAK,CAAEyD,OAAO,cAAAF,cAAA,uBAAdA,cAAA,CAAAvI,IAAA,CAAAgF,KAAiB,CAAC;IAClB,IAAI,CAACY,QAAQ,CAAC;MAAE7C,WAAW;MAAEC,gBAAgB,EAAEgC;IAAM,CAAC,EAAE,MAAM;MAC5D,IAAI,CAAClC,KAAK,CAAC4F,KAAK,CAAC1D,KAAK,EAAAnE,aAAA;QACpBkC;MAAW,GACRyF,MAAM,CACV,CAAC;IACJ,CAAC,CAAC;EACJ;EAMAG,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA;IACP,MAAAC,YAAA,GAoBI,IAAI,CAAC/F,KAAK;MApBR;QACJgG,IAAI;QACJC,KAAK;QACLC,WAAW;QACX9C,EAAE,EAAED,GAAG;QACPgD,WAAW,GAAG,MAAM;QACpBC,YAAY,GAAG,OAAO;QACtBC,iBAAiB,GAAG,KAAK;QACzBC,uBAAuB;QACvBhD,YAAY,GAAG,KAAK;QACpBiD,sBAAsB,GAAG,KAAK;QAC9BC,UAAU,GAAG,MAAM;QACnBC,mBAAmB,GAAG,OAAO;QAC7Bb,KAAK;QACLc,aAAa;QACbC,aAAa;QACbC,UAAU;QACVC,QAAQ;QACRC,WAAW,GAAG;MAEhB,CAAC,GAAAf,YAAA;MADIgB,IAAI,GAAA1I,wBAAA,CAAA0H,YAAA,EAAA7J,UAAA;IAET,MAAM;MAAEiE;IAAM,CAAC,GAAG,IAAI,CAACuE,KAAK;IAE5B,MAAMsC,SAAS,GAAGJ,UAAU,IAAI,IAAAK,6BAAY,EAAC,QAAQ,CAAC;IAEtD,MAAMC,aAAa,GAAG,EAAEC,eAAM,IAAIC,kBAAS,IAAIC,eAAM,CAAC;IACtD,IAAIC,IAAI,GAAGR,WAAW,IAAI,QAAQ;IAClC,IAAI,CAACI,aAAa,IAAII,IAAI,KAAK,QAAQ,EAAE;MACvCA,IAAI,GAAG,QAAQ;IACjB;IAEA,MAAMC,aAAa,GAAG;MAWpBD,IAAI;MACJ,YAAY,EAAEJ,aAAa,GAAG,IAAI,GAAG1H,SAAS;MAK9C,iBAAiB,EAAE,IAAAgI,kCAAiB,EAClC,IAAI,CAACxH,KAAK,EACViG,KAAK,GAAGe,SAAS,GAAG,QAAQ,GAAG,IAAI,EACnCd,WACF,CAAC;MACD,kBAAkB,EAAE,IAAAuB,mCAAkB,EACpC,IAAI,CAACzH,KAAK,EACVgH,SAAS,GAAG,UACd,CAAC;MAMD,YAAY,EAAE,CAACf,KAAK,IAAI,CAACC,WAAW,GAAGE,YAAY,GAAG5G,SAAS;MAE/DkI,SAAS,EAAE,IAAAC,mBAAU,EACnB,oBAAoB,EACpB,IAAAnF,uBAAM,EAACgE,UAAU,CAAC,GACd,gCAAgC,GAChCA,UAAU,KAAK,MAAM,IAAI,qCAAqC,EAIlE,IAAAoB,sBAAe,GAAA9B,aAAA,GAAC,IAAI,CAAC+B,OAAO,cAAA/B,aAAA,uBAAZA,aAAA,CAAcgC,KAAK,CAAC,EACpCpB,aAAa,EAJbD,mBAAmB,IACd,uBAAsBA,mBAAmB,IAAI,OAAQ,EAI5D,CAAC;MACDsB,WAAW,EAAE,IAAI,CAACC,yBAAyB;MAC3CC,OAAO,EAAE,IAAI,CAACC;IAChB,CAAC;IAED,MAAMC,OAAO,GACX,OAAOtB,QAAQ,KAAK,UAAU,GAC1BA,QAAQ,CAAA9I,aAAA,CAAAA,aAAA,KAAMgJ,IAAI;MAAEnB;IAAK,EAAE,CAAC,GAC5BiB,QAAQ;IAEd,OACExL,MAAA,CAAAgB,OAAA,CAAA+L,aAAA,CAACxM,aAAA,CAAAS,OAAY,CAACgM,QAAQ;MACpBzJ,KAAK,EAAE;QACLwE,EAAE,EAAE,IAAI,CAACpD,KAAK,CAACoD,EAAE;QACjB6C,KAAK;QACLI,iBAAiB;QACjBC,uBAAuB;QACvBH,WAAW;QACXH,IAAI;QACJsC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;QAC7CC,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BnH,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;QACvCoH,UAAU,EAAE,IAAI,CAAC1F,WAAW;QAC5B2F,SAAS,EAAE,IAAI,CAACzH,UAAU;QAC1B+F,SAAS;QACTpB;MACF;IAAE,GAEFvK,MAAA,CAAAgB,OAAA,CAAA+L,aAAA,QAAA9L,QAAA;MACE8G,EAAE,EAAE4D,SAAU;MAEd2B,KAAK,EACFxI,KAAK,GACF;QAAE,0BAA0B,EAAG,eAAcA,KAAM;MAAG,CAAC,GACvD;IACL,GACGoH,aAAa,GAEhBY,OACE,CAAC,EAEN9M,MAAA,CAAAgB,OAAA,CAAA+L,aAAA;MACEV,SAAS,EAAE,IAAAC,mBAAU,EACnB,oBAAoB,EAKpBhB,aAAa,EAJbX,IAAI,IAAI,0BAA0B,EAClC,IAAAxD,uBAAM,EAACc,YAAY,CAAC,IAAI,kCAAkC,EAC1D,IAAAd,uBAAM,EAAC+D,sBAAsB,CAAC,IAC5B,4CAEJ,CAAE;MACF,eAAa;IAAK,CACnB,CACoB,CAAC;EAE5B;AACF;AAACqC,OAAA,CAAAvM,OAAA,GAAAuD,YAAA;AAAA3B,eAAA,CA9aoB2B,YAAY,iBAgBViJ,eAAO"}
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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"}
@@ -61,15 +61,11 @@ class ModalHeaderBar extends _react.default.PureComponent {
61
61
  showShadow
62
62
  } = this.state;
63
63
  const {
64
- title,
65
64
  hide_close_button = false,
66
65
  close_button_attributes,
67
66
  onCloseClickHandler,
68
67
  close_title
69
68
  } = this.context;
70
- if (!title && (0, _componentHelper.isTrue)(hide_close_button) && !this._ref.current) {
71
- return null;
72
- }
73
69
  return _react.default.createElement(_Section.default, _extends({
74
70
  style_type: "white",
75
71
  className: (0, _classnames.default)('dnb-modal__header__bar', className, showShadow && shadow_class),
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeaderBar.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_Section","_ModalContext","_CloseButton","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ModalHeaderBar","React","PureComponent","constructor","props","showShadow","_ref","createRef","componentDidMount","window","IntersectionObserver","current","marginTop","clientHeight","intersectionObserver","entries","entry","setState","isIntersecting","rootMargin","threshold","observe","componentWillUnmount","_this$intersectionObs","disconnect","render","_this$props","className","children","ref","shadow_class","state","title","hide_close_button","close_button_attributes","onCloseClickHandler","close_title","context","isTrue","createElement","style_type","classnames","inner_ref","on_click","exports","ModalContext"],"sources":["../../../../../src/components/modal/parts/ModalHeaderBar.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { isTrue } from '../../../shared/component-helper'\nimport Section from '../../section/Section'\nimport ModalContext from '../ModalContext'\nimport CloseButton from './CloseButton'\nimport { SectionProps } from '../../Section'\nimport { ReactChildType } from '../types'\n\nexport interface ModalHeaderBarProps\n extends Omit<SectionProps, 'children'> {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * Give the inner content wrapper a class name (maps to `dnb-modal__content__inner`).\n */\n className?: string\n\n shadow_class?: string\n}\n\ninterface ModalHeaderBarState {\n showShadow: boolean\n}\n\nexport default class ModalHeaderBar extends React.PureComponent<\n ModalHeaderBarProps & Omit<React.HTMLProps<HTMLElement>, 'children'>,\n ModalHeaderBarState\n> {\n static contextType = ModalContext\n\n context!: React.ContextType<typeof ModalContext>\n\n _ref: React.RefObject<any>\n intersectionObserver: IntersectionObserver\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n }\n\n state = { showShadow: false }\n\n componentDidMount() {\n if (\n typeof window !== 'undefined' &&\n typeof IntersectionObserver !== 'undefined' &&\n this._ref.current\n ) {\n const marginTop = -this._ref.current.clientHeight\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n const [entry] = entries\n this.setState({\n showShadow: !entry.isIntersecting,\n })\n },\n {\n rootMargin: `${marginTop}px 0px 0px 0px`,\n threshold: 0.001,\n }\n )\n\n this.intersectionObserver.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this.intersectionObserver?.disconnect()\n }\n\n render() {\n const {\n className = null,\n children = null,\n ref, //eslint-disable-line\n shadow_class = null,\n ...props\n } = this.props\n const { showShadow } = this.state\n const {\n title,\n hide_close_button = false,\n close_button_attributes,\n onCloseClickHandler,\n close_title,\n } = this.context\n\n if (!title && isTrue(hide_close_button) && !this._ref.current) {\n return null\n }\n\n return (\n <Section\n style_type=\"white\"\n className={classnames(\n 'dnb-modal__header__bar',\n showShadow && shadow_class,\n className\n )}\n inner_ref={this._ref}\n {...props}\n >\n <div className=\"dnb-modal__header__bar__inner\">\n {children as React.ReactNode}\n </div>\n\n {!isTrue(hide_close_button) && (\n <div className=\"dnb-modal__header__bar__close\">\n <CloseButton\n on_click={onCloseClickHandler}\n close_title={close_title}\n {...close_button_attributes}\n />\n </div>\n )}\n </Section>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalHeaderBar.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_Section","_ModalContext","_CloseButton","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ModalHeaderBar","React","PureComponent","constructor","props","showShadow","_ref","createRef","componentDidMount","window","IntersectionObserver","current","marginTop","clientHeight","intersectionObserver","entries","entry","setState","isIntersecting","rootMargin","threshold","observe","componentWillUnmount","_this$intersectionObs","disconnect","render","_this$props","className","children","ref","shadow_class","state","hide_close_button","close_button_attributes","onCloseClickHandler","close_title","context","createElement","style_type","classnames","inner_ref","isTrue","on_click","exports","ModalContext"],"sources":["../../../../../src/components/modal/parts/ModalHeaderBar.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { isTrue } from '../../../shared/component-helper'\nimport Section from '../../section/Section'\nimport ModalContext from '../ModalContext'\nimport CloseButton from './CloseButton'\nimport { SectionProps } from '../../Section'\nimport { ReactChildType } from '../types'\n\nexport interface ModalHeaderBarProps\n extends Omit<SectionProps, 'children'> {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * Give the inner content wrapper a class name (maps to `dnb-modal__content__inner`).\n */\n className?: string\n\n shadow_class?: string\n}\n\ninterface ModalHeaderBarState {\n showShadow: boolean\n}\n\nexport default class ModalHeaderBar extends React.PureComponent<\n ModalHeaderBarProps & Omit<React.HTMLProps<HTMLElement>, 'children'>,\n ModalHeaderBarState\n> {\n static contextType = ModalContext\n\n context!: React.ContextType<typeof ModalContext>\n\n _ref: React.RefObject<any>\n intersectionObserver: IntersectionObserver\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n }\n\n state = { showShadow: false }\n\n componentDidMount() {\n if (\n typeof window !== 'undefined' &&\n typeof IntersectionObserver !== 'undefined' &&\n this._ref.current\n ) {\n const marginTop = -this._ref.current.clientHeight\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n const [entry] = entries\n this.setState({\n showShadow: !entry.isIntersecting,\n })\n },\n {\n rootMargin: `${marginTop}px 0px 0px 0px`,\n threshold: 0.001,\n }\n )\n\n this.intersectionObserver.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this.intersectionObserver?.disconnect()\n }\n\n render() {\n const {\n className = null,\n children = null,\n ref, //eslint-disable-line\n shadow_class = null,\n ...props\n } = this.props\n const { showShadow } = this.state\n const {\n hide_close_button = false,\n close_button_attributes,\n onCloseClickHandler,\n close_title,\n } = this.context\n\n return (\n <Section\n style_type=\"white\"\n className={classnames(\n 'dnb-modal__header__bar',\n showShadow && shadow_class,\n className\n )}\n inner_ref={this._ref}\n {...props}\n >\n <div className=\"dnb-modal__header__bar__inner\">\n {children as React.ReactNode}\n </div>\n\n {!isTrue(hide_close_button) && (\n <div className=\"dnb-modal__header__bar__close\">\n <CloseButton\n on_click={onCloseClickHandler}\n close_title={close_title}\n {...close_button_attributes}\n />\n </div>\n )}\n </Section>\n )\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_PaginationContext","_PaginationProvider","_componentHelper","_SpacingHelper","_PaginationHelpers","_PaginationInfinity","_PaginationBar","_InfinityScroller","_excluded","_excluded2","_excluded3","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","_extends","assign","bind","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","paginationPropTypes","process","env","NODE_ENV","startup_page","PropTypes","oneOfType","string","number","current_page","page_count","startup_count","parallel_load_count","place_maker_before_content","bool","min_wait_time","disabled","skeleton","mode","oneOf","use_load_button","items","array","hide_progress_indicator","set_content_handler","func","reset_content_handler","reset_pagination_handler","end_infinity_handler","page_element","node","fallback_element","marker_element","indicator_element","align","button_title","prev_title","next_title","more_pages","is_loading_text","load_button_text","spacingPropTypes","class","className","children","on_change","on_startup","on_load","on_end","paginationDefaultProps","Pagination","React","PureComponent","render","createElement","tagName","internalContent","props","PaginationInstance","exports","propTypes","constructor","_contentRef","createRef","extendPropsWithContextInClassComponent","context","getTranslation","_className","_disabled","_skeleton","_tagName","_page_count","_current_page","_startup_page","_mode","_hide_progress_indicator","_use_load_button","currentPage","_currentPage","attributes","pagination","_items$find","mainParams","classnames","createSpacingClasses","validateDOMAttributes","content","find","_ref","pageNumber","contentRef","PaginationContent","ref","PaginationIndicator","PaginationContext","InfinityMarker","_this$props","useMarkerOnly","forwardRef","_ref2","tabIndex","isRequired","Bar","PaginationBar","Content","PaginationWrapper","InfinityMarkerWrapper","createPagination","initProps","store","rerender","_setContent","_resetContent","_resetInfinity","_endInfinity","setContent","current","resetContent","resetInfinity","endInfinity","args","fn"],"sources":["../../../../src/components/pagination/Pagination.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport PaginationContext from './PaginationContext'\nimport PaginationProvider from './PaginationProvider'\nimport {\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport { PaginationIndicator } from './PaginationHelpers'\nimport InfinityScroller from './PaginationInfinity'\nimport PaginationBar from './PaginationBar'\n\n\nconst paginationPropTypes = {\n startup_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n current_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n page_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n startup_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n parallel_load_count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n place_maker_before_content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n min_wait_time: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n mode: PropTypes.oneOf(['pagination', 'infinity']),\n use_load_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n items: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n hide_progress_indicator: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n set_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_pagination_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n end_infinity_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n fallback_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n marker_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n indicator_element: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n align: PropTypes.string,\n button_title: PropTypes.string,\n prev_title: PropTypes.string,\n next_title: PropTypes.string,\n more_pages: PropTypes.string,\n is_loading_text: PropTypes.string,\n load_button_text: PropTypes.string,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_startup: PropTypes.func,\n on_load: PropTypes.func,\n on_end: PropTypes.func,\n}\n\nconst paginationDefaultProps = {\n startup_page: null,\n current_page: null,\n page_count: null,\n mode: 'pagination',\n use_load_button: false,\n items: null,\n hide_progress_indicator: false,\n set_content_handler: null,\n reset_content_handler: null,\n page_element: undefined,\n fallback_element: undefined,\n marker_element: undefined,\n indicator_element: undefined,\n align: 'left',\n button_title: null,\n prev_title: null,\n next_title: null,\n more_pages: null,\n is_loading_text: null,\n load_button_text: null,\n startup_count: 1,\n parallel_load_count: 1,\n place_maker_before_content: false,\n min_wait_time: 400,\n disabled: null,\n skeleton: null,\n\n class: null,\n className: null,\n children: null,\n\n on_change: null,\n on_startup: null,\n on_load: null,\n on_end: null,\n}\n\nexport default class Pagination extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n return (\n <PaginationProvider\n tagName=\"dnb-pagination\"\n internalContent={this.props.children}\n {...this.props}\n >\n <PaginationInstance {...this.props} />\n </PaginationProvider>\n )\n }\n}\n\nclass PaginationInstance extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n static contextType = PaginationContext\n\n constructor(props) {\n super(props)\n this._contentRef = React.createRef()\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n paginationDefaultProps,\n this.context.getTranslation(this.props).Pagination,\n this.context.Pagination\n )\n\n const {\n align,\n children,\n className,\n class: _className,\n\n disabled: _disabled, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n tagName: _tagName, // eslint-disable-line\n page_count: _page_count, // eslint-disable-line\n current_page: _current_page, // eslint-disable-line\n startup_page: _startup_page, // eslint-disable-line\n mode: _mode, // eslint-disable-line\n hide_progress_indicator: _hide_progress_indicator, // eslint-disable-line\n use_load_button: _use_load_button, // eslint-disable-line\n currentPage: _currentPage, // eslint-disable-line\n\n ...attributes\n } = props\n\n // our props\n const { currentPage, items, fallback_element, indicator_element } =\n this.context.pagination\n\n // Pagination mode\n if (this.context.pagination.mode === 'pagination') {\n const mainParams = {\n className: classnames(\n 'dnb-pagination',\n align && `dnb-pagination--${align}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n validateDOMAttributes(props, mainParams)\n\n const content = items.find(\n ({ pageNumber }) => pageNumber === currentPage\n )?.content\n\n return (\n <div {...mainParams}>\n <PaginationBar contentRef={this._contentRef}>\n {children}\n </PaginationBar>\n {items.length > 0 && (\n <PaginationContent ref={this._contentRef}>\n {content || (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </PaginationContent>\n )}\n </div>\n )\n }\n\n // InfinityScroller mode\n return <InfinityScroller />\n }\n}\n\nexport class InfinityMarker extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n const { children, ...props } = this.props\n return (\n <PaginationProvider\n useMarkerOnly\n tagName=\"dnb-infinity-marker\"\n {...props}\n >\n <InfinityScroller {...props}>{children}</InfinityScroller>\n </PaginationProvider>\n )\n }\n}\n\nconst PaginationContent = React.forwardRef(\n ({ children, ...props }, ref) => {\n return (\n <div\n className=\"dnb-pagination__content dnb-no-focus\"\n tabIndex=\"-1\"\n {...props}\n ref={ref}\n >\n {children}\n </div>\n )\n }\n)\nPaginationContent.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n}\n\n// NB: This is not ready yet\nPagination.Bar = PaginationBar\nPagination.Content = PaginationContent\n\nconst PaginationWrapper = Pagination\nconst InfinityMarkerWrapper = InfinityMarker\n\nexport const Bar = (props) => (\n <Pagination fallback_element={() => null} {...props} />\n)\n\nexport const createPagination = (initProps = {}) => {\n const store = React.createRef({})\n const rerender = React.createRef(null)\n const _setContent = React.createRef(null)\n const _resetContent = React.createRef(null)\n const _resetInfinity = React.createRef(null)\n const _endInfinity = React.createRef(null)\n\n const setContent = (pageNumber, content) => {\n if (pageNumber > 0) {\n store.current = { ...store.current, ...{ pageNumber, content } }\n rerender.current && rerender.current(store)\n }\n }\n const resetContent = () => {\n _resetContent.current && _resetContent.current()\n }\n const resetInfinity = () => {\n _resetInfinity.current && _resetInfinity.current()\n }\n const endInfinity = () => {\n _endInfinity.current && _endInfinity.current()\n }\n\n const args = (props) => ({\n ...{ ...initProps, ...props },\n store,\n rerender,\n set_content_handler: (fn) => (_setContent.current = fn),\n reset_content_handler: (fn) => (_resetContent.current = fn),\n reset_pagination_handler: (fn) => (_resetInfinity.current = fn),\n end_infinity_handler: (fn) => (_endInfinity.current = fn),\n })\n\n const Pagination = (props) => (\n <PaginationWrapper tagName=\"dnb-pagination\" {...args(props)} />\n )\n\n const InfinityMarker = (props) => (\n <InfinityMarkerWrapper\n tagName={InfinityMarkerWrapper?.tagName}\n {...args(props)}\n />\n )\n\n return {\n Pagination,\n InfinityMarker,\n setContent,\n resetContent,\n resetInfinity,\n endInfinity,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_PaginationContext","_PaginationProvider","_componentHelper","_SpacingHelper","_PaginationHelpers","_PaginationInfinity","_PaginationBar","_InfinityScroller","_excluded","_excluded2","_excluded3","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","_extends","assign","bind","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","paginationPropTypes","process","env","NODE_ENV","startup_page","PropTypes","oneOfType","string","number","current_page","page_count","startup_count","parallel_load_count","place_maker_before_content","bool","min_wait_time","disabled","skeleton","mode","oneOf","use_load_button","items","array","hide_progress_indicator","set_content_handler","func","reset_content_handler","reset_pagination_handler","end_infinity_handler","page_element","node","fallback_element","marker_element","indicator_element","align","button_title","prev_title","next_title","more_pages","is_loading_text","load_button_text","spacingPropTypes","class","className","children","on_change","on_startup","on_load","on_end","paginationDefaultProps","Pagination","React","PureComponent","render","createElement","tagName","internalContent","props","PaginationInstance","exports","propTypes","constructor","_contentRef","createRef","extendPropsWithContextInClassComponent","context","getTranslation","_className","_disabled","_skeleton","_tagName","_page_count","_current_page","_startup_page","_mode","_hide_progress_indicator","_use_load_button","currentPage","_currentPage","attributes","pagination","_items$find","mainParams","classnames","createSpacingClasses","validateDOMAttributes","content","find","_ref","pageNumber","contentRef","PaginationContent","ref","PaginationIndicator","PaginationContext","InfinityMarker","_this$props","useMarkerOnly","forwardRef","_ref2","tabIndex","isRequired","Bar","PaginationBar","Content","PaginationWrapper","InfinityMarkerWrapper","createPagination","initProps","store","rerender","_setContent","_resetContent","_resetInfinity","_endInfinity","setContent","current","resetContent","resetInfinity","endInfinity","args","fn"],"sources":["../../../../src/components/pagination/Pagination.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport PaginationContext from './PaginationContext'\nimport PaginationProvider from './PaginationProvider'\nimport {\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport { PaginationIndicator } from './PaginationHelpers'\nimport InfinityScroller from './PaginationInfinity'\nimport PaginationBar from './PaginationBar'\n\nconst paginationPropTypes = {\n startup_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n current_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n page_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n startup_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n parallel_load_count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n place_maker_before_content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n min_wait_time: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n mode: PropTypes.oneOf(['pagination', 'infinity']),\n use_load_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n items: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n hide_progress_indicator: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n set_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_pagination_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n end_infinity_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n fallback_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n marker_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n indicator_element: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n align: PropTypes.string,\n button_title: PropTypes.string,\n prev_title: PropTypes.string,\n next_title: PropTypes.string,\n more_pages: PropTypes.string,\n is_loading_text: PropTypes.string,\n load_button_text: PropTypes.string,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_startup: PropTypes.func,\n on_load: PropTypes.func,\n on_end: PropTypes.func,\n}\n\nconst paginationDefaultProps = {\n startup_page: null,\n current_page: null,\n page_count: null,\n mode: 'pagination',\n use_load_button: false,\n items: null,\n hide_progress_indicator: false,\n set_content_handler: null,\n reset_content_handler: null,\n page_element: undefined,\n fallback_element: undefined,\n marker_element: undefined,\n indicator_element: undefined,\n align: 'left',\n button_title: null,\n prev_title: null,\n next_title: null,\n more_pages: null,\n is_loading_text: null,\n load_button_text: null,\n startup_count: 1,\n parallel_load_count: 1,\n place_maker_before_content: false,\n min_wait_time: 400,\n disabled: null,\n skeleton: null,\n\n class: null,\n className: null,\n children: null,\n\n on_change: null,\n on_startup: null,\n on_load: null,\n on_end: null,\n}\n\nexport default class Pagination extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n return (\n <PaginationProvider\n tagName=\"dnb-pagination\"\n internalContent={this.props.children}\n {...this.props}\n >\n <PaginationInstance {...this.props} />\n </PaginationProvider>\n )\n }\n}\n\nclass PaginationInstance extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n static contextType = PaginationContext\n\n constructor(props) {\n super(props)\n this._contentRef = React.createRef()\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n paginationDefaultProps,\n this.context.getTranslation(this.props).Pagination,\n this.context.Pagination\n )\n\n const {\n align,\n children,\n className,\n class: _className,\n\n disabled: _disabled, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n tagName: _tagName, // eslint-disable-line\n page_count: _page_count, // eslint-disable-line\n current_page: _current_page, // eslint-disable-line\n startup_page: _startup_page, // eslint-disable-line\n mode: _mode, // eslint-disable-line\n hide_progress_indicator: _hide_progress_indicator, // eslint-disable-line\n use_load_button: _use_load_button, // eslint-disable-line\n currentPage: _currentPage, // eslint-disable-line\n\n ...attributes\n } = props\n\n // our props\n const { currentPage, items, fallback_element, indicator_element } =\n this.context.pagination\n\n // Pagination mode\n if (this.context.pagination.mode === 'pagination') {\n const mainParams = {\n className: classnames(\n 'dnb-pagination',\n align && `dnb-pagination--${align}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n validateDOMAttributes(props, mainParams)\n\n const content = items.find(\n ({ pageNumber }) => pageNumber === currentPage\n )?.content\n\n return (\n <div {...mainParams}>\n <PaginationBar contentRef={this._contentRef}>\n {children}\n </PaginationBar>\n {items.length > 0 && (\n <PaginationContent ref={this._contentRef}>\n {content || (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </PaginationContent>\n )}\n </div>\n )\n }\n\n // InfinityScroller mode\n return <InfinityScroller />\n }\n}\n\nexport class InfinityMarker extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n const { children, ...props } = this.props\n return (\n <PaginationProvider\n useMarkerOnly\n tagName=\"dnb-infinity-marker\"\n {...props}\n >\n <InfinityScroller {...props}>{children}</InfinityScroller>\n </PaginationProvider>\n )\n }\n}\n\nconst PaginationContent = React.forwardRef(\n ({ children, ...props }, ref) => {\n return (\n <div\n className=\"dnb-pagination__content dnb-no-focus\"\n tabIndex=\"-1\"\n {...props}\n ref={ref}\n >\n {children}\n </div>\n )\n }\n)\nPaginationContent.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n}\n\n// NB: This is not ready yet\nPagination.Bar = PaginationBar\nPagination.Content = PaginationContent\n\nconst PaginationWrapper = Pagination\nconst InfinityMarkerWrapper = InfinityMarker\n\nexport const Bar = (props) => (\n <Pagination fallback_element={() => null} {...props} />\n)\n\nexport const createPagination = (initProps = {}) => {\n const store = React.createRef({})\n const rerender = React.createRef(null)\n const _setContent = React.createRef(null)\n const _resetContent = React.createRef(null)\n const _resetInfinity = React.createRef(null)\n const _endInfinity = React.createRef(null)\n\n const setContent = (pageNumber, content) => {\n if (pageNumber > 0) {\n store.current = { ...store.current, ...{ pageNumber, content } }\n rerender.current && rerender.current(store)\n }\n }\n const resetContent = () => {\n _resetContent.current && _resetContent.current()\n }\n const resetInfinity = () => {\n _resetInfinity.current && _resetInfinity.current()\n }\n const endInfinity = () => {\n _endInfinity.current && _endInfinity.current()\n }\n\n const args = (props) => ({\n ...{ ...initProps, ...props },\n store,\n rerender,\n set_content_handler: (fn) => (_setContent.current = fn),\n reset_content_handler: (fn) => (_resetContent.current = fn),\n reset_pagination_handler: (fn) => (_resetInfinity.current = fn),\n end_infinity_handler: (fn) => (_endInfinity.current = fn),\n })\n\n const Pagination = (props) => (\n <PaginationWrapper tagName=\"dnb-pagination\" {...args(props)} />\n )\n\n const InfinityMarker = (props) => (\n <InfinityMarkerWrapper\n tagName={InfinityMarkerWrapper?.tagName}\n {...args(props)}\n />\n )\n\n return {\n Pagination,\n InfinityMarker,\n setContent,\n resetContent,\n resetInfinity,\n endInfinity,\n }\n}\n"],"mappings":"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"}