@dnb/eufemia 9.16.2 → 9.17.2

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 (515) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/assets/assets/icons/above_the_line.svg +1 -1
  3. package/assets/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  4. package/assets/assets/icons/eufemia-icons-pdf.tgz +0 -0
  5. package/assets/assets/icons/facebook.svg +3 -0
  6. package/assets/assets/icons/facebook_medium.svg +3 -0
  7. package/assets/assets/icons/fridge.svg +1 -1
  8. package/assets/assets/icons/information_circled.svg +2 -1
  9. package/assets/assets/icons/information_circled_medium.svg +2 -1
  10. package/assets/assets/icons/instagram.svg +5 -0
  11. package/assets/assets/icons/instagram_medium.svg +12 -0
  12. package/assets/assets/icons/linkedin.svg +3 -0
  13. package/assets/assets/icons/linkedin_medium.svg +3 -0
  14. package/assets/assets/icons/motorcycle_medium.svg +2 -2
  15. package/assets/assets/icons/paragraph.svg +1 -1
  16. package/assets/assets/icons/scooter_medium.svg +2 -2
  17. package/assets/assets/icons/tag.svg +4 -0
  18. package/assets/assets/icons/tag_medium.svg +4 -0
  19. package/assets/icons/above_the_line.svg +1 -1
  20. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  21. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  22. package/assets/icons/facebook.svg +3 -0
  23. package/assets/icons/facebook_medium.svg +3 -0
  24. package/assets/icons/fridge.svg +1 -1
  25. package/assets/icons/information_circled.svg +2 -1
  26. package/assets/icons/information_circled_medium.svg +2 -1
  27. package/assets/icons/instagram.svg +5 -0
  28. package/assets/icons/instagram_medium.svg +12 -0
  29. package/assets/icons/linkedin.svg +3 -0
  30. package/assets/icons/linkedin_medium.svg +3 -0
  31. package/assets/icons/motorcycle_medium.svg +2 -2
  32. package/assets/icons/paragraph.svg +1 -1
  33. package/assets/icons/scooter_medium.svg +2 -2
  34. package/assets/icons/tag.svg +4 -0
  35. package/assets/icons/tag_medium.svg +4 -0
  36. package/cjs/components/accordion/Accordion.d.ts +1 -1
  37. package/cjs/components/autocomplete/style/dnb-autocomplete.css +0 -2
  38. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  39. package/cjs/components/breadcrumb/Breadcrumb.js +5 -3
  40. package/cjs/components/breadcrumb/style/_breadcrumb.scss +7 -4
  41. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  42. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  43. package/cjs/components/button/Button.js +1 -1
  44. package/cjs/components/button/style/_button.scss +0 -4
  45. package/cjs/components/button/style/dnb-button.css +0 -2
  46. package/cjs/components/button/style/dnb-button.min.css +1 -1
  47. package/cjs/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  48. package/cjs/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  49. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  50. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  51. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  52. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -6
  53. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  54. package/cjs/components/dropdown/style/dnb-dropdown.css +0 -2
  55. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  56. package/cjs/components/form-set/FormSet.d.ts +1 -1
  57. package/cjs/components/global-error/style/dnb-global-error.css +0 -2
  58. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  59. package/cjs/components/global-status/GlobalStatus.js +21 -73
  60. package/cjs/components/global-status/style/_global-status.scss +14 -12
  61. package/cjs/components/global-status/style/dnb-global-status.css +13 -17
  62. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  63. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  64. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  65. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  66. package/cjs/components/help-button/HelpButton.d.ts +200 -0
  67. package/cjs/components/input/style/dnb-input.css +0 -2
  68. package/cjs/components/input/style/dnb-input.min.css +1 -1
  69. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  70. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  71. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  72. package/cjs/components/input-masked/InputMaskedElement.js +1 -4
  73. package/cjs/components/input-masked/InputMaskedHooks.js +42 -19
  74. package/cjs/components/input-masked/InputMaskedUtils.js +8 -2
  75. package/cjs/components/input-masked/style/dnb-input-masked.css +0 -2
  76. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  77. package/cjs/components/modal/Modal.d.ts +4 -0
  78. package/cjs/components/modal/Modal.js +37 -31
  79. package/cjs/components/modal/ModalContent.js +48 -39
  80. package/cjs/components/modal/style/_modal-mixins.scss +4 -4
  81. package/cjs/components/modal/style/_modal.scss +13 -30
  82. package/cjs/components/modal/style/dnb-modal.css +27 -47
  83. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  84. package/cjs/components/pagination/Pagination.d.ts +6 -0
  85. package/cjs/components/pagination/Pagination.js +2 -0
  86. package/cjs/components/pagination/PaginationBar.js +1 -1
  87. package/cjs/components/pagination/PaginationInfinity.js +152 -89
  88. package/cjs/components/pagination/PaginationProvider.js +65 -68
  89. package/cjs/components/pagination/style/dnb-pagination.css +0 -2
  90. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  91. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  92. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  93. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  94. package/cjs/components/slider/style/dnb-slider.css +0 -2
  95. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  96. package/cjs/components/step-indicator/StepIndicator.d.ts +1 -1
  97. package/cjs/components/step-indicator/StepIndicator.js +4 -98
  98. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  99. package/cjs/components/step-indicator/StepIndicatorContext.js +221 -19
  100. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -6
  101. package/cjs/components/step-indicator/StepIndicatorModal.js +40 -49
  102. package/cjs/components/step-indicator/StepIndicatorProps.js +1 -1
  103. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  104. package/cjs/components/step-indicator/StepIndicatorSidebar.js +57 -54
  105. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  106. package/cjs/components/step-indicator/style/_step-indicator.scss +17 -4
  107. package/cjs/components/step-indicator/style/dnb-step-indicator.css +14 -6
  108. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  109. package/cjs/components/tabs/style/_tabs.scss +5 -1
  110. package/cjs/components/tabs/style/dnb-tabs.css +4 -1
  111. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  112. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  113. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  114. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  115. package/cjs/components/textarea/style/_textarea.scss +4 -0
  116. package/cjs/components/textarea/style/dnb-textarea.css +3 -0
  117. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  118. package/cjs/components/toggle-button/ToggleButton.js +6 -2
  119. package/cjs/components/toggle-button/style/dnb-toggle-button.css +0 -2
  120. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  121. package/cjs/icons/above_the_line.js +1 -1
  122. package/cjs/icons/facebook.js +35 -0
  123. package/cjs/icons/facebook_medium.js +35 -0
  124. package/cjs/icons/fridge.js +1 -1
  125. package/cjs/icons/icons-meta.json +24 -0
  126. package/cjs/icons/icons-pdf.lock +1 -1
  127. package/cjs/icons/icons-svg.lock +1 -1
  128. package/cjs/icons/index.d.ts +16 -0
  129. package/cjs/icons/index.js +64 -0
  130. package/cjs/icons/information_circled.js +11 -4
  131. package/cjs/icons/information_circled_medium.js +10 -4
  132. package/cjs/icons/instagram.js +47 -0
  133. package/cjs/icons/instagram_medium.js +54 -0
  134. package/cjs/icons/linkedin.js +32 -0
  135. package/cjs/icons/linkedin_medium.js +32 -0
  136. package/cjs/icons/motorcycle_medium.js +2 -2
  137. package/cjs/icons/paragraph.js +1 -1
  138. package/cjs/icons/scooter_medium.js +2 -2
  139. package/cjs/icons/secondary_icons.js +32 -0
  140. package/cjs/icons/secondary_icons_medium.js +32 -0
  141. package/cjs/icons/tag.js +41 -0
  142. package/cjs/icons/tag_medium.js +41 -0
  143. package/cjs/shared/EventEmitter.js +6 -8
  144. package/cjs/shared/component-helper.js +108 -74
  145. package/cjs/shared/helpers.js +55 -19
  146. package/cjs/style/dnb-ui-components.css +71 -77
  147. package/cjs/style/dnb-ui-components.min.css +5 -5
  148. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +135 -129
  149. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  150. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +131 -116
  151. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  152. package/components/accordion/Accordion.d.ts +1 -1
  153. package/components/autocomplete/style/dnb-autocomplete.css +0 -2
  154. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  155. package/components/breadcrumb/Breadcrumb.js +5 -3
  156. package/components/breadcrumb/Breadcrumb.tsx +9 -0
  157. package/components/breadcrumb/style/_breadcrumb.scss +7 -4
  158. package/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  159. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  160. package/components/button/Button.js +1 -1
  161. package/components/button/style/_button.scss +0 -4
  162. package/components/button/style/dnb-button.css +0 -2
  163. package/components/button/style/dnb-button.min.css +1 -1
  164. package/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  165. package/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  166. package/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  167. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  168. package/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  169. package/components/date-picker/style/dnb-date-picker.css +0 -6
  170. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  171. package/components/dropdown/style/dnb-dropdown.css +0 -2
  172. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  173. package/components/form-set/FormSet.d.ts +1 -1
  174. package/components/global-error/style/dnb-global-error.css +0 -2
  175. package/components/global-error/style/dnb-global-error.min.css +1 -1
  176. package/components/global-status/GlobalStatus.js +18 -71
  177. package/components/global-status/style/_global-status.scss +14 -12
  178. package/components/global-status/style/dnb-global-status.css +13 -17
  179. package/components/global-status/style/dnb-global-status.min.css +1 -1
  180. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  181. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  182. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  183. package/components/help-button/HelpButton.d.ts +200 -0
  184. package/components/input/style/dnb-input.css +0 -2
  185. package/components/input/style/dnb-input.min.css +1 -1
  186. package/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  187. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  188. package/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  189. package/components/input-masked/InputMaskedElement.js +1 -4
  190. package/components/input-masked/InputMaskedHooks.js +42 -19
  191. package/components/input-masked/InputMaskedUtils.js +9 -3
  192. package/components/input-masked/style/dnb-input-masked.css +0 -2
  193. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  194. package/components/modal/Modal.d.ts +4 -0
  195. package/components/modal/Modal.js +37 -31
  196. package/components/modal/ModalContent.js +46 -37
  197. package/components/modal/style/_modal-mixins.scss +4 -4
  198. package/components/modal/style/_modal.scss +13 -30
  199. package/components/modal/style/dnb-modal.css +27 -47
  200. package/components/modal/style/dnb-modal.min.css +1 -1
  201. package/components/pagination/Pagination.d.ts +6 -0
  202. package/components/pagination/Pagination.js +2 -0
  203. package/components/pagination/PaginationBar.js +1 -1
  204. package/components/pagination/PaginationInfinity.js +137 -67
  205. package/components/pagination/PaginationProvider.js +64 -68
  206. package/components/pagination/style/dnb-pagination.css +0 -2
  207. package/components/pagination/style/dnb-pagination.min.css +1 -1
  208. package/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  209. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  210. package/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  211. package/components/slider/style/dnb-slider.css +0 -2
  212. package/components/slider/style/dnb-slider.min.css +1 -1
  213. package/components/step-indicator/StepIndicator.d.ts +1 -1
  214. package/components/step-indicator/StepIndicator.js +4 -91
  215. package/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  216. package/components/step-indicator/StepIndicatorContext.js +196 -18
  217. package/components/step-indicator/StepIndicatorItem.js +2 -5
  218. package/components/step-indicator/StepIndicatorModal.js +33 -32
  219. package/components/step-indicator/StepIndicatorProps.js +1 -1
  220. package/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  221. package/components/step-indicator/StepIndicatorSidebar.js +54 -52
  222. package/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  223. package/components/step-indicator/style/_step-indicator.scss +17 -4
  224. package/components/step-indicator/style/dnb-step-indicator.css +14 -6
  225. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  226. package/components/tabs/style/_tabs.scss +5 -1
  227. package/components/tabs/style/dnb-tabs.css +4 -1
  228. package/components/tabs/style/dnb-tabs.min.css +1 -1
  229. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  230. package/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  231. package/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  232. package/components/textarea/style/_textarea.scss +4 -0
  233. package/components/textarea/style/dnb-textarea.css +3 -0
  234. package/components/textarea/style/dnb-textarea.min.css +1 -1
  235. package/components/toggle-button/ToggleButton.js +6 -2
  236. package/components/toggle-button/style/dnb-toggle-button.css +0 -2
  237. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  238. package/es/components/accordion/Accordion.d.ts +1 -1
  239. package/es/components/autocomplete/style/dnb-autocomplete.css +0 -2
  240. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  241. package/es/components/breadcrumb/Breadcrumb.js +5 -3
  242. package/es/components/breadcrumb/Breadcrumb.tsx +9 -0
  243. package/es/components/breadcrumb/style/_breadcrumb.scss +7 -4
  244. package/es/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  245. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  246. package/es/components/button/Button.js +2 -1
  247. package/es/components/button/style/_button.scss +0 -4
  248. package/es/components/button/style/dnb-button.css +0 -2
  249. package/es/components/button/style/dnb-button.min.css +1 -1
  250. package/es/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  251. package/es/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  252. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  253. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  254. package/es/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  255. package/es/components/date-picker/style/dnb-date-picker.css +0 -6
  256. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  257. package/es/components/dropdown/style/dnb-dropdown.css +0 -2
  258. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  259. package/es/components/form-set/FormSet.d.ts +1 -1
  260. package/es/components/global-error/style/dnb-global-error.css +0 -2
  261. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  262. package/es/components/global-status/GlobalStatus.js +18 -67
  263. package/es/components/global-status/style/_global-status.scss +14 -12
  264. package/es/components/global-status/style/dnb-global-status.css +13 -17
  265. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  266. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  267. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  268. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  269. package/es/components/help-button/HelpButton.d.ts +200 -0
  270. package/es/components/input/style/dnb-input.css +0 -2
  271. package/es/components/input/style/dnb-input.min.css +1 -1
  272. package/es/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  273. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  274. package/es/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  275. package/es/components/input-masked/InputMaskedElement.js +1 -4
  276. package/es/components/input-masked/InputMaskedHooks.js +36 -15
  277. package/es/components/input-masked/InputMaskedUtils.js +9 -3
  278. package/es/components/input-masked/style/dnb-input-masked.css +0 -2
  279. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  280. package/es/components/modal/Modal.d.ts +4 -0
  281. package/es/components/modal/Modal.js +33 -27
  282. package/es/components/modal/ModalContent.js +39 -28
  283. package/es/components/modal/style/_modal-mixins.scss +4 -4
  284. package/es/components/modal/style/_modal.scss +13 -30
  285. package/es/components/modal/style/dnb-modal.css +27 -47
  286. package/es/components/modal/style/dnb-modal.min.css +1 -1
  287. package/es/components/pagination/Pagination.d.ts +6 -0
  288. package/es/components/pagination/Pagination.js +2 -0
  289. package/es/components/pagination/PaginationBar.js +1 -1
  290. package/es/components/pagination/PaginationInfinity.js +110 -37
  291. package/es/components/pagination/PaginationProvider.js +57 -61
  292. package/es/components/pagination/style/dnb-pagination.css +0 -2
  293. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  294. package/es/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  295. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  296. package/es/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  297. package/es/components/slider/style/dnb-slider.css +0 -2
  298. package/es/components/slider/style/dnb-slider.min.css +1 -1
  299. package/es/components/step-indicator/StepIndicator.d.ts +1 -1
  300. package/es/components/step-indicator/StepIndicator.js +3 -79
  301. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  302. package/es/components/step-indicator/StepIndicatorContext.js +165 -17
  303. package/es/components/step-indicator/StepIndicatorItem.js +1 -5
  304. package/es/components/step-indicator/StepIndicatorModal.js +31 -34
  305. package/es/components/step-indicator/StepIndicatorProps.js +1 -1
  306. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  307. package/es/components/step-indicator/StepIndicatorSidebar.js +44 -46
  308. package/es/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  309. package/es/components/step-indicator/style/_step-indicator.scss +17 -4
  310. package/es/components/step-indicator/style/dnb-step-indicator.css +14 -6
  311. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  312. package/es/components/tabs/style/_tabs.scss +5 -1
  313. package/es/components/tabs/style/dnb-tabs.css +4 -1
  314. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  315. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  316. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  317. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  318. package/es/components/textarea/style/_textarea.scss +4 -0
  319. package/es/components/textarea/style/dnb-textarea.css +3 -0
  320. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  321. package/es/components/toggle-button/ToggleButton.js +6 -2
  322. package/es/components/toggle-button/style/dnb-toggle-button.css +0 -2
  323. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  324. package/es/icons/above_the_line.js +1 -1
  325. package/es/icons/facebook.js +23 -0
  326. package/es/icons/facebook_medium.js +23 -0
  327. package/es/icons/fridge.js +1 -1
  328. package/es/icons/icons-meta.json +24 -0
  329. package/es/icons/icons-pdf.lock +1 -1
  330. package/es/icons/icons-svg.lock +1 -1
  331. package/es/icons/index.d.ts +16 -0
  332. package/es/icons/index.js +9 -1
  333. package/es/icons/information_circled.js +11 -4
  334. package/es/icons/information_circled_medium.js +10 -4
  335. package/es/icons/instagram.js +35 -0
  336. package/es/icons/instagram_medium.js +42 -0
  337. package/es/icons/linkedin.js +20 -0
  338. package/es/icons/linkedin_medium.js +20 -0
  339. package/es/icons/motorcycle_medium.js +2 -2
  340. package/es/icons/paragraph.js +1 -1
  341. package/es/icons/scooter_medium.js +2 -2
  342. package/es/icons/secondary_icons.js +5 -1
  343. package/es/icons/secondary_icons_medium.js +5 -1
  344. package/es/icons/tag.js +29 -0
  345. package/es/icons/tag_medium.js +29 -0
  346. package/es/shared/EventEmitter.js +5 -8
  347. package/es/shared/component-helper.js +58 -49
  348. package/es/shared/helpers.js +28 -12
  349. package/es/style/dnb-ui-components.css +71 -77
  350. package/es/style/dnb-ui-components.min.css +5 -5
  351. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +135 -129
  352. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  353. package/es/style/themes/theme-ui/dnb-theme-ui.css +131 -116
  354. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  355. package/esm/components/accordion/Accordion.d.ts +1 -1
  356. package/esm/components/autocomplete/style/dnb-autocomplete.css +0 -2
  357. package/esm/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  358. package/esm/components/breadcrumb/Breadcrumb.js +5 -3
  359. package/esm/components/breadcrumb/Breadcrumb.tsx +9 -0
  360. package/esm/components/breadcrumb/style/_breadcrumb.scss +7 -4
  361. package/esm/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  362. package/esm/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  363. package/esm/components/button/Button.js +1 -1
  364. package/esm/components/button/style/_button.scss +0 -4
  365. package/esm/components/button/style/dnb-button.css +0 -2
  366. package/esm/components/button/style/dnb-button.min.css +1 -1
  367. package/esm/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  368. package/esm/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  369. package/esm/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  370. package/esm/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  371. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  372. package/esm/components/date-picker/style/dnb-date-picker.css +0 -6
  373. package/esm/components/date-picker/style/dnb-date-picker.min.css +1 -1
  374. package/esm/components/dropdown/style/dnb-dropdown.css +0 -2
  375. package/esm/components/dropdown/style/dnb-dropdown.min.css +1 -1
  376. package/esm/components/form-set/FormSet.d.ts +1 -1
  377. package/esm/components/global-error/style/dnb-global-error.css +0 -2
  378. package/esm/components/global-error/style/dnb-global-error.min.css +1 -1
  379. package/esm/components/global-status/GlobalStatus.js +18 -71
  380. package/esm/components/global-status/style/_global-status.scss +14 -12
  381. package/esm/components/global-status/style/dnb-global-status.css +13 -17
  382. package/esm/components/global-status/style/dnb-global-status.min.css +1 -1
  383. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  384. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  385. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  386. package/esm/components/help-button/HelpButton.d.ts +200 -0
  387. package/esm/components/input/style/dnb-input.css +0 -2
  388. package/esm/components/input/style/dnb-input.min.css +1 -1
  389. package/esm/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  390. package/esm/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  391. package/esm/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  392. package/esm/components/input-masked/InputMaskedElement.js +1 -4
  393. package/esm/components/input-masked/InputMaskedHooks.js +42 -19
  394. package/esm/components/input-masked/InputMaskedUtils.js +9 -3
  395. package/esm/components/input-masked/style/dnb-input-masked.css +0 -2
  396. package/esm/components/input-masked/style/dnb-input-masked.min.css +1 -1
  397. package/esm/components/modal/Modal.d.ts +4 -0
  398. package/esm/components/modal/Modal.js +37 -31
  399. package/esm/components/modal/ModalContent.js +46 -37
  400. package/esm/components/modal/style/_modal-mixins.scss +4 -4
  401. package/esm/components/modal/style/_modal.scss +13 -30
  402. package/esm/components/modal/style/dnb-modal.css +27 -47
  403. package/esm/components/modal/style/dnb-modal.min.css +1 -1
  404. package/esm/components/pagination/Pagination.d.ts +6 -0
  405. package/esm/components/pagination/Pagination.js +2 -0
  406. package/esm/components/pagination/PaginationBar.js +1 -1
  407. package/esm/components/pagination/PaginationInfinity.js +137 -67
  408. package/esm/components/pagination/PaginationProvider.js +64 -68
  409. package/esm/components/pagination/style/dnb-pagination.css +0 -2
  410. package/esm/components/pagination/style/dnb-pagination.min.css +1 -1
  411. package/esm/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  412. package/esm/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  413. package/esm/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  414. package/esm/components/slider/style/dnb-slider.css +0 -2
  415. package/esm/components/slider/style/dnb-slider.min.css +1 -1
  416. package/esm/components/step-indicator/StepIndicator.d.ts +1 -1
  417. package/esm/components/step-indicator/StepIndicator.js +4 -91
  418. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  419. package/esm/components/step-indicator/StepIndicatorContext.js +196 -18
  420. package/esm/components/step-indicator/StepIndicatorItem.js +2 -5
  421. package/esm/components/step-indicator/StepIndicatorModal.js +33 -32
  422. package/esm/components/step-indicator/StepIndicatorProps.js +1 -1
  423. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  424. package/esm/components/step-indicator/StepIndicatorSidebar.js +54 -52
  425. package/esm/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  426. package/esm/components/step-indicator/style/_step-indicator.scss +17 -4
  427. package/esm/components/step-indicator/style/dnb-step-indicator.css +14 -6
  428. package/esm/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  429. package/esm/components/tabs/style/_tabs.scss +5 -1
  430. package/esm/components/tabs/style/dnb-tabs.css +4 -1
  431. package/esm/components/tabs/style/dnb-tabs.min.css +1 -1
  432. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  433. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  434. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  435. package/esm/components/textarea/style/_textarea.scss +4 -0
  436. package/esm/components/textarea/style/dnb-textarea.css +3 -0
  437. package/esm/components/textarea/style/dnb-textarea.min.css +1 -1
  438. package/esm/components/toggle-button/ToggleButton.js +6 -2
  439. package/esm/components/toggle-button/style/dnb-toggle-button.css +0 -2
  440. package/esm/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  441. package/esm/dnb-ui-basis.min.mjs +2 -2
  442. package/esm/dnb-ui-components.min.mjs +3 -3
  443. package/esm/dnb-ui-elements.min.mjs +4 -4
  444. package/esm/dnb-ui-extensions.min.mjs +4 -4
  445. package/esm/dnb-ui-lib.min.mjs +4 -4
  446. package/esm/dnb-ui-web-components.min.mjs +4 -4
  447. package/esm/icons/above_the_line.js +1 -1
  448. package/esm/icons/facebook.js +23 -0
  449. package/esm/icons/facebook_medium.js +23 -0
  450. package/esm/icons/fridge.js +1 -1
  451. package/esm/icons/icons-meta.json +24 -0
  452. package/esm/icons/icons-pdf.lock +1 -1
  453. package/esm/icons/icons-svg.lock +1 -1
  454. package/esm/icons/index.d.ts +16 -0
  455. package/esm/icons/index.js +9 -1
  456. package/esm/icons/information_circled.js +11 -4
  457. package/esm/icons/information_circled_medium.js +10 -4
  458. package/esm/icons/instagram.js +35 -0
  459. package/esm/icons/instagram_medium.js +42 -0
  460. package/esm/icons/linkedin.js +20 -0
  461. package/esm/icons/linkedin_medium.js +20 -0
  462. package/esm/icons/motorcycle_medium.js +2 -2
  463. package/esm/icons/paragraph.js +1 -1
  464. package/esm/icons/scooter_medium.js +2 -2
  465. package/esm/icons/secondary_icons.js +5 -1
  466. package/esm/icons/secondary_icons_medium.js +5 -1
  467. package/esm/icons/tag.js +29 -0
  468. package/esm/icons/tag_medium.js +29 -0
  469. package/esm/shared/EventEmitter.js +6 -8
  470. package/esm/shared/component-helper.js +94 -58
  471. package/esm/shared/helpers.js +36 -12
  472. package/esm/style/dnb-ui-components.css +71 -77
  473. package/esm/style/dnb-ui-components.min.css +5 -5
  474. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +135 -129
  475. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  476. package/esm/style/themes/theme-ui/dnb-theme-ui.css +131 -116
  477. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  478. package/icons/above_the_line.js +1 -1
  479. package/icons/facebook.js +23 -0
  480. package/icons/facebook_medium.js +23 -0
  481. package/icons/fridge.js +1 -1
  482. package/icons/icons-meta.json +24 -0
  483. package/icons/icons-pdf.lock +1 -1
  484. package/icons/icons-svg.lock +1 -1
  485. package/icons/index.d.ts +16 -0
  486. package/icons/index.js +9 -1
  487. package/icons/information_circled.js +11 -4
  488. package/icons/information_circled_medium.js +10 -4
  489. package/icons/instagram.js +35 -0
  490. package/icons/instagram_medium.js +42 -0
  491. package/icons/linkedin.js +20 -0
  492. package/icons/linkedin_medium.js +20 -0
  493. package/icons/motorcycle_medium.js +2 -2
  494. package/icons/paragraph.js +1 -1
  495. package/icons/scooter_medium.js +2 -2
  496. package/icons/secondary_icons.js +5 -1
  497. package/icons/secondary_icons_medium.js +5 -1
  498. package/icons/tag.js +29 -0
  499. package/icons/tag_medium.js +29 -0
  500. package/package.json +2 -2
  501. package/shared/EventEmitter.js +6 -8
  502. package/shared/component-helper.js +94 -58
  503. package/shared/helpers.js +36 -12
  504. package/style/dnb-ui-components.css +71 -77
  505. package/style/dnb-ui-components.min.css +5 -5
  506. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +135 -129
  507. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  508. package/style/themes/theme-ui/dnb-theme-ui.css +131 -116
  509. package/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  510. package/umd/dnb-ui-basis.min.js +3 -3
  511. package/umd/dnb-ui-components.min.js +5 -5
  512. package/umd/dnb-ui-elements.min.js +5 -5
  513. package/umd/dnb-ui-extensions.min.js +5 -5
  514. package/umd/dnb-ui-lib.min.js +5 -5
  515. package/umd/dnb-ui-web-components.min.js +5 -5
@@ -10,7 +10,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
10
10
  import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import ReactDOM from 'react-dom';
13
- import { warn, isTrue, dispatchCustomElementEvent } from '../../shared/component-helper';
13
+ import { warn, isTrue, dispatchCustomElementEvent, getPreviousSibling } from '../../shared/component-helper';
14
14
  import Context from '../../shared/Context';
15
15
  import Button from '../button/Button';
16
16
  import { preparePageElement, isTrElement, PaginationIndicator } from './PaginationHelpers';
@@ -25,20 +25,26 @@ export default class InfinityScroller extends React.PureComponent {
25
25
  startup_count
26
26
  } = this.context.pagination;
27
27
  const startupCount = parseFloat(startup_count);
28
+ let newPageNo, skipObserver, callStartupEvent, preventWaitForDelay;
28
29
 
29
- for (let i = 0, newPageNo; i < startupCount; ++i) {
30
+ for (let i = 0; i < startupCount; ++i) {
30
31
  newPageNo = startupPage + i;
32
+ skipObserver = newPageNo < startupCount;
33
+ callStartupEvent = i === 0;
34
+ preventWaitForDelay = i <= startupCount - 1;
31
35
  this.getNewContent(newPageNo, {
32
36
  position: 'after',
33
- skipObserver: newPageNo < startupCount
37
+ skipObserver
34
38
  }, {
35
- isStartup: i === 0
39
+ callStartupEvent,
40
+ preventWaitForDelay
36
41
  });
37
42
  }
38
43
  });
39
44
 
40
45
  _defineProperty(this, "getNewContent", (newPageNo, props = {}, {
41
- isStartup = false
46
+ callStartupEvent = false,
47
+ preventWaitForDelay = false
42
48
  } = {}) => {
43
49
  const {
44
50
  pageCount,
@@ -58,9 +64,12 @@ export default class InfinityScroller extends React.PureComponent {
58
64
  }
59
65
 
60
66
  const items = this.context.pagination.prefillItems(newPageNo, props);
61
- this.context.pagination.setItems(items, () => this.callEventHandler(newPageNo, {
62
- isStartup
63
- }));
67
+ this.context.pagination.setItems(items, () => {
68
+ this.callEventHandler(newPageNo, {
69
+ callStartupEvent,
70
+ preventWaitForDelay
71
+ });
72
+ });
64
73
  });
65
74
 
66
75
  this.hideIndicator = isTrue(context.pagination.hide_progress_indicator);
@@ -75,47 +84,66 @@ export default class InfinityScroller extends React.PureComponent {
75
84
  this.callOnUnmount.forEach(f => typeof f === 'function' && f());
76
85
  }
77
86
 
78
- waitForReachedTime(fn, ...props) {
87
+ waitForReachedTime(fn, params) {
79
88
  this.callbackBuffer = this.callbackBuffer || [];
80
89
  this.callbackBuffer.push({
81
90
  fn,
82
- props
91
+ params
92
+ });
93
+ this.callBuffer({
94
+ minTime: params.preventWaitForDelay ? -1 : this.context.pagination.minTime
83
95
  });
84
- this.callBuffer();
85
96
  }
86
97
 
87
- callBuffer() {
88
- const {
89
- minTime
90
- } = this.context.pagination;
98
+ callBuffer({
99
+ minTime = this.context.pagination.minTime
100
+ } = {}) {
101
+ if (this.callbackBuffer.length === 0) {
102
+ return;
103
+ }
104
+
91
105
  const diff = this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0;
92
106
  const waitTime = diff < minTime ? minTime : 0;
93
- clearTimeout(this._bufferTimeout);
94
- this._bufferTimeout = setTimeout(() => {
107
+
108
+ const nextTick = () => {
95
109
  if (this.callbackBuffer.length > 0) {
96
110
  this._lastCall = new Date().getTime();
97
111
  const {
98
112
  fn,
99
- props
113
+ params
100
114
  } = this.callbackBuffer.shift();
101
- fn(...props);
102
- this.callBuffer();
115
+ fn(params);
116
+ this.callBuffer({
117
+ minTime: params.preventWaitForDelay ? -1 : minTime
118
+ });
103
119
  }
104
- }, waitTime);
120
+ };
121
+
122
+ if (minTime > 0) {
123
+ clearTimeout(this._bufferTimeout);
124
+ this._bufferTimeout = setTimeout(nextTick, waitTime);
125
+ } else {
126
+ nextTick();
127
+ }
105
128
  }
106
129
 
107
130
  callEventHandler(pageNumber, {
108
- isStartup = false,
131
+ callStartupEvent = false,
132
+ preventWaitForDelay = false,
109
133
  callOnEnd = false,
110
134
  onDispatch = null
111
135
  } = {}) {
112
136
  this.waitForReachedTime(({
113
137
  pageNumber,
114
- isStartup
138
+ callStartupEvent
115
139
  }) => {
116
140
  const context = this.context.pagination;
117
141
 
118
142
  const createEvent = eventName => {
143
+ if (isNaN(pageNumber)) {
144
+ pageNumber = 1;
145
+ }
146
+
119
147
  const ret = dispatchCustomElementEvent(context, eventName, _objectSpread({
120
148
  page: pageNumber,
121
149
  pageNo: pageNumber,
@@ -134,7 +162,7 @@ export default class InfinityScroller extends React.PureComponent {
134
162
  if (callOnEnd) {
135
163
  createEvent('on_end');
136
164
  } else {
137
- if (isStartup) {
165
+ if (callStartupEvent) {
138
166
  createEvent('on_startup');
139
167
  } else {
140
168
  createEvent('on_change');
@@ -144,7 +172,8 @@ export default class InfinityScroller extends React.PureComponent {
144
172
  }
145
173
  }, {
146
174
  pageNumber,
147
- isStartup
175
+ callStartupEvent,
176
+ preventWaitForDelay
148
177
  });
149
178
  }
150
179
 
@@ -155,19 +184,41 @@ export default class InfinityScroller extends React.PureComponent {
155
184
  const {
156
185
  lowerPage,
157
186
  upperPage,
187
+ currentPage,
158
188
  pageCount,
159
189
  hasEndedInfinity,
160
190
  parallelLoadCount,
191
+ debug,
192
+ current_page,
161
193
  fallback_element,
162
194
  marker_element,
163
195
  indicator_element
164
196
  } = this.context.pagination;
165
197
 
198
+ if (debug) {
199
+ console.info('PaginationInfinity.render', {
200
+ current_page,
201
+ lowerPage,
202
+ upperPage,
203
+ currentPage,
204
+ pageCount
205
+ });
206
+ }
207
+
166
208
  const Marker = () => React.createElement(InteractionMarker, {
209
+ debug: debug,
167
210
  pageNumber: upperPage,
168
211
  markerElement: marker_element || fallback_element,
169
212
  onVisible: pageNumber => {
170
- for (let i = 0, newPageNo; i < parallelLoadCount; ++i) {
213
+ if (debug) {
214
+ console.info('PaginationInfinity.onVisible', {
215
+ pageNumber
216
+ });
217
+ }
218
+
219
+ let newPageNo;
220
+
221
+ for (let i = 0; i < parallelLoadCount; ++i) {
171
222
  newPageNo = pageNumber + 1 + i;
172
223
  this.context.pagination.onPageUpdate(() => {
173
224
  this.context.pagination.setState({
@@ -197,7 +248,7 @@ export default class InfinityScroller extends React.PureComponent {
197
248
  }
198
249
  });
199
250
 
200
- return React.createElement(React.Fragment, null, lowerPage > 1 && React.createElement(LoadButton, null), children, !hasEndedInfinity && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(Marker, null), !hasEndedInfinity && !this.hideIndicator && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(PaginationIndicator, {
251
+ return React.createElement(React.Fragment, null, parseFloat(current_page) > 0 && lowerPage > 1 && React.createElement(LoadButton, null), children, !hasEndedInfinity && parseFloat(current_page) > 0 && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(Marker, null), !hasEndedInfinity && !this.hideIndicator && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(PaginationIndicator, {
201
252
  indicator_element: indicator_element || fallback_element
202
253
  }));
203
254
  }
@@ -216,16 +267,16 @@ export default class InfinityScroller extends React.PureComponent {
216
267
  indicator_element
217
268
  } = this.context.pagination;
218
269
 
219
- if (this.context.pagination.useMarkerOnly) {
220
- return this.handleInfinityMarker();
221
- }
222
-
223
270
  if (!(items && items.length > 0)) {
224
271
  clearTimeout(this._startupTimeout);
225
272
  this._startupTimeout = setTimeout(this.startup, 1);
226
273
  return null;
227
274
  }
228
275
 
276
+ if (this.context.pagination.useMarkerOnly) {
277
+ return this.handleInfinityMarker();
278
+ }
279
+
229
280
  const Element = preparePageElement(page_element || React.Fragment);
230
281
  return items.map(({
231
282
  pageNumber,
@@ -241,7 +292,9 @@ export default class InfinityScroller extends React.PureComponent {
241
292
  pageNumber: pageNumber,
242
293
  markerElement: marker_element || fallback_element,
243
294
  onVisible: pageNumber => {
244
- for (let i = 0, newPageNo; i < parallelLoadCount; ++i) {
295
+ let newPageNo;
296
+
297
+ for (let i = 0; i < parallelLoadCount; ++i) {
245
298
  newPageNo = pageNumber + 1 + i;
246
299
  this.getNewContent(newPageNo, {
247
300
  position: 'after',
@@ -250,6 +303,7 @@ export default class InfinityScroller extends React.PureComponent {
250
303
  }
251
304
  }
252
305
  });
306
+ const showIndicator = (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) && !hasContent && !this.hideIndicator;
253
307
  return React.createElement(Elem, {
254
308
  key: pageNumber,
255
309
  ref: ref
@@ -261,7 +315,7 @@ export default class InfinityScroller extends React.PureComponent {
261
315
  skipObserver: true,
262
316
  event
263
317
  })
264
- }), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) && !hasContent && !this.hideIndicator && React.createElement(PaginationIndicator, {
318
+ }), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, showIndicator && React.createElement(PaginationIndicator, {
265
319
  indicator_element: indicator_element || fallback_element
266
320
  }), hasContent && this.useLoadButton && isLastItem && (typeof pageCount === 'undefined' || pageNumber < pageCount) && React.createElement(InfinityLoadButton, {
267
321
  element: fallback_element,
@@ -343,14 +397,31 @@ class InteractionMarker extends React.PureComponent {
343
397
  this._isMounted = true;
344
398
  (_this$intersectionObs2 = this.intersectionObserver) === null || _this$intersectionObs2 === void 0 ? void 0 : _this$intersectionObs2.observe(this._ref.current);
345
399
  }
400
+
401
+ if (this.props.debug) {
402
+ const height = this.getContentHeight();
403
+ console.info('PaginationInfinity.getContentHeight', height);
404
+ }
346
405
  }
347
406
 
348
407
  componentWillUnmount() {
349
- var _this$intersectionObs3;
350
-
351
408
  this._isMounted = false;
352
- clearTimeout(this._readyTimeout);
353
- (_this$intersectionObs3 = this.intersectionObserver) === null || _this$intersectionObs3 === void 0 ? void 0 : _this$intersectionObs3.disconnect();
409
+
410
+ if (this.intersectionObserver) {
411
+ clearTimeout(this._readyTimeout);
412
+ this.intersectionObserver.disconnect();
413
+ }
414
+ }
415
+
416
+ getContentHeight() {
417
+ let height = 0;
418
+
419
+ try {
420
+ const sibling = getPreviousSibling('dnb-table', this._ref.current);
421
+ height = parseFloat(window.getComputedStyle(sibling.querySelector('tbody')).height);
422
+ } catch (e) {}
423
+
424
+ return height;
354
425
  }
355
426
 
356
427
  render() {
@@ -375,10 +446,12 @@ class InteractionMarker extends React.PureComponent {
375
446
  }
376
447
 
377
448
  _defineProperty(InteractionMarker, "defaultProps", {
449
+ debug: null,
378
450
  markerElement: null
379
451
  });
380
452
 
381
453
  process.env.NODE_ENV !== "production" ? InteractionMarker.propTypes = {
454
+ debug: PropTypes.bool,
382
455
  pageNumber: PropTypes.number.isRequired,
383
456
  onVisible: PropTypes.func.isRequired,
384
457
  markerElement: PropTypes.oneOfType([PropTypes.object, PropTypes.node, PropTypes.func, PropTypes.string])
@@ -12,48 +12,48 @@ import { ContentObject } from './PaginationHelpers';
12
12
  import PaginationContext from './PaginationContext';
13
13
  export default class PaginationProvider extends React.PureComponent {
14
14
  static getDerivedStateFromProps(props, state) {
15
- if (state._listenForPropChanges) {
16
- if (props.page_count !== null) {
17
- state.pageCount = parseFloat(props.page_count) || 1;
18
- }
15
+ if (props.page_count !== null) {
16
+ state.pageCount = parseFloat(props.page_count) || 1;
17
+ }
19
18
 
20
- if (props.current_page !== null && typeof state.currentPage === 'undefined') {
21
- state.currentPage = parseFloat(props.current_page) || 1;
22
- }
19
+ if (props.current_page !== null && typeof state.currentPage === 'undefined') {
20
+ state.currentPage = parseFloat(props.current_page) || 1;
21
+ }
23
22
 
24
- if (typeof state.startupPage === 'undefined') {
25
- state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || 1;
26
- }
23
+ if (typeof state.startupPage !== 'number') {
24
+ state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || state.currentPage;
25
+ }
27
26
 
28
- state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
29
- state.minTime = parseFloat(props.min_wait_time) || 0;
30
- state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
27
+ state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
28
+ state.minTime = parseFloat(props.min_wait_time) || 0;
29
+ state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
31
30
 
32
- if (props.useMarkerOnly) {
33
- if (!state.lowerPage) {
34
- state.lowerPage = state.upperPage = state.startupPage;
35
- }
36
- }
31
+ if (props.useMarkerOnly && props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
32
+ state.lowerPage = undefined;
33
+ state.upperPage = undefined;
34
+ }
37
35
 
38
- if (props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
39
- if (props.useMarkerOnly) {
40
- state.lowerPage = state.upperPage = state.startupPage;
41
- }
36
+ if (props.useMarkerOnly) {
37
+ if (typeof state.lowerPage === 'undefined' && parseFloat(props.current_page) > 0) {
38
+ state.lowerPage = state.startupPage;
42
39
  }
43
40
 
44
- if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
45
- state.items = [];
46
- state.pageCount = parseFloat(props.page_count) || 1;
41
+ if (typeof state.upperPage === 'undefined') {
42
+ state.upperPage = state.startupPage + parseFloat(props.startup_count) - 1;
47
43
  }
44
+ }
48
45
 
49
- if (typeof props.items === 'string' && props.items[0] === '[') {
50
- state.items = JSON.parse(props.items);
51
- } else if (Array.isArray(props.items)) {
52
- state.items = props.items;
53
- }
46
+ if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
47
+ state.items = [];
48
+ state.pageCount = parseFloat(props.page_count) || 1;
49
+ }
50
+
51
+ if (typeof props.items === 'string' && props.items[0] === '[') {
52
+ state.items = JSON.parse(props.items);
53
+ } else if (Array.isArray(props.items)) {
54
+ state.items = props.items;
54
55
  }
55
56
 
56
- state._listenForPropChanges = true;
57
57
  return state;
58
58
  }
59
59
 
@@ -65,7 +65,7 @@ export default class PaginationProvider extends React.PureComponent {
65
65
  newContent = [newContent, content];
66
66
  }
67
67
 
68
- const pageNumber = parseFloat(newContent[0]);
68
+ const pageNumber = parseFloat(newContent[0]) || 1;
69
69
  newContent = newContent[1];
70
70
 
71
71
  if (typeof newContent === 'function') {
@@ -82,8 +82,7 @@ export default class PaginationProvider extends React.PureComponent {
82
82
 
83
83
  if (!itemToPrepare) {
84
84
  items = this.prefillItems(pageNumber, {
85
- position,
86
- skipObserver: true
85
+ position
87
86
  });
88
87
  itemToPrepare = items.find(({
89
88
  pageNumber: p
@@ -98,8 +97,7 @@ export default class PaginationProvider extends React.PureComponent {
98
97
 
99
98
  this.setState({
100
99
  items: [...(items || this.state.items)],
101
- currentPage: pageNumber,
102
- _listenForPropChanges: false
100
+ currentPage: pageNumber
103
101
  }, this.callOnPageUpdate);
104
102
  }
105
103
  });
@@ -108,43 +106,34 @@ export default class PaginationProvider extends React.PureComponent {
108
106
  clearTimeout(this.resetContentTimeout);
109
107
  this.resetContentTimeout = setTimeout(() => {
110
108
  this.setState({
111
- items: [],
112
- _listenForPropChanges: false
109
+ items: []
113
110
  });
114
111
  }, 10);
115
112
  });
116
113
 
117
114
  _defineProperty(this, "resetInfinity", (pageNumber = this.state.startupPage) => {
118
115
  const lowerPage = pageNumber;
119
- const upperPage = pageNumber;
116
+ const upperPage = pageNumber + parseFloat(this.props.startup_count) - 1;
120
117
  const currentPage = pageNumber;
121
- this._hasEndedInfinity = true;
122
118
  this.setState({
119
+ items: [],
123
120
  hasEndedInfinity: true,
124
121
  lowerPage,
125
122
  upperPage,
126
- currentPage,
127
- _listenForPropChanges: false
123
+ currentPage
128
124
  });
129
- clearTimeout(this.resetInfinityTimeout);
130
- this.resetInfinityTimeout = setTimeout(() => {
131
- this.startInfinity();
132
- }, this.state.minTime);
125
+ this.startInfinity();
133
126
  });
134
127
 
135
128
  _defineProperty(this, "startInfinity", () => {
136
- this._hasEndedInfinity = false;
137
129
  this.setState({
138
- hasEndedInfinity: false,
139
- _listenForPropChanges: false
130
+ hasEndedInfinity: false
140
131
  });
141
132
  });
142
133
 
143
134
  _defineProperty(this, "endInfinity", () => {
144
- this._hasEndedInfinity = true;
145
135
  this.setState({
146
- hasEndedInfinity: true,
147
- _listenForPropChanges: false
136
+ hasEndedInfinity: true
148
137
  }, () => {
149
138
  const pageNumber = this.state.currentPage + 1;
150
139
  dispatchCustomElementEvent(this, 'on_end', _objectSpread({
@@ -157,14 +146,25 @@ export default class PaginationProvider extends React.PureComponent {
157
146
 
158
147
  _defineProperty(this, "setItems", (items, cb) => {
159
148
  this.setState({
160
- items,
161
- _listenForPropChanges: false
149
+ items
162
150
  }, cb);
163
151
  });
164
152
 
165
153
  _defineProperty(this, "prefillItems", (pageNumber, props = {}, items = this.state.items) => {
166
154
  const position = props.position || (pageNumber < this.state.currentPage ? 'before' : 'after');
167
155
 
156
+ if (isNaN(pageNumber)) {
157
+ pageNumber = 1;
158
+ }
159
+
160
+ const exists = items.findIndex(({
161
+ pageNumber: p
162
+ }) => p === pageNumber) > -1;
163
+
164
+ if (exists) {
165
+ return items;
166
+ }
167
+
168
168
  const obj = _objectSpread({
169
169
  pageNumber,
170
170
  position,
@@ -181,9 +181,7 @@ export default class PaginationProvider extends React.PureComponent {
181
181
  });
182
182
 
183
183
  _defineProperty(this, "setStateHandler", (state, cb) => {
184
- this.setState(_objectSpread(_objectSpread({}, state), {}, {
185
- _listenForPropChanges: false
186
- }), cb);
184
+ this.setState(_objectSpread({}, state), cb);
187
185
  });
188
186
 
189
187
  _defineProperty(this, "callOnPageUpdate", () => {
@@ -221,8 +219,7 @@ export default class PaginationProvider extends React.PureComponent {
221
219
 
222
220
  this.state = {
223
221
  items: [],
224
- isLoading: false,
225
- _listenForPropChanges: true
222
+ isLoading: false
226
223
  };
227
224
 
228
225
  if (_props.rerender) {
@@ -322,8 +319,7 @@ export default class PaginationProvider extends React.PureComponent {
322
319
  setItems: this.setItems,
323
320
  prefillItems: this.prefillItems,
324
321
  setState: this.setStateHandler,
325
- onPageUpdate: this.onPageUpdate,
326
- _hasEndedInfinity: this._hasEndedInfinity
322
+ onPageUpdate: this.onPageUpdate
327
323
  }, this.props), this.state)
328
324
  })
329
325
  }, children);
@@ -489,8 +489,6 @@
489
489
  padding-left: 1rem; }
490
490
  .dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-large {
491
491
  padding-right: 1rem; }
492
- .dnb-button--tertiary .dnb-button__text {
493
- margin: 0; }
494
492
  .dnb-button--has-text {
495
493
  width: auto; }
496
494
  .dnb-button--has-text .dnb-button__icon {
@@ -1 +1 @@
1
- .dnb-icon{color:inherit;display:inline-block;font-size:1rem;height:1em;line-height:1rem;vertical-align:middle;width:1em}.dnb-icon img,.dnb-icon svg{shape-rendering:geometricPrecision;height:inherit;vertical-align:top;width:inherit}.dnb-icon svg[width="100%"]{width:inherit}.dnb-icon svg[height="100%"]{height:inherit}.dnb-icon--inherit-color svg:not([fill]),.dnb-icon--inherit-color svg [fill]{fill:currentColor}.dnb-icon--inherit-color svg [stroke]{stroke:currentColor}.dnb-icon--small{font-size:.75rem}.dnb-icon--default{font-size:1rem}.dnb-icon--medium{font-size:1.5rem}.dnb-icon--large{font-size:2rem}.dnb-icon--x-large{font-size:2.5rem}.dnb-icon--xx-large{font-size:3rem}.dnb-icon--custom-size{height:auto;width:auto}.dnb-icon--auto{font-size:1em}.dnb-icon--auto>.dnb-icon--wrapper{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;justify-content:center}h1 .dnb-icon,h2 .dnb-icon,h3 .dnb-icon,h4 .dnb-icon,h5 .dnb-icon,h6 .dnb-icon{vertical-align:middle}.dnb-icon.dnb-skeleton{color:#ebebeb!important;color:var(--skeleton-color)!important}.dnb-icon.dnb-skeleton:after,.dnb-icon.dnb-skeleton:before{content:none!important}@media screen and (-ms-high-contrast:none){.dnb-icon{-webkit-box-flex:0;-ms-flex:none;flex:none}}.dnb-form-status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-form-status *,.dnb-form-status :after,.dnb-form-status :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-form-status :after,.dnb-form-status :before{text-decoration:inherit;vertical-align:inherit}:root{--form-status-radius:0.25rem}.dnb-form-status{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;-webkit-transition:height .4s cubic-bezier(.42,0,0,1),opacity .4s cubic-bezier(.42,0,0,1),margin .4s cubic-bezier(.42,0,0,1),padding .4s cubic-bezier(.42,0,0,1);transition:height .4s cubic-bezier(.42,0,0,1),opacity .4s cubic-bezier(.42,0,0,1),margin .4s cubic-bezier(.42,0,0,1),padding .4s cubic-bezier(.42,0,0,1)}.dnb-form-status--hidden{height:0;opacity:0;width:0;will-change:height,opacity,margin,padding}.dnb-form-status--is-animating{overflow:hidden;width:auto}.dnb-form-status--disappear,.dnb-form-status--hidden{margin:0!important;padding:0!important}.dnb-form-status__shell{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;border-radius:.25rem;border-radius:var(--form-status-radius);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:flex-start;min-width:inherit}.dnb-form-status__text{color:inherit;cursor:text;font-size:1rem;font-size:var(--font-size-small);line-height:1.25rem;line-height:var(--line-height-small);padding:.625rem 1rem;white-space:normal}button .dnb-form-status__text{cursor:inherit}.dnb-form-status__text .dnb-anchor{font-size:inherit}.dnb-icon+.dnb-form-status__text{padding-left:.5rem}.dnb-form-status__shell>.dnb-icon{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin:.3333333em .3333333em .3333333em .6666666em}.dnb-form-status__size--large .dnb-form-status__text{padding-bottom:1.125rem;padding-top:1.125rem}.dnb-form-status__size--large .dnb-form-status__shell>.dnb-icon{margin-bottom:.6666666em;margin-top:.6666666em}.dnb-form-status--stretch{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.dnb-form-status--stretch .dnb-form-status__shell{width:100%}.dnb-form-status--stretch .dnb-form-status__text{max-width:47rem}.dnb-form-status[hidden]{display:none}.dnb-form-status--no-animation,html[data-visual-test] .dnb-form-status{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}@media screen and (-ms-high-contrast:none){.dnb-form-status__shell>.dnb-icon{border-width:1px}}.dnb-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-button *,.dnb-button :after,.dnb-button :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-button :after,.dnb-button :before{text-decoration:inherit;vertical-align:inherit}:root{--button-font-size:var(--font-size-basis);--button-font-size-small:var(--font-size-small);--button-width:2.5rem;--button-height:2.5rem;--button-width--small:1.5rem;--button-height--small:1.5rem;--button-width--medium:2rem;--button-height--medium:2rem;--button-width--large:3rem;--button-height--large:3rem;--button-icon-size:1rem;--button-border-width:0.0625rem;--button-border-width--hover:0.1875rem;--button-border-radius:calc(var(--button-height)/2);--button-border-radius--small:calc(var(--button-height--small)/2);--button-border-radius--medium:calc(var(--button-height--medium)/2);--button-border-radius--large:calc(var(--button-height--large)/2)}.dnb-button{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:.0625rem solid transparent;border:var(--button-border-width) solid transparent;border-radius:1.25rem;border-radius:var(--button-border-radius);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:1rem;font-size:var(--font-size-small);height:auto;justify-content:center;padding:0;position:relative;text-decoration:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;width:2.5rem;width:var(--button-width)}.dnb-button--wrap{word-wrap:break-word;white-space:normal}.dnb-button,.dnb-core-style .dnb-button{line-height:2.5rem;line-height:var(--button-height)}.dnb-button__text{color:inherit;font-size:1.125rem;font-size:var(--button-font-size);line-height:1.5rem;line-height:var(--line-height-basis);margin:.5rem 0;-webkit-transform:translateY(-.03125rem);transform:translateY(-.03125rem)}.dnb-button__text [data-os=linux]{-webkit-transform:translateY(-.035rem);transform:translateY(-.035rem)}.dnb-button__alignment{display:inline-block;width:0}.dnb-button__bounding{background-color:transparent;border-radius:1.25rem;border-radius:var(--button-border-radius);bottom:0;left:0;position:absolute;right:0;top:0;-webkit-transform:scale(1.1,1.4);transform:scale(1.1,1.4)}.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-button--size-small{border-radius:.75rem;border-radius:var(--button-border-radius--small);font-size:1rem;font-size:var(--button-font-size-small);width:1.5rem;width:var(--button-width--small)}.dnb-button--size-small,.dnb-core-style .dnb-button--size-small{line-height:1.5rem;line-height:var(--button-height--small)}.dnb-button--size-small .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-small{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-small{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-small{padding-right:.5rem}.dnb-button--size-medium{border-radius:1rem;border-radius:var(--button-border-radius--medium);width:2rem;width:var(--button-width--medium)}.dnb-button--size-medium,.dnb-core-style .dnb-button--size-medium{line-height:2rem;line-height:var(--button-height--medium)}.dnb-button--size-medium .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-medium{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-medium{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-medium{padding-right:.5rem}.dnb-button--size-large{border-radius:1.5rem;border-radius:var(--button-border-radius--large);width:3rem;width:var(--button-width--large)}.dnb-button--size-large,.dnb-core-style .dnb-button--size-large{line-height:3rem;line-height:var(--button-height--large)}.dnb-button--has-text.dnb-button--size-large{padding-left:2rem;padding-right:2rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-large{padding-left:1rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-large{padding-right:1rem}.dnb-button--tertiary .dnb-button__text{margin:0}.dnb-button--has-text{width:auto}.dnb-button--has-text .dnb-button__icon{margin:0 .5rem;margin:0 calc(var(--button-icon-size)/2)}.dnb-button--has-text.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button--has-text.dnb-button--has-icon .dnb-button__icon{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.dnb-button--has-text.dnb-button--has-icon .dnb-button__text{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.dnb-button:not(.dnb-button--has-text) .dnb-button__icon{width:inherit}.dnb-button__icon.dnb-icon svg:not([width]):not([height]){height:1rem;height:var(--button-icon-size);width:1rem;width:var(--button-icon-size)}[href]>.dnb-button__icon.dnb-icon{line-height:1.125rem;line-height:var(--button-font-size)}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left>*,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top>*{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.dnb-button--stretch{width:100%}.dnb-button--reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:inherit;font:inherit;height:auto;line-height:inherit;margin:0;overflow:visible;padding:0;text-align:inherit;width:auto}html:not([data-whatintent=touch]) .dnb-button--reset:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--reset:hover:not([disabled]){border:none;-webkit-box-shadow:none;box-shadow:none}.dnb-button--reset:not([disabled]):active,.dnb-button--reset:not([disabled]):focus{outline:none}html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):active,html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):focus{border:none;-webkit-box-shadow:none;box-shadow:none;color:inherit}.dnb-button[type=button],.dnb-button[type=reset],.dnb-button[type=submit]{appearance:none;-moz-appearance:none;-webkit-appearance:none}.dnb-button[disabled]{cursor:not-allowed}.dnb-form-row--vertical .dnb-form-row__content>.dnb-button{-ms-flex-item-align:start;align-self:flex-start}.dnb-form-row--horizontal .dnb-form-row__content .dnb-button__text{white-space:nowrap}.dnb-button+.dnb-form-status{margin-top:.5rem}@media screen and (-ms-high-contrast:none){.dnb-button{-webkit-box-flex:0;-ms-flex:none;flex:none}.dnb-button__icon,.dnb-button__text{-webkit-transform:translateY(-.0625rem);transform:translateY(-.0625rem)}}button.dnb-button::-moz-focus-inner{border:none}:root{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1}.dnb-progress-indicator{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dnb-progress-indicator--horizontal{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.dnb-progress-indicator__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.dnb-progress-indicator__label .dnb-p{-ms-flex-item-align:center;align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{height:100%;position:absolute;width:100%}.dnb-progress-indicator__circular__line{-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.5,0,.5,.99);animation-timing-function:cubic-bezier(.5,0,.5,.99);-webkit-animation-timing-function:var(--progress-indicator-timing);animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{-webkit-animation-name:progress-indicator-circular-line-light;animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:88,88;stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);-webkit-animation-name:progress-indicator-circular-line-dark;animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{-webkit-animation-play-state:paused;animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{-webkit-transition:stroke-dashoffset .6s cubic-bezier(.5,0,.5,.99);transition:stroke-dashoffset .6s cubic-bezier(.5,0,.5,.99);-webkit-transition:stroke-dashoffset .6s var(--progress-indicator-timing);transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:grey}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:#000;stroke:var(--color-black)}.dnb-progress-indicator__linear{border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{border-radius:inherit;bottom:0;left:0;position:absolute;top:0;-webkit-transform-origin:left;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{-webkit-transition:-webkit-transform .2s linear;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{-webkit-animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{-webkit-animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator,.dnb-progress-indicator--visible{-webkit-animation:progress-indicator-fade-in .2s ease-out 1 forwards;animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){-webkit-animation:progress-indicator-fade-out .6s ease-out 1 forwards;animation:progress-indicator-fade-out .6s ease-out 1 forwards}.dnb-progress-indicator--no-animation{-webkit-animation-duration:0ms;animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__circular__line{-webkit-animation-duration:0ms;animation-duration:0ms;-webkit-animation-iteration-count:0;animation-iteration-count:0}html[data-visual-test] .dnb-progress-indicator__bar-transition{-webkit-transition:none;transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@-webkit-keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@-webkit-keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@-webkit-keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@-webkit-keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.dnb-pagination{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-pagination *,.dnb-pagination :after,.dnb-pagination :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-pagination :after,.dnb-pagination :before{text-decoration:inherit;vertical-align:inherit}.dnb-pagination{-webkit-box-orient:vertical;-webkit-box-direction:reverse;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.dnb-pagination__bar,.dnb-pagination__bar__inner,.dnb-pagination__loadbar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.dnb-pagination--left .dnb-pagination__bar{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.dnb-pagination--center .dnb-pagination__bar{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media screen and (max-width:40em){.dnb-pagination--center .dnb-pagination__bar{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.dnb-pagination--right .dnb-pagination__bar{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.dnb-pagination__loadbar{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;cursor:default;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center}.dnb-pagination__indicator{cursor:default}.dnb-pagination__indicator,.dnb-pagination__indicator__inner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-content:center}.dnb-pagination__indicator__inner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.dnb-pagination__dots{-ms-flex-item-align:end;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;align-self:flex-end;border:none;-webkit-box-shadow:none;box-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:1rem;justify-content:center;width:1.25rem}.dnb-pagination__dots>div{border-radius:1.5px;height:3px;margin:0 .1rem;width:3px}.dnb-pagination__marker{height:1px;margin:-1px 0 0 -1px;overflow:hidden;pointer-events:none;position:relative;width:1px}.dnb-pagination__marker__inner,.dnb-pagination__marker td{height:1px;opacity:0;padding:0!important;width:1px}.dnb-pagination__bar__inner,.dnb-pagination__button:first-child{margin-right:1rem}.dnb-pagination__bar__inner .dnb-pagination__button{margin-right:.5rem}.dnb-core-style .dnb-pagination__button,.dnb-pagination__button,.dnb-pagination__dots{margin-bottom:.5rem;margin-right:.5rem;margin-top:.5rem}.dnb-core-style .dnb-pagination__button:last-child,.dnb-pagination__button:last-child,.dnb-pagination__dots:last-child{margin-right:0}
1
+ .dnb-icon{color:inherit;display:inline-block;font-size:1rem;height:1em;line-height:1rem;vertical-align:middle;width:1em}.dnb-icon img,.dnb-icon svg{shape-rendering:geometricPrecision;height:inherit;vertical-align:top;width:inherit}.dnb-icon svg[width="100%"]{width:inherit}.dnb-icon svg[height="100%"]{height:inherit}.dnb-icon--inherit-color svg:not([fill]),.dnb-icon--inherit-color svg [fill]{fill:currentColor}.dnb-icon--inherit-color svg [stroke]{stroke:currentColor}.dnb-icon--small{font-size:.75rem}.dnb-icon--default{font-size:1rem}.dnb-icon--medium{font-size:1.5rem}.dnb-icon--large{font-size:2rem}.dnb-icon--x-large{font-size:2.5rem}.dnb-icon--xx-large{font-size:3rem}.dnb-icon--custom-size{height:auto;width:auto}.dnb-icon--auto{font-size:1em}.dnb-icon--auto>.dnb-icon--wrapper{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;justify-content:center}h1 .dnb-icon,h2 .dnb-icon,h3 .dnb-icon,h4 .dnb-icon,h5 .dnb-icon,h6 .dnb-icon{vertical-align:middle}.dnb-icon.dnb-skeleton{color:#ebebeb!important;color:var(--skeleton-color)!important}.dnb-icon.dnb-skeleton:after,.dnb-icon.dnb-skeleton:before{content:none!important}@media screen and (-ms-high-contrast:none){.dnb-icon{-webkit-box-flex:0;-ms-flex:none;flex:none}}.dnb-form-status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-form-status *,.dnb-form-status :after,.dnb-form-status :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-form-status :after,.dnb-form-status :before{text-decoration:inherit;vertical-align:inherit}:root{--form-status-radius:0.25rem}.dnb-form-status{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;-webkit-transition:height .4s cubic-bezier(.42,0,0,1),opacity .4s cubic-bezier(.42,0,0,1),margin .4s cubic-bezier(.42,0,0,1),padding .4s cubic-bezier(.42,0,0,1);transition:height .4s cubic-bezier(.42,0,0,1),opacity .4s cubic-bezier(.42,0,0,1),margin .4s cubic-bezier(.42,0,0,1),padding .4s cubic-bezier(.42,0,0,1)}.dnb-form-status--hidden{height:0;opacity:0;width:0;will-change:height,opacity,margin,padding}.dnb-form-status--is-animating{overflow:hidden;width:auto}.dnb-form-status--disappear,.dnb-form-status--hidden{margin:0!important;padding:0!important}.dnb-form-status__shell{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;border-radius:.25rem;border-radius:var(--form-status-radius);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:flex-start;min-width:inherit}.dnb-form-status__text{color:inherit;cursor:text;font-size:1rem;font-size:var(--font-size-small);line-height:1.25rem;line-height:var(--line-height-small);padding:.625rem 1rem;white-space:normal}button .dnb-form-status__text{cursor:inherit}.dnb-form-status__text .dnb-anchor{font-size:inherit}.dnb-icon+.dnb-form-status__text{padding-left:.5rem}.dnb-form-status__shell>.dnb-icon{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin:.3333333em .3333333em .3333333em .6666666em}.dnb-form-status__size--large .dnb-form-status__text{padding-bottom:1.125rem;padding-top:1.125rem}.dnb-form-status__size--large .dnb-form-status__shell>.dnb-icon{margin-bottom:.6666666em;margin-top:.6666666em}.dnb-form-status--stretch{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.dnb-form-status--stretch .dnb-form-status__shell{width:100%}.dnb-form-status--stretch .dnb-form-status__text{max-width:47rem}.dnb-form-status[hidden]{display:none}.dnb-form-status--no-animation,html[data-visual-test] .dnb-form-status{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}@media screen and (-ms-high-contrast:none){.dnb-form-status__shell>.dnb-icon{border-width:1px}}.dnb-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-button *,.dnb-button :after,.dnb-button :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-button :after,.dnb-button :before{text-decoration:inherit;vertical-align:inherit}:root{--button-font-size:var(--font-size-basis);--button-font-size-small:var(--font-size-small);--button-width:2.5rem;--button-height:2.5rem;--button-width--small:1.5rem;--button-height--small:1.5rem;--button-width--medium:2rem;--button-height--medium:2rem;--button-width--large:3rem;--button-height--large:3rem;--button-icon-size:1rem;--button-border-width:0.0625rem;--button-border-width--hover:0.1875rem;--button-border-radius:calc(var(--button-height)/2);--button-border-radius--small:calc(var(--button-height--small)/2);--button-border-radius--medium:calc(var(--button-height--medium)/2);--button-border-radius--large:calc(var(--button-height--large)/2)}.dnb-button{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:.0625rem solid transparent;border:var(--button-border-width) solid transparent;border-radius:1.25rem;border-radius:var(--button-border-radius);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:1rem;font-size:var(--font-size-small);height:auto;justify-content:center;padding:0;position:relative;text-decoration:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;width:2.5rem;width:var(--button-width)}.dnb-button--wrap{word-wrap:break-word;white-space:normal}.dnb-button,.dnb-core-style .dnb-button{line-height:2.5rem;line-height:var(--button-height)}.dnb-button__text{color:inherit;font-size:1.125rem;font-size:var(--button-font-size);line-height:1.5rem;line-height:var(--line-height-basis);margin:.5rem 0;-webkit-transform:translateY(-.03125rem);transform:translateY(-.03125rem)}.dnb-button__text [data-os=linux]{-webkit-transform:translateY(-.035rem);transform:translateY(-.035rem)}.dnb-button__alignment{display:inline-block;width:0}.dnb-button__bounding{background-color:transparent;border-radius:1.25rem;border-radius:var(--button-border-radius);bottom:0;left:0;position:absolute;right:0;top:0;-webkit-transform:scale(1.1,1.4);transform:scale(1.1,1.4)}.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-button--size-small{border-radius:.75rem;border-radius:var(--button-border-radius--small);font-size:1rem;font-size:var(--button-font-size-small);width:1.5rem;width:var(--button-width--small)}.dnb-button--size-small,.dnb-core-style .dnb-button--size-small{line-height:1.5rem;line-height:var(--button-height--small)}.dnb-button--size-small .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-small{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-small{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-small{padding-right:.5rem}.dnb-button--size-medium{border-radius:1rem;border-radius:var(--button-border-radius--medium);width:2rem;width:var(--button-width--medium)}.dnb-button--size-medium,.dnb-core-style .dnb-button--size-medium{line-height:2rem;line-height:var(--button-height--medium)}.dnb-button--size-medium .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-medium{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-medium{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-medium{padding-right:.5rem}.dnb-button--size-large{border-radius:1.5rem;border-radius:var(--button-border-radius--large);width:3rem;width:var(--button-width--large)}.dnb-button--size-large,.dnb-core-style .dnb-button--size-large{line-height:3rem;line-height:var(--button-height--large)}.dnb-button--has-text.dnb-button--size-large{padding-left:2rem;padding-right:2rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-large{padding-left:1rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-large{padding-right:1rem}.dnb-button--has-text{width:auto}.dnb-button--has-text .dnb-button__icon{margin:0 .5rem;margin:0 calc(var(--button-icon-size)/2)}.dnb-button--has-text.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button--has-text.dnb-button--has-icon .dnb-button__icon{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.dnb-button--has-text.dnb-button--has-icon .dnb-button__text{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.dnb-button:not(.dnb-button--has-text) .dnb-button__icon{width:inherit}.dnb-button__icon.dnb-icon svg:not([width]):not([height]){height:1rem;height:var(--button-icon-size);width:1rem;width:var(--button-icon-size)}[href]>.dnb-button__icon.dnb-icon{line-height:1.125rem;line-height:var(--button-font-size)}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left>*,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top>*{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.dnb-button--stretch{width:100%}.dnb-button--reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:inherit;font:inherit;height:auto;line-height:inherit;margin:0;overflow:visible;padding:0;text-align:inherit;width:auto}html:not([data-whatintent=touch]) .dnb-button--reset:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--reset:hover:not([disabled]){border:none;-webkit-box-shadow:none;box-shadow:none}.dnb-button--reset:not([disabled]):active,.dnb-button--reset:not([disabled]):focus{outline:none}html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):active,html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):focus{border:none;-webkit-box-shadow:none;box-shadow:none;color:inherit}.dnb-button[type=button],.dnb-button[type=reset],.dnb-button[type=submit]{appearance:none;-moz-appearance:none;-webkit-appearance:none}.dnb-button[disabled]{cursor:not-allowed}.dnb-form-row--vertical .dnb-form-row__content>.dnb-button{-ms-flex-item-align:start;align-self:flex-start}.dnb-form-row--horizontal .dnb-form-row__content .dnb-button__text{white-space:nowrap}.dnb-button+.dnb-form-status{margin-top:.5rem}@media screen and (-ms-high-contrast:none){.dnb-button{-webkit-box-flex:0;-ms-flex:none;flex:none}.dnb-button__icon,.dnb-button__text{-webkit-transform:translateY(-.0625rem);transform:translateY(-.0625rem)}}button.dnb-button::-moz-focus-inner{border:none}:root{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1}.dnb-progress-indicator{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dnb-progress-indicator--horizontal{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.dnb-progress-indicator__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.dnb-progress-indicator__label .dnb-p{-ms-flex-item-align:center;align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{height:100%;position:absolute;width:100%}.dnb-progress-indicator__circular__line{-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.5,0,.5,.99);animation-timing-function:cubic-bezier(.5,0,.5,.99);-webkit-animation-timing-function:var(--progress-indicator-timing);animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{-webkit-animation-name:progress-indicator-circular-line-light;animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:88,88;stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);-webkit-animation-name:progress-indicator-circular-line-dark;animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{-webkit-animation-play-state:paused;animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{-webkit-transition:stroke-dashoffset .6s cubic-bezier(.5,0,.5,.99);transition:stroke-dashoffset .6s cubic-bezier(.5,0,.5,.99);-webkit-transition:stroke-dashoffset .6s var(--progress-indicator-timing);transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:grey}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:#000;stroke:var(--color-black)}.dnb-progress-indicator__linear{border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{border-radius:inherit;bottom:0;left:0;position:absolute;top:0;-webkit-transform-origin:left;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{-webkit-transition:-webkit-transform .2s linear;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{-webkit-animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{-webkit-animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator,.dnb-progress-indicator--visible{-webkit-animation:progress-indicator-fade-in .2s ease-out 1 forwards;animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){-webkit-animation:progress-indicator-fade-out .6s ease-out 1 forwards;animation:progress-indicator-fade-out .6s ease-out 1 forwards}.dnb-progress-indicator--no-animation{-webkit-animation-duration:0ms;animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__circular__line{-webkit-animation-duration:0ms;animation-duration:0ms;-webkit-animation-iteration-count:0;animation-iteration-count:0}html[data-visual-test] .dnb-progress-indicator__bar-transition{-webkit-transition:none;transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@-webkit-keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@-webkit-keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@-webkit-keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:88;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:1;stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@-webkit-keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.dnb-pagination{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-pagination *,.dnb-pagination :after,.dnb-pagination :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-pagination :after,.dnb-pagination :before{text-decoration:inherit;vertical-align:inherit}.dnb-pagination{-webkit-box-orient:vertical;-webkit-box-direction:reverse;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.dnb-pagination__bar,.dnb-pagination__bar__inner,.dnb-pagination__loadbar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.dnb-pagination--left .dnb-pagination__bar{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.dnb-pagination--center .dnb-pagination__bar{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media screen and (max-width:40em){.dnb-pagination--center .dnb-pagination__bar{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.dnb-pagination--right .dnb-pagination__bar{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.dnb-pagination__loadbar{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;cursor:default;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center}.dnb-pagination__indicator{cursor:default}.dnb-pagination__indicator,.dnb-pagination__indicator__inner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-content:center}.dnb-pagination__indicator__inner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.dnb-pagination__dots{-ms-flex-item-align:end;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;align-self:flex-end;border:none;-webkit-box-shadow:none;box-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:1rem;justify-content:center;width:1.25rem}.dnb-pagination__dots>div{border-radius:1.5px;height:3px;margin:0 .1rem;width:3px}.dnb-pagination__marker{height:1px;margin:-1px 0 0 -1px;overflow:hidden;pointer-events:none;position:relative;width:1px}.dnb-pagination__marker__inner,.dnb-pagination__marker td{height:1px;opacity:0;padding:0!important;width:1px}.dnb-pagination__bar__inner,.dnb-pagination__button:first-child{margin-right:1rem}.dnb-pagination__bar__inner .dnb-pagination__button{margin-right:.5rem}.dnb-core-style .dnb-pagination__button,.dnb-pagination__button,.dnb-pagination__dots{margin-bottom:.5rem;margin-right:.5rem;margin-top:.5rem}.dnb-core-style .dnb-pagination__button:last-child,.dnb-pagination__button:last-child,.dnb-pagination__dots:last-child{margin-right:0}