@dnb/eufemia 9.16.0 → 9.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. package/CHANGELOG.md +55 -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 +6 -3
  38. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  39. package/cjs/components/breadcrumb/Breadcrumb.js +23 -22
  40. package/cjs/components/breadcrumb/BreadcrumbItem.js +6 -6
  41. package/cjs/components/breadcrumb/style/_breadcrumb.scss +7 -5
  42. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +10 -10
  43. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  44. package/cjs/components/button/Button.d.ts +0 -1
  45. package/cjs/components/button/Button.js +100 -144
  46. package/cjs/components/button/style/dnb-button.css +1 -1
  47. package/cjs/components/button/style/dnb-button.min.css +1 -1
  48. package/cjs/components/button/style/themes/dnb-button-theme-open-banking.css +6 -14
  49. package/cjs/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  50. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +6 -14
  51. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  52. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +6 -18
  53. package/cjs/components/checkbox/style/dnb-checkbox.css +1 -1
  54. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  55. package/cjs/components/date-picker/style/dnb-date-picker.css +11 -8
  56. package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
  57. package/cjs/components/dropdown/style/dnb-dropdown.css +2 -2
  58. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  59. package/cjs/components/form-set/FormSet.d.ts +1 -1
  60. package/cjs/components/form-status/style/_form-status.scss +1 -1
  61. package/cjs/components/form-status/style/dnb-form-status.css +1 -1
  62. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  63. package/cjs/components/global-error/style/dnb-global-error.css +1 -1
  64. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  65. package/cjs/components/global-status/GlobalStatus.js +21 -73
  66. package/cjs/components/global-status/style/_global-status.scss +14 -15
  67. package/cjs/components/global-status/style/dnb-global-status.css +15 -19
  68. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  69. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  70. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  71. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  72. package/cjs/components/help-button/HelpButton.js +2 -2
  73. package/cjs/components/input/style/_input.scss +5 -1
  74. package/cjs/components/input/style/dnb-input.css +5 -2
  75. package/cjs/components/input/style/dnb-input.min.css +2 -2
  76. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  77. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  78. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  79. package/cjs/components/input-masked/InputMasked.d.ts +2 -2
  80. package/cjs/components/input-masked/InputMaskedElement.js +2 -7
  81. package/cjs/components/input-masked/InputMaskedHooks.js +79 -36
  82. package/cjs/components/input-masked/InputMaskedUtils.js +34 -18
  83. package/cjs/components/input-masked/TextMask.js +1 -1
  84. package/cjs/components/input-masked/style/_input-masked.scss +1 -3
  85. package/cjs/components/input-masked/style/dnb-input-masked.css +6 -3
  86. package/cjs/components/input-masked/style/dnb-input-masked.min.css +2 -2
  87. package/cjs/components/modal/Modal.js +1 -1
  88. package/cjs/components/modal/ModalContent.js +44 -28
  89. package/cjs/components/modal/style/_modal-mixins.scss +4 -4
  90. package/cjs/components/modal/style/_modal.scss +14 -31
  91. package/cjs/components/modal/style/dnb-modal.css +29 -47
  92. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  93. package/cjs/components/number-format/NumberUtils.d.ts +2 -2
  94. package/cjs/components/pagination/Pagination.d.ts +6 -0
  95. package/cjs/components/pagination/Pagination.js +2 -0
  96. package/cjs/components/pagination/PaginationBar.js +1 -1
  97. package/cjs/components/pagination/PaginationInfinity.js +152 -89
  98. package/cjs/components/pagination/PaginationProvider.js +65 -68
  99. package/cjs/components/pagination/style/dnb-pagination.css +1 -1
  100. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  101. package/cjs/components/radio/style/dnb-radio.css +1 -1
  102. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  103. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +79 -21
  104. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  105. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +16 -3
  106. package/cjs/components/slider/style/dnb-slider.css +2 -2
  107. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  108. package/cjs/components/step-indicator/StepIndicator.d.ts +1 -1
  109. package/cjs/components/step-indicator/StepIndicator.js +4 -98
  110. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  111. package/cjs/components/step-indicator/StepIndicatorContext.js +221 -19
  112. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -6
  113. package/cjs/components/step-indicator/StepIndicatorModal.js +40 -49
  114. package/cjs/components/step-indicator/StepIndicatorProps.js +1 -1
  115. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  116. package/cjs/components/step-indicator/StepIndicatorSidebar.js +57 -54
  117. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +3 -3
  118. package/cjs/components/step-indicator/style/_step-indicator.scss +25 -4
  119. package/cjs/components/step-indicator/style/dnb-step-indicator.css +21 -6
  120. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  121. package/cjs/components/switch/style/dnb-switch.css +1 -1
  122. package/cjs/components/switch/style/dnb-switch.min.css +1 -1
  123. package/cjs/components/tabs/style/_tabs.scss +5 -1
  124. package/cjs/components/tabs/style/dnb-tabs.css +4 -1
  125. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  126. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  127. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  128. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  129. package/cjs/components/textarea/style/_textarea.scss +4 -0
  130. package/cjs/components/textarea/style/dnb-textarea.css +4 -1
  131. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  132. package/cjs/components/toggle-button/ToggleButton.js +6 -2
  133. package/cjs/components/toggle-button/style/dnb-toggle-button.css +4 -4
  134. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  135. package/cjs/icons/above_the_line.js +1 -1
  136. package/cjs/icons/facebook.js +35 -0
  137. package/cjs/icons/facebook_medium.js +35 -0
  138. package/cjs/icons/fridge.js +1 -1
  139. package/cjs/icons/icons-meta.json +24 -0
  140. package/cjs/icons/icons-pdf.lock +1 -1
  141. package/cjs/icons/icons-svg.lock +1 -1
  142. package/cjs/icons/index.d.ts +16 -0
  143. package/cjs/icons/index.js +64 -0
  144. package/cjs/icons/information_circled.js +11 -4
  145. package/cjs/icons/information_circled_medium.js +10 -4
  146. package/cjs/icons/instagram.js +47 -0
  147. package/cjs/icons/instagram_medium.js +54 -0
  148. package/cjs/icons/linkedin.js +32 -0
  149. package/cjs/icons/linkedin_medium.js +32 -0
  150. package/cjs/icons/motorcycle_medium.js +2 -2
  151. package/cjs/icons/paragraph.js +1 -1
  152. package/cjs/icons/scooter_medium.js +2 -2
  153. package/cjs/icons/secondary_icons.js +32 -0
  154. package/cjs/icons/secondary_icons_medium.js +32 -0
  155. package/cjs/icons/tag.js +41 -0
  156. package/cjs/icons/tag_medium.js +41 -0
  157. package/cjs/shared/EventEmitter.js +6 -8
  158. package/cjs/shared/component-helper.js +108 -74
  159. package/cjs/shared/helpers.js +55 -19
  160. package/cjs/style/dnb-ui-components.css +85 -83
  161. package/cjs/style/dnb-ui-components.min.css +5 -5
  162. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +141 -133
  163. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  164. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +135 -119
  165. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  166. package/components/accordion/Accordion.d.ts +1 -1
  167. package/components/autocomplete/style/dnb-autocomplete.css +6 -3
  168. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  169. package/components/breadcrumb/Breadcrumb.js +9 -7
  170. package/components/breadcrumb/Breadcrumb.tsx +20 -5
  171. package/components/breadcrumb/BreadcrumbItem.js +4 -4
  172. package/components/breadcrumb/BreadcrumbItem.tsx +12 -5
  173. package/components/breadcrumb/style/_breadcrumb.scss +7 -5
  174. package/components/breadcrumb/style/dnb-breadcrumb.css +10 -10
  175. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  176. package/components/button/Button.d.ts +0 -1
  177. package/components/button/Button.js +95 -135
  178. package/components/button/style/dnb-button.css +1 -1
  179. package/components/button/style/dnb-button.min.css +1 -1
  180. package/components/button/style/themes/dnb-button-theme-open-banking.css +6 -14
  181. package/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  182. package/components/button/style/themes/dnb-button-theme-ui.css +6 -14
  183. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  184. package/components/button/style/themes/dnb-button-theme-ui.scss +6 -18
  185. package/components/checkbox/style/dnb-checkbox.css +1 -1
  186. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  187. package/components/date-picker/style/dnb-date-picker.css +11 -8
  188. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  189. package/components/dropdown/style/dnb-dropdown.css +2 -2
  190. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  191. package/components/form-set/FormSet.d.ts +1 -1
  192. package/components/form-status/style/_form-status.scss +1 -1
  193. package/components/form-status/style/dnb-form-status.css +1 -1
  194. package/components/form-status/style/dnb-form-status.min.css +1 -1
  195. package/components/global-error/style/dnb-global-error.css +1 -1
  196. package/components/global-error/style/dnb-global-error.min.css +1 -1
  197. package/components/global-status/GlobalStatus.js +18 -71
  198. package/components/global-status/style/_global-status.scss +14 -15
  199. package/components/global-status/style/dnb-global-status.css +15 -19
  200. package/components/global-status/style/dnb-global-status.min.css +1 -1
  201. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  202. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  203. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  204. package/components/help-button/HelpButton.js +2 -2
  205. package/components/input/style/_input.scss +5 -1
  206. package/components/input/style/dnb-input.css +5 -2
  207. package/components/input/style/dnb-input.min.css +2 -2
  208. package/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  209. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  210. package/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  211. package/components/input-masked/InputMasked.d.ts +2 -2
  212. package/components/input-masked/InputMaskedElement.js +2 -6
  213. package/components/input-masked/InputMaskedHooks.js +76 -36
  214. package/components/input-masked/InputMaskedUtils.js +32 -17
  215. package/components/input-masked/TextMask.js +1 -1
  216. package/components/input-masked/style/_input-masked.scss +1 -3
  217. package/components/input-masked/style/dnb-input-masked.css +6 -3
  218. package/components/input-masked/style/dnb-input-masked.min.css +2 -2
  219. package/components/modal/Modal.js +1 -1
  220. package/components/modal/ModalContent.js +43 -27
  221. package/components/modal/style/_modal-mixins.scss +4 -4
  222. package/components/modal/style/_modal.scss +14 -31
  223. package/components/modal/style/dnb-modal.css +29 -47
  224. package/components/modal/style/dnb-modal.min.css +1 -1
  225. package/components/number-format/NumberUtils.d.ts +2 -2
  226. package/components/pagination/Pagination.d.ts +6 -0
  227. package/components/pagination/Pagination.js +2 -0
  228. package/components/pagination/PaginationBar.js +1 -1
  229. package/components/pagination/PaginationInfinity.js +137 -67
  230. package/components/pagination/PaginationProvider.js +64 -68
  231. package/components/pagination/style/dnb-pagination.css +1 -1
  232. package/components/pagination/style/dnb-pagination.min.css +1 -1
  233. package/components/radio/style/dnb-radio.css +1 -1
  234. package/components/radio/style/dnb-radio.min.css +1 -1
  235. package/components/section/style/themes/dnb-section-theme-ui.css +79 -21
  236. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  237. package/components/section/style/themes/dnb-section-theme-ui.scss +16 -3
  238. package/components/slider/style/dnb-slider.css +2 -2
  239. package/components/slider/style/dnb-slider.min.css +1 -1
  240. package/components/step-indicator/StepIndicator.d.ts +1 -1
  241. package/components/step-indicator/StepIndicator.js +4 -91
  242. package/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  243. package/components/step-indicator/StepIndicatorContext.js +196 -18
  244. package/components/step-indicator/StepIndicatorItem.js +2 -5
  245. package/components/step-indicator/StepIndicatorModal.js +33 -32
  246. package/components/step-indicator/StepIndicatorProps.js +1 -1
  247. package/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  248. package/components/step-indicator/StepIndicatorSidebar.js +54 -52
  249. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -3
  250. package/components/step-indicator/style/_step-indicator.scss +25 -4
  251. package/components/step-indicator/style/dnb-step-indicator.css +21 -6
  252. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  253. package/components/switch/style/dnb-switch.css +1 -1
  254. package/components/switch/style/dnb-switch.min.css +1 -1
  255. package/components/tabs/style/_tabs.scss +5 -1
  256. package/components/tabs/style/dnb-tabs.css +4 -1
  257. package/components/tabs/style/dnb-tabs.min.css +1 -1
  258. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  259. package/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  260. package/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  261. package/components/textarea/style/_textarea.scss +4 -0
  262. package/components/textarea/style/dnb-textarea.css +4 -1
  263. package/components/textarea/style/dnb-textarea.min.css +1 -1
  264. package/components/toggle-button/ToggleButton.js +6 -2
  265. package/components/toggle-button/style/dnb-toggle-button.css +4 -4
  266. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  267. package/es/components/accordion/Accordion.d.ts +1 -1
  268. package/es/components/autocomplete/style/dnb-autocomplete.css +6 -3
  269. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  270. package/es/components/breadcrumb/Breadcrumb.js +9 -7
  271. package/es/components/breadcrumb/Breadcrumb.tsx +20 -5
  272. package/es/components/breadcrumb/BreadcrumbItem.js +4 -4
  273. package/es/components/breadcrumb/BreadcrumbItem.tsx +12 -5
  274. package/es/components/breadcrumb/style/_breadcrumb.scss +7 -5
  275. package/es/components/breadcrumb/style/dnb-breadcrumb.css +10 -10
  276. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  277. package/es/components/button/Button.d.ts +0 -1
  278. package/es/components/button/Button.js +88 -114
  279. package/es/components/button/style/dnb-button.css +1 -1
  280. package/es/components/button/style/dnb-button.min.css +1 -1
  281. package/es/components/button/style/themes/dnb-button-theme-open-banking.css +6 -14
  282. package/es/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  283. package/es/components/button/style/themes/dnb-button-theme-ui.css +6 -14
  284. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  285. package/es/components/button/style/themes/dnb-button-theme-ui.scss +6 -18
  286. package/es/components/checkbox/style/dnb-checkbox.css +1 -1
  287. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  288. package/es/components/date-picker/style/dnb-date-picker.css +11 -8
  289. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  290. package/es/components/dropdown/style/dnb-dropdown.css +2 -2
  291. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  292. package/es/components/form-set/FormSet.d.ts +1 -1
  293. package/es/components/form-status/style/_form-status.scss +1 -1
  294. package/es/components/form-status/style/dnb-form-status.css +1 -1
  295. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  296. package/es/components/global-error/style/dnb-global-error.css +1 -1
  297. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  298. package/es/components/global-status/GlobalStatus.js +18 -67
  299. package/es/components/global-status/style/_global-status.scss +14 -15
  300. package/es/components/global-status/style/dnb-global-status.css +15 -19
  301. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  302. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  303. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  304. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  305. package/es/components/help-button/HelpButton.js +2 -2
  306. package/es/components/input/style/_input.scss +5 -1
  307. package/es/components/input/style/dnb-input.css +5 -2
  308. package/es/components/input/style/dnb-input.min.css +2 -2
  309. package/es/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  310. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  311. package/es/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  312. package/es/components/input-masked/InputMasked.d.ts +2 -2
  313. package/es/components/input-masked/InputMaskedElement.js +2 -6
  314. package/es/components/input-masked/InputMaskedHooks.js +70 -31
  315. package/es/components/input-masked/InputMaskedUtils.js +31 -16
  316. package/es/components/input-masked/TextMask.js +1 -1
  317. package/es/components/input-masked/style/_input-masked.scss +1 -3
  318. package/es/components/input-masked/style/dnb-input-masked.css +6 -3
  319. package/es/components/input-masked/style/dnb-input-masked.min.css +2 -2
  320. package/es/components/modal/Modal.js +1 -1
  321. package/es/components/modal/ModalContent.js +32 -19
  322. package/es/components/modal/style/_modal-mixins.scss +4 -4
  323. package/es/components/modal/style/_modal.scss +14 -31
  324. package/es/components/modal/style/dnb-modal.css +29 -47
  325. package/es/components/modal/style/dnb-modal.min.css +1 -1
  326. package/es/components/number-format/NumberUtils.d.ts +2 -2
  327. package/es/components/pagination/Pagination.d.ts +6 -0
  328. package/es/components/pagination/Pagination.js +2 -0
  329. package/es/components/pagination/PaginationBar.js +1 -1
  330. package/es/components/pagination/PaginationInfinity.js +110 -37
  331. package/es/components/pagination/PaginationProvider.js +57 -61
  332. package/es/components/pagination/style/dnb-pagination.css +1 -1
  333. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  334. package/es/components/radio/style/dnb-radio.css +1 -1
  335. package/es/components/radio/style/dnb-radio.min.css +1 -1
  336. package/es/components/section/style/themes/dnb-section-theme-ui.css +79 -21
  337. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  338. package/es/components/section/style/themes/dnb-section-theme-ui.scss +16 -3
  339. package/es/components/slider/style/dnb-slider.css +2 -2
  340. package/es/components/slider/style/dnb-slider.min.css +1 -1
  341. package/es/components/step-indicator/StepIndicator.d.ts +1 -1
  342. package/es/components/step-indicator/StepIndicator.js +3 -79
  343. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  344. package/es/components/step-indicator/StepIndicatorContext.js +165 -17
  345. package/es/components/step-indicator/StepIndicatorItem.js +1 -5
  346. package/es/components/step-indicator/StepIndicatorModal.js +31 -34
  347. package/es/components/step-indicator/StepIndicatorProps.js +1 -1
  348. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  349. package/es/components/step-indicator/StepIndicatorSidebar.js +44 -46
  350. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -3
  351. package/es/components/step-indicator/style/_step-indicator.scss +25 -4
  352. package/es/components/step-indicator/style/dnb-step-indicator.css +21 -6
  353. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  354. package/es/components/switch/style/dnb-switch.css +1 -1
  355. package/es/components/switch/style/dnb-switch.min.css +1 -1
  356. package/es/components/tabs/style/_tabs.scss +5 -1
  357. package/es/components/tabs/style/dnb-tabs.css +4 -1
  358. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  359. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  360. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  361. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  362. package/es/components/textarea/style/_textarea.scss +4 -0
  363. package/es/components/textarea/style/dnb-textarea.css +4 -1
  364. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  365. package/es/components/toggle-button/ToggleButton.js +6 -2
  366. package/es/components/toggle-button/style/dnb-toggle-button.css +4 -4
  367. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  368. package/es/icons/above_the_line.js +1 -1
  369. package/es/icons/facebook.js +23 -0
  370. package/es/icons/facebook_medium.js +23 -0
  371. package/es/icons/fridge.js +1 -1
  372. package/es/icons/icons-meta.json +24 -0
  373. package/es/icons/icons-pdf.lock +1 -1
  374. package/es/icons/icons-svg.lock +1 -1
  375. package/es/icons/index.d.ts +16 -0
  376. package/es/icons/index.js +9 -1
  377. package/es/icons/information_circled.js +11 -4
  378. package/es/icons/information_circled_medium.js +10 -4
  379. package/es/icons/instagram.js +35 -0
  380. package/es/icons/instagram_medium.js +42 -0
  381. package/es/icons/linkedin.js +20 -0
  382. package/es/icons/linkedin_medium.js +20 -0
  383. package/es/icons/motorcycle_medium.js +2 -2
  384. package/es/icons/paragraph.js +1 -1
  385. package/es/icons/scooter_medium.js +2 -2
  386. package/es/icons/secondary_icons.js +5 -1
  387. package/es/icons/secondary_icons_medium.js +5 -1
  388. package/es/icons/tag.js +29 -0
  389. package/es/icons/tag_medium.js +29 -0
  390. package/es/shared/EventEmitter.js +5 -8
  391. package/es/shared/component-helper.js +58 -49
  392. package/es/shared/helpers.js +28 -12
  393. package/es/style/dnb-ui-components.css +85 -83
  394. package/es/style/dnb-ui-components.min.css +5 -5
  395. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +141 -133
  396. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  397. package/es/style/themes/theme-ui/dnb-theme-ui.css +135 -119
  398. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  399. package/esm/components/accordion/Accordion.d.ts +1 -1
  400. package/esm/components/autocomplete/style/dnb-autocomplete.css +6 -3
  401. package/esm/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  402. package/esm/components/breadcrumb/Breadcrumb.js +9 -7
  403. package/esm/components/breadcrumb/Breadcrumb.tsx +20 -5
  404. package/esm/components/breadcrumb/BreadcrumbItem.js +4 -4
  405. package/esm/components/breadcrumb/BreadcrumbItem.tsx +12 -5
  406. package/esm/components/breadcrumb/style/_breadcrumb.scss +7 -5
  407. package/esm/components/breadcrumb/style/dnb-breadcrumb.css +10 -10
  408. package/esm/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  409. package/esm/components/button/Button.d.ts +0 -1
  410. package/esm/components/button/Button.js +95 -135
  411. package/esm/components/button/style/dnb-button.css +1 -1
  412. package/esm/components/button/style/dnb-button.min.css +1 -1
  413. package/esm/components/button/style/themes/dnb-button-theme-open-banking.css +6 -14
  414. package/esm/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  415. package/esm/components/button/style/themes/dnb-button-theme-ui.css +6 -14
  416. package/esm/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  417. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +6 -18
  418. package/esm/components/checkbox/style/dnb-checkbox.css +1 -1
  419. package/esm/components/checkbox/style/dnb-checkbox.min.css +1 -1
  420. package/esm/components/date-picker/style/dnb-date-picker.css +11 -8
  421. package/esm/components/date-picker/style/dnb-date-picker.min.css +2 -2
  422. package/esm/components/dropdown/style/dnb-dropdown.css +2 -2
  423. package/esm/components/dropdown/style/dnb-dropdown.min.css +1 -1
  424. package/esm/components/form-set/FormSet.d.ts +1 -1
  425. package/esm/components/form-status/style/_form-status.scss +1 -1
  426. package/esm/components/form-status/style/dnb-form-status.css +1 -1
  427. package/esm/components/form-status/style/dnb-form-status.min.css +1 -1
  428. package/esm/components/global-error/style/dnb-global-error.css +1 -1
  429. package/esm/components/global-error/style/dnb-global-error.min.css +1 -1
  430. package/esm/components/global-status/GlobalStatus.js +18 -71
  431. package/esm/components/global-status/style/_global-status.scss +14 -15
  432. package/esm/components/global-status/style/dnb-global-status.css +15 -19
  433. package/esm/components/global-status/style/dnb-global-status.min.css +1 -1
  434. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  435. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  436. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  437. package/esm/components/help-button/HelpButton.js +2 -2
  438. package/esm/components/input/style/_input.scss +5 -1
  439. package/esm/components/input/style/dnb-input.css +5 -2
  440. package/esm/components/input/style/dnb-input.min.css +2 -2
  441. package/esm/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  442. package/esm/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  443. package/esm/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  444. package/esm/components/input-masked/InputMasked.d.ts +2 -2
  445. package/esm/components/input-masked/InputMaskedElement.js +2 -6
  446. package/esm/components/input-masked/InputMaskedHooks.js +76 -36
  447. package/esm/components/input-masked/InputMaskedUtils.js +32 -17
  448. package/esm/components/input-masked/TextMask.js +1 -1
  449. package/esm/components/input-masked/style/_input-masked.scss +1 -3
  450. package/esm/components/input-masked/style/dnb-input-masked.css +6 -3
  451. package/esm/components/input-masked/style/dnb-input-masked.min.css +2 -2
  452. package/esm/components/modal/Modal.js +1 -1
  453. package/esm/components/modal/ModalContent.js +43 -27
  454. package/esm/components/modal/style/_modal-mixins.scss +4 -4
  455. package/esm/components/modal/style/_modal.scss +14 -31
  456. package/esm/components/modal/style/dnb-modal.css +29 -47
  457. package/esm/components/modal/style/dnb-modal.min.css +1 -1
  458. package/esm/components/number-format/NumberUtils.d.ts +2 -2
  459. package/esm/components/pagination/Pagination.d.ts +6 -0
  460. package/esm/components/pagination/Pagination.js +2 -0
  461. package/esm/components/pagination/PaginationBar.js +1 -1
  462. package/esm/components/pagination/PaginationInfinity.js +137 -67
  463. package/esm/components/pagination/PaginationProvider.js +64 -68
  464. package/esm/components/pagination/style/dnb-pagination.css +1 -1
  465. package/esm/components/pagination/style/dnb-pagination.min.css +1 -1
  466. package/esm/components/radio/style/dnb-radio.css +1 -1
  467. package/esm/components/radio/style/dnb-radio.min.css +1 -1
  468. package/esm/components/section/style/themes/dnb-section-theme-ui.css +79 -21
  469. package/esm/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  470. package/esm/components/section/style/themes/dnb-section-theme-ui.scss +16 -3
  471. package/esm/components/slider/style/dnb-slider.css +2 -2
  472. package/esm/components/slider/style/dnb-slider.min.css +1 -1
  473. package/esm/components/step-indicator/StepIndicator.d.ts +1 -1
  474. package/esm/components/step-indicator/StepIndicator.js +4 -91
  475. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  476. package/esm/components/step-indicator/StepIndicatorContext.js +196 -18
  477. package/esm/components/step-indicator/StepIndicatorItem.js +2 -5
  478. package/esm/components/step-indicator/StepIndicatorModal.js +33 -32
  479. package/esm/components/step-indicator/StepIndicatorProps.js +1 -1
  480. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  481. package/esm/components/step-indicator/StepIndicatorSidebar.js +54 -52
  482. package/esm/components/step-indicator/StepIndicatorTriggerButton.js +3 -3
  483. package/esm/components/step-indicator/style/_step-indicator.scss +25 -4
  484. package/esm/components/step-indicator/style/dnb-step-indicator.css +21 -6
  485. package/esm/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  486. package/esm/components/switch/style/dnb-switch.css +1 -1
  487. package/esm/components/switch/style/dnb-switch.min.css +1 -1
  488. package/esm/components/tabs/style/_tabs.scss +5 -1
  489. package/esm/components/tabs/style/dnb-tabs.css +4 -1
  490. package/esm/components/tabs/style/dnb-tabs.min.css +1 -1
  491. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  492. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  493. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  494. package/esm/components/textarea/style/_textarea.scss +4 -0
  495. package/esm/components/textarea/style/dnb-textarea.css +4 -1
  496. package/esm/components/textarea/style/dnb-textarea.min.css +1 -1
  497. package/esm/components/toggle-button/ToggleButton.js +6 -2
  498. package/esm/components/toggle-button/style/dnb-toggle-button.css +4 -4
  499. package/esm/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  500. package/esm/dnb-ui-basis.min.mjs +5 -0
  501. package/esm/dnb-ui-components.min.mjs +17 -0
  502. package/esm/dnb-ui-elements.min.mjs +17 -0
  503. package/esm/dnb-ui-extensions.min.mjs +17 -0
  504. package/esm/dnb-ui-icons.min.mjs +1 -0
  505. package/esm/dnb-ui-lib.min.mjs +17 -0
  506. package/esm/dnb-ui-web-components.min.mjs +17 -0
  507. package/esm/icons/above_the_line.js +1 -1
  508. package/esm/icons/facebook.js +23 -0
  509. package/esm/icons/facebook_medium.js +23 -0
  510. package/esm/icons/fridge.js +1 -1
  511. package/esm/icons/icons-meta.json +24 -0
  512. package/esm/icons/icons-pdf.lock +1 -1
  513. package/esm/icons/icons-svg.lock +1 -1
  514. package/esm/icons/index.d.ts +16 -0
  515. package/esm/icons/index.js +9 -1
  516. package/esm/icons/information_circled.js +11 -4
  517. package/esm/icons/information_circled_medium.js +10 -4
  518. package/esm/icons/instagram.js +35 -0
  519. package/esm/icons/instagram_medium.js +42 -0
  520. package/esm/icons/linkedin.js +20 -0
  521. package/esm/icons/linkedin_medium.js +20 -0
  522. package/esm/icons/motorcycle_medium.js +2 -2
  523. package/esm/icons/paragraph.js +1 -1
  524. package/esm/icons/scooter_medium.js +2 -2
  525. package/esm/icons/secondary_icons.js +5 -1
  526. package/esm/icons/secondary_icons_medium.js +5 -1
  527. package/esm/icons/tag.js +29 -0
  528. package/esm/icons/tag_medium.js +29 -0
  529. package/esm/shared/EventEmitter.js +6 -8
  530. package/esm/shared/component-helper.js +94 -58
  531. package/esm/shared/helpers.js +36 -12
  532. package/esm/style/dnb-ui-components.css +85 -83
  533. package/esm/style/dnb-ui-components.min.css +5 -5
  534. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +141 -133
  535. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  536. package/esm/style/themes/theme-ui/dnb-theme-ui.css +135 -119
  537. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  538. package/icons/above_the_line.js +1 -1
  539. package/icons/facebook.js +23 -0
  540. package/icons/facebook_medium.js +23 -0
  541. package/icons/fridge.js +1 -1
  542. package/icons/icons-meta.json +24 -0
  543. package/icons/icons-pdf.lock +1 -1
  544. package/icons/icons-svg.lock +1 -1
  545. package/icons/index.d.ts +16 -0
  546. package/icons/index.js +9 -1
  547. package/icons/information_circled.js +11 -4
  548. package/icons/information_circled_medium.js +10 -4
  549. package/icons/instagram.js +35 -0
  550. package/icons/instagram_medium.js +42 -0
  551. package/icons/linkedin.js +20 -0
  552. package/icons/linkedin_medium.js +20 -0
  553. package/icons/motorcycle_medium.js +2 -2
  554. package/icons/paragraph.js +1 -1
  555. package/icons/scooter_medium.js +2 -2
  556. package/icons/secondary_icons.js +5 -1
  557. package/icons/secondary_icons_medium.js +5 -1
  558. package/icons/tag.js +29 -0
  559. package/icons/tag_medium.js +29 -0
  560. package/package.json +2 -2
  561. package/shared/EventEmitter.js +6 -8
  562. package/shared/component-helper.js +94 -58
  563. package/shared/helpers.js +36 -12
  564. package/style/dnb-ui-components.css +85 -83
  565. package/style/dnb-ui-components.min.css +5 -5
  566. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +141 -133
  567. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +4 -4
  568. package/style/themes/theme-ui/dnb-theme-ui.css +135 -119
  569. package/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  570. package/umd/dnb-ui-basis.min.js +12 -0
  571. package/umd/dnb-ui-components.min.js +24 -0
  572. package/umd/dnb-ui-elements.min.js +24 -0
  573. package/umd/dnb-ui-extensions.min.js +24 -0
  574. package/umd/dnb-ui-icons.min.js +1 -0
  575. package/umd/dnb-ui-lib.min.js +24 -0
  576. package/umd/dnb-ui-web-components.min.js +24 -0
  577. package/cjs/components/breadcrumb/Breadcrumb.tsx +0 -244
  578. package/cjs/components/breadcrumb/BreadcrumbItem.tsx +0 -111
  579. package/cjs/shared/interfaces.tsx +0 -14
@@ -7,7 +7,6 @@ import "core-js/modules/es.object.get-own-property-descriptors.js";
7
7
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
8
8
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
9
  import _extends from "@babel/runtime/helpers/esm/extends";
10
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
11
10
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
12
11
  import _createClass from "@babel/runtime/helpers/esm/createClass";
13
12
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
@@ -35,7 +34,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
35
34
  import React from 'react';
36
35
  import PropTypes from 'prop-types';
37
36
  import ReactDOM from 'react-dom';
38
- import { warn, isTrue, dispatchCustomElementEvent } from '../../shared/component-helper';
37
+ import { warn, isTrue, dispatchCustomElementEvent, getPreviousSibling } from '../../shared/component-helper';
39
38
  import Context from '../../shared/Context';
40
39
  import Button from '../button/Button';
41
40
  import { preparePageElement, isTrElement, PaginationIndicator } from './PaginationHelpers';
@@ -58,15 +57,20 @@ var InfinityScroller = function (_React$PureComponent) {
58
57
  startupPage = _this$context$paginat.startupPage,
59
58
  startup_count = _this$context$paginat.startup_count;
60
59
  var startupCount = parseFloat(startup_count);
60
+ var newPageNo, skipObserver, callStartupEvent, preventWaitForDelay;
61
61
 
62
- for (var i = 0, newPageNo; i < startupCount; ++i) {
62
+ for (var i = 0; i < startupCount; ++i) {
63
63
  newPageNo = startupPage + i;
64
+ skipObserver = newPageNo < startupCount;
65
+ callStartupEvent = i === 0;
66
+ preventWaitForDelay = i <= startupCount - 1;
64
67
 
65
68
  _this.getNewContent(newPageNo, {
66
69
  position: 'after',
67
- skipObserver: newPageNo < startupCount
70
+ skipObserver: skipObserver
68
71
  }, {
69
- isStartup: i === 0
72
+ callStartupEvent: callStartupEvent,
73
+ preventWaitForDelay: preventWaitForDelay
70
74
  });
71
75
  }
72
76
  });
@@ -75,8 +79,10 @@ var InfinityScroller = function (_React$PureComponent) {
75
79
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
76
80
 
77
81
  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
78
- _ref$isStartup = _ref.isStartup,
79
- isStartup = _ref$isStartup === void 0 ? false : _ref$isStartup;
82
+ _ref$callStartupEvent = _ref.callStartupEvent,
83
+ callStartupEvent = _ref$callStartupEvent === void 0 ? false : _ref$callStartupEvent,
84
+ _ref$preventWaitForDe = _ref.preventWaitForDelay,
85
+ preventWaitForDelay = _ref$preventWaitForDe === void 0 ? false : _ref$preventWaitForDe;
80
86
 
81
87
  var _this$context$paginat2 = _this.context.pagination,
82
88
  pageCount = _this$context$paginat2.pageCount,
@@ -97,8 +103,9 @@ var InfinityScroller = function (_React$PureComponent) {
97
103
  var items = _this.context.pagination.prefillItems(newPageNo, props);
98
104
 
99
105
  _this.context.pagination.setItems(items, function () {
100
- return _this.callEventHandler(newPageNo, {
101
- isStartup: isStartup
106
+ _this.callEventHandler(newPageNo, {
107
+ callStartupEvent: callStartupEvent,
108
+ preventWaitForDelay: preventWaitForDelay
102
109
  });
103
110
  });
104
111
  });
@@ -121,61 +128,80 @@ var InfinityScroller = function (_React$PureComponent) {
121
128
  }
122
129
  }, {
123
130
  key: "waitForReachedTime",
124
- value: function waitForReachedTime(fn) {
131
+ value: function waitForReachedTime(fn, params) {
125
132
  this.callbackBuffer = this.callbackBuffer || [];
126
-
127
- for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
128
- props[_key - 1] = arguments[_key];
129
- }
130
-
131
133
  this.callbackBuffer.push({
132
134
  fn: fn,
133
- props: props
135
+ params: params
136
+ });
137
+ this.callBuffer({
138
+ minTime: params.preventWaitForDelay ? -1 : this.context.pagination.minTime
134
139
  });
135
- this.callBuffer();
136
140
  }
137
141
  }, {
138
142
  key: "callBuffer",
139
143
  value: function callBuffer() {
140
144
  var _this2 = this;
141
145
 
142
- var minTime = this.context.pagination.minTime;
146
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
147
+ _ref2$minTime = _ref2.minTime,
148
+ minTime = _ref2$minTime === void 0 ? this.context.pagination.minTime : _ref2$minTime;
149
+
150
+ if (this.callbackBuffer.length === 0) {
151
+ return;
152
+ }
153
+
143
154
  var diff = this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0;
144
155
  var waitTime = diff < minTime ? minTime : 0;
145
- clearTimeout(this._bufferTimeout);
146
- this._bufferTimeout = setTimeout(function () {
156
+
157
+ var nextTick = function nextTick() {
147
158
  if (_this2.callbackBuffer.length > 0) {
148
159
  _this2._lastCall = new Date().getTime();
149
160
 
150
161
  var _this2$callbackBuffer = _this2.callbackBuffer.shift(),
151
162
  fn = _this2$callbackBuffer.fn,
152
- props = _this2$callbackBuffer.props;
163
+ params = _this2$callbackBuffer.params;
153
164
 
154
- fn.apply(void 0, _toConsumableArray(props));
165
+ fn(params);
155
166
 
156
- _this2.callBuffer();
167
+ _this2.callBuffer({
168
+ minTime: params.preventWaitForDelay ? -1 : minTime
169
+ });
157
170
  }
158
- }, waitTime);
171
+ };
172
+
173
+ if (minTime > 0) {
174
+ clearTimeout(this._bufferTimeout);
175
+ this._bufferTimeout = setTimeout(nextTick, waitTime);
176
+ } else {
177
+ nextTick();
178
+ }
159
179
  }
160
180
  }, {
161
181
  key: "callEventHandler",
162
182
  value: function callEventHandler(pageNumber) {
163
183
  var _this3 = this;
164
184
 
165
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
166
- _ref2$isStartup = _ref2.isStartup,
167
- isStartup = _ref2$isStartup === void 0 ? false : _ref2$isStartup,
168
- _ref2$callOnEnd = _ref2.callOnEnd,
169
- callOnEnd = _ref2$callOnEnd === void 0 ? false : _ref2$callOnEnd,
170
- _ref2$onDispatch = _ref2.onDispatch,
171
- onDispatch = _ref2$onDispatch === void 0 ? null : _ref2$onDispatch;
172
-
173
- this.waitForReachedTime(function (_ref3) {
174
- var pageNumber = _ref3.pageNumber,
175
- isStartup = _ref3.isStartup;
185
+ var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
186
+ _ref3$callStartupEven = _ref3.callStartupEvent,
187
+ callStartupEvent = _ref3$callStartupEven === void 0 ? false : _ref3$callStartupEven,
188
+ _ref3$preventWaitForD = _ref3.preventWaitForDelay,
189
+ preventWaitForDelay = _ref3$preventWaitForD === void 0 ? false : _ref3$preventWaitForD,
190
+ _ref3$callOnEnd = _ref3.callOnEnd,
191
+ callOnEnd = _ref3$callOnEnd === void 0 ? false : _ref3$callOnEnd,
192
+ _ref3$onDispatch = _ref3.onDispatch,
193
+ onDispatch = _ref3$onDispatch === void 0 ? null : _ref3$onDispatch;
194
+
195
+ this.waitForReachedTime(function (_ref4) {
196
+ var pageNumber = _ref4.pageNumber,
197
+ callStartupEvent = _ref4.callStartupEvent;
176
198
  var context = _this3.context.pagination;
177
199
 
178
200
  var createEvent = function createEvent(eventName) {
201
+ if (isNaN(pageNumber)) {
202
+ pageNumber = 1;
203
+ }
204
+
179
205
  var ret = dispatchCustomElementEvent(context, eventName, _objectSpread({
180
206
  page: pageNumber,
181
207
  pageNo: pageNumber,
@@ -194,7 +220,7 @@ var InfinityScroller = function (_React$PureComponent) {
194
220
  if (callOnEnd) {
195
221
  createEvent('on_end');
196
222
  } else {
197
- if (isStartup) {
223
+ if (callStartupEvent) {
198
224
  createEvent('on_startup');
199
225
  } else {
200
226
  createEvent('on_change');
@@ -204,7 +230,8 @@ var InfinityScroller = function (_React$PureComponent) {
204
230
  }
205
231
  }, {
206
232
  pageNumber: pageNumber,
207
- isStartup: isStartup
233
+ callStartupEvent: callStartupEvent,
234
+ preventWaitForDelay: preventWaitForDelay
208
235
  });
209
236
  }
210
237
  }, {
@@ -216,35 +243,55 @@ var InfinityScroller = function (_React$PureComponent) {
216
243
  var _this$context$paginat3 = this.context.pagination,
217
244
  lowerPage = _this$context$paginat3.lowerPage,
218
245
  upperPage = _this$context$paginat3.upperPage,
246
+ currentPage = _this$context$paginat3.currentPage,
219
247
  pageCount = _this$context$paginat3.pageCount,
220
248
  hasEndedInfinity = _this$context$paginat3.hasEndedInfinity,
221
249
  parallelLoadCount = _this$context$paginat3.parallelLoadCount,
250
+ debug = _this$context$paginat3.debug,
251
+ current_page = _this$context$paginat3.current_page,
222
252
  fallback_element = _this$context$paginat3.fallback_element,
223
253
  marker_element = _this$context$paginat3.marker_element,
224
254
  indicator_element = _this$context$paginat3.indicator_element;
225
255
 
256
+ if (debug) {
257
+ console.info('PaginationInfinity.render', {
258
+ current_page: current_page,
259
+ lowerPage: lowerPage,
260
+ upperPage: upperPage,
261
+ currentPage: currentPage,
262
+ pageCount: pageCount
263
+ });
264
+ }
265
+
226
266
  var Marker = function Marker() {
227
267
  return React.createElement(InteractionMarker, {
268
+ debug: debug,
228
269
  pageNumber: upperPage,
229
270
  markerElement: marker_element || fallback_element,
230
271
  onVisible: function onVisible(pageNumber) {
231
- var _loop = function _loop(i, _newPageNo) {
232
- _newPageNo = pageNumber + 1 + i;
272
+ if (debug) {
273
+ console.info('PaginationInfinity.onVisible', {
274
+ pageNumber: pageNumber
275
+ });
276
+ }
277
+
278
+ var newPageNo;
279
+
280
+ var _loop = function _loop(i) {
281
+ newPageNo = pageNumber + 1 + i;
233
282
 
234
283
  _this4.context.pagination.onPageUpdate(function () {
235
284
  _this4.context.pagination.setState({
236
- upperPage: _newPageNo,
285
+ upperPage: newPageNo,
237
286
  skipObserver: i + 1 < parallelLoadCount
238
287
  });
239
288
  });
240
289
 
241
- _this4.callEventHandler(_newPageNo);
242
-
243
- newPageNo = _newPageNo;
290
+ _this4.callEventHandler(newPageNo);
244
291
  };
245
292
 
246
- for (var i = 0, newPageNo; i < parallelLoadCount; ++i) {
247
- _loop(i, newPageNo);
293
+ for (var i = 0; i < parallelLoadCount; ++i) {
294
+ _loop(i);
248
295
  }
249
296
  }
250
297
  });
@@ -271,7 +318,7 @@ var InfinityScroller = function (_React$PureComponent) {
271
318
  });
272
319
  };
273
320
 
274
- 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, {
321
+ 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, {
275
322
  indicator_element: indicator_element || fallback_element
276
323
  }));
277
324
  }
@@ -292,40 +339,43 @@ var InfinityScroller = function (_React$PureComponent) {
292
339
  marker_element = _this$context$paginat4.marker_element,
293
340
  indicator_element = _this$context$paginat4.indicator_element;
294
341
 
295
- if (this.context.pagination.useMarkerOnly) {
296
- return this.handleInfinityMarker();
297
- }
298
-
299
342
  if (!(items && items.length > 0)) {
300
343
  clearTimeout(this._startupTimeout);
301
344
  this._startupTimeout = setTimeout(this.startup, 1);
302
345
  return null;
303
346
  }
304
347
 
348
+ if (this.context.pagination.useMarkerOnly) {
349
+ return this.handleInfinityMarker();
350
+ }
351
+
305
352
  var Element = preparePageElement(page_element || React.Fragment);
306
- return items.map(function (_ref4, idx) {
307
- var pageNumber = _ref4.pageNumber,
308
- hasContent = _ref4.hasContent,
309
- content = _ref4.content,
310
- ref = _ref4.ref,
311
- skipObserver = _ref4.skipObserver,
312
- ScrollElement = _ref4.ScrollElement;
353
+ return items.map(function (_ref5, idx) {
354
+ var pageNumber = _ref5.pageNumber,
355
+ hasContent = _ref5.hasContent,
356
+ content = _ref5.content,
357
+ ref = _ref5.ref,
358
+ skipObserver = _ref5.skipObserver,
359
+ ScrollElement = _ref5.ScrollElement;
313
360
  var isLastItem = idx === items.length - 1;
314
361
  var Elem = hasContent && ScrollElement || Element;
315
362
  var marker = hasContent && !_this5.useLoadButton && !skipObserver && !hasEndedInfinity && (typeof pageCount === 'undefined' || pageNumber <= pageCount) && React.createElement(InteractionMarker, {
316
363
  pageNumber: pageNumber,
317
364
  markerElement: marker_element || fallback_element,
318
365
  onVisible: function onVisible(pageNumber) {
319
- for (var i = 0, _newPageNo2; i < parallelLoadCount; ++i) {
320
- _newPageNo2 = pageNumber + 1 + i;
366
+ var newPageNo;
367
+
368
+ for (var i = 0; i < parallelLoadCount; ++i) {
369
+ newPageNo = pageNumber + 1 + i;
321
370
 
322
- _this5.getNewContent(_newPageNo2, {
371
+ _this5.getNewContent(newPageNo, {
323
372
  position: 'after',
324
373
  skipObserver: i + 1 < parallelLoadCount
325
374
  });
326
375
  }
327
376
  }
328
377
  });
378
+ var showIndicator = (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) && !hasContent && !_this5.hideIndicator;
329
379
  return React.createElement(Elem, {
330
380
  key: pageNumber,
331
381
  ref: ref
@@ -339,7 +389,7 @@ var InfinityScroller = function (_React$PureComponent) {
339
389
  event: event
340
390
  });
341
391
  }
342
- }), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) && !hasContent && !_this5.hideIndicator && React.createElement(PaginationIndicator, {
392
+ }), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, showIndicator && React.createElement(PaginationIndicator, {
343
393
  indicator_element: indicator_element || fallback_element
344
394
  }), hasContent && _this5.useLoadButton && isLastItem && (typeof pageCount === 'undefined' || pageNumber < pageCount) && React.createElement(InfinityLoadButton, {
345
395
  element: fallback_element,
@@ -439,15 +489,33 @@ var InteractionMarker = function (_React$PureComponent2) {
439
489
  this._isMounted = true;
440
490
  (_this$intersectionObs = this.intersectionObserver) === null || _this$intersectionObs === void 0 ? void 0 : _this$intersectionObs.observe(this._ref.current);
441
491
  }
492
+
493
+ if (this.props.debug) {
494
+ var height = this.getContentHeight();
495
+ console.info('PaginationInfinity.getContentHeight', height);
496
+ }
442
497
  }
443
498
  }, {
444
499
  key: "componentWillUnmount",
445
500
  value: function componentWillUnmount() {
446
- var _this$intersectionObs2;
447
-
448
501
  this._isMounted = false;
449
- clearTimeout(this._readyTimeout);
450
- (_this$intersectionObs2 = this.intersectionObserver) === null || _this$intersectionObs2 === void 0 ? void 0 : _this$intersectionObs2.disconnect();
502
+
503
+ if (this.intersectionObserver) {
504
+ clearTimeout(this._readyTimeout);
505
+ this.intersectionObserver.disconnect();
506
+ }
507
+ }
508
+ }, {
509
+ key: "getContentHeight",
510
+ value: function getContentHeight() {
511
+ var height = 0;
512
+
513
+ try {
514
+ var sibling = getPreviousSibling('dnb-table', this._ref.current);
515
+ height = parseFloat(window.getComputedStyle(sibling.querySelector('tbody')).height);
516
+ } catch (e) {}
517
+
518
+ return height;
451
519
  }
452
520
  }, {
453
521
  key: "render",
@@ -473,10 +541,12 @@ var InteractionMarker = function (_React$PureComponent2) {
473
541
  }(React.PureComponent);
474
542
 
475
543
  _defineProperty(InteractionMarker, "defaultProps", {
544
+ debug: null,
476
545
  markerElement: null
477
546
  });
478
547
 
479
548
  process.env.NODE_ENV !== "production" ? InteractionMarker.propTypes = {
549
+ debug: PropTypes.bool,
480
550
  pageNumber: PropTypes.number.isRequired,
481
551
  onVisible: PropTypes.func.isRequired,
482
552
  markerElement: PropTypes.oneOfType([PropTypes.object, PropTypes.node, PropTypes.func, PropTypes.string])
@@ -491,8 +561,8 @@ export var InfinityLoadButton = function (_React$PureComponent3) {
491
561
 
492
562
  _classCallCheck(this, InfinityLoadButton);
493
563
 
494
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
495
- args[_key2] = arguments[_key2];
564
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
565
+ args[_key] = arguments[_key];
496
566
  }
497
567
 
498
568
  _this7 = _super3.call.apply(_super3, [this].concat(args));
@@ -20,6 +20,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  import "core-js/modules/es.parse-float.js";
21
21
  import "core-js/modules/es.array.find.js";
22
22
  import "core-js/modules/es.object.to-string.js";
23
+ import "core-js/modules/es.array.find-index.js";
23
24
  import "core-js/modules/es.array.concat.js";
24
25
  import "core-js/modules/web.dom-collections.for-each.js";
25
26
 
@@ -54,7 +55,7 @@ var PaginationProvider = function (_React$PureComponent) {
54
55
  newContent = [newContent, content];
55
56
  }
56
57
 
57
- var pageNumber = parseFloat(newContent[0]);
58
+ var pageNumber = parseFloat(newContent[0]) || 1;
58
59
  newContent = newContent[1];
59
60
 
60
61
  if (typeof newContent === 'function') {
@@ -73,8 +74,7 @@ var PaginationProvider = function (_React$PureComponent) {
73
74
 
74
75
  if (!itemToPrepare) {
75
76
  items = _this.prefillItems(pageNumber, {
76
- position: position,
77
- skipObserver: true
77
+ position: position
78
78
  });
79
79
  itemToPrepare = items.find(function (_ref2) {
80
80
  var p = _ref2.pageNumber;
@@ -90,8 +90,7 @@ var PaginationProvider = function (_React$PureComponent) {
90
90
 
91
91
  _this.setState({
92
92
  items: _toConsumableArray(items || _this.state.items),
93
- currentPage: pageNumber,
94
- _listenForPropChanges: false
93
+ currentPage: pageNumber
95
94
  }, _this.callOnPageUpdate);
96
95
  }
97
96
  });
@@ -100,8 +99,7 @@ var PaginationProvider = function (_React$PureComponent) {
100
99
  clearTimeout(_this.resetContentTimeout);
101
100
  _this.resetContentTimeout = setTimeout(function () {
102
101
  _this.setState({
103
- items: [],
104
- _listenForPropChanges: false
102
+ items: []
105
103
  });
106
104
  }, 10);
107
105
  });
@@ -109,39 +107,29 @@ var PaginationProvider = function (_React$PureComponent) {
109
107
  _defineProperty(_assertThisInitialized(_this), "resetInfinity", function () {
110
108
  var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.startupPage;
111
109
  var lowerPage = pageNumber;
112
- var upperPage = pageNumber;
110
+ var upperPage = pageNumber + parseFloat(_this.props.startup_count) - 1;
113
111
  var currentPage = pageNumber;
114
- _this._hasEndedInfinity = true;
115
112
 
116
113
  _this.setState({
114
+ items: [],
117
115
  hasEndedInfinity: true,
118
116
  lowerPage: lowerPage,
119
117
  upperPage: upperPage,
120
- currentPage: currentPage,
121
- _listenForPropChanges: false
118
+ currentPage: currentPage
122
119
  });
123
120
 
124
- clearTimeout(_this.resetInfinityTimeout);
125
- _this.resetInfinityTimeout = setTimeout(function () {
126
- _this.startInfinity();
127
- }, _this.state.minTime);
121
+ _this.startInfinity();
128
122
  });
129
123
 
130
124
  _defineProperty(_assertThisInitialized(_this), "startInfinity", function () {
131
- _this._hasEndedInfinity = false;
132
-
133
125
  _this.setState({
134
- hasEndedInfinity: false,
135
- _listenForPropChanges: false
126
+ hasEndedInfinity: false
136
127
  });
137
128
  });
138
129
 
139
130
  _defineProperty(_assertThisInitialized(_this), "endInfinity", function () {
140
- _this._hasEndedInfinity = true;
141
-
142
131
  _this.setState({
143
- hasEndedInfinity: true,
144
- _listenForPropChanges: false
132
+ hasEndedInfinity: true
145
133
  }, function () {
146
134
  var pageNumber = _this.state.currentPage + 1;
147
135
  dispatchCustomElementEvent(_assertThisInitialized(_this), 'on_end', _objectSpread({
@@ -154,8 +142,7 @@ var PaginationProvider = function (_React$PureComponent) {
154
142
 
155
143
  _defineProperty(_assertThisInitialized(_this), "setItems", function (items, cb) {
156
144
  _this.setState({
157
- items: items,
158
- _listenForPropChanges: false
145
+ items: items
159
146
  }, cb);
160
147
  });
161
148
 
@@ -164,6 +151,19 @@ var PaginationProvider = function (_React$PureComponent) {
164
151
  var items = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _this.state.items;
165
152
  var position = props.position || (pageNumber < _this.state.currentPage ? 'before' : 'after');
166
153
 
154
+ if (isNaN(pageNumber)) {
155
+ pageNumber = 1;
156
+ }
157
+
158
+ var exists = items.findIndex(function (_ref3) {
159
+ var p = _ref3.pageNumber;
160
+ return p === pageNumber;
161
+ }) > -1;
162
+
163
+ if (exists) {
164
+ return items;
165
+ }
166
+
167
167
  var obj = _objectSpread({
168
168
  pageNumber: pageNumber,
169
169
  position: position,
@@ -180,9 +180,7 @@ var PaginationProvider = function (_React$PureComponent) {
180
180
  });
181
181
 
182
182
  _defineProperty(_assertThisInitialized(_this), "setStateHandler", function (state, cb) {
183
- _this.setState(_objectSpread(_objectSpread({}, state), {}, {
184
- _listenForPropChanges: false
185
- }), cb);
183
+ _this.setState(_objectSpread({}, state), cb);
186
184
  });
187
185
 
188
186
  _defineProperty(_assertThisInitialized(_this), "callOnPageUpdate", function () {
@@ -221,13 +219,12 @@ var PaginationProvider = function (_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) {
229
- _this.rerender = function (_ref3) {
230
- var store = _ref3.current;
226
+ _this.rerender = function (_ref4) {
227
+ var store = _ref4.current;
231
228
 
232
229
  if (store && store.pageNumber > 0) {
233
230
  clearTimeout(_this.rerenderTimeout);
@@ -287,9 +284,9 @@ var PaginationProvider = function (_React$PureComponent) {
287
284
  }
288
285
  }, {
289
286
  key: "componentDidUpdate",
290
- value: function componentDidUpdate(_ref4) {
291
- var current = _ref4.current_page,
292
- content = _ref4.internalContent;
287
+ value: function componentDidUpdate(_ref5) {
288
+ var current = _ref5.current_page,
289
+ content = _ref5.internalContent;
293
290
  var _this$props2 = this.props,
294
291
  internalContent = _this$props2.internalContent,
295
292
  current_page = _this$props2.current_page;
@@ -326,8 +323,7 @@ var PaginationProvider = function (_React$PureComponent) {
326
323
  setItems: this.setItems,
327
324
  prefillItems: this.prefillItems,
328
325
  setState: this.setStateHandler,
329
- onPageUpdate: this.onPageUpdate,
330
- _hasEndedInfinity: this._hasEndedInfinity
326
+ onPageUpdate: this.onPageUpdate
331
327
  }, this.props), this.state)
332
328
  })
333
329
  }, children);
@@ -335,48 +331,48 @@ var PaginationProvider = function (_React$PureComponent) {
335
331
  }], [{
336
332
  key: "getDerivedStateFromProps",
337
333
  value: function getDerivedStateFromProps(props, state) {
338
- if (state._listenForPropChanges) {
339
- if (props.page_count !== null) {
340
- state.pageCount = parseFloat(props.page_count) || 1;
341
- }
334
+ if (props.page_count !== null) {
335
+ state.pageCount = parseFloat(props.page_count) || 1;
336
+ }
342
337
 
343
- if (props.current_page !== null && typeof state.currentPage === 'undefined') {
344
- state.currentPage = parseFloat(props.current_page) || 1;
345
- }
338
+ if (props.current_page !== null && typeof state.currentPage === 'undefined') {
339
+ state.currentPage = parseFloat(props.current_page) || 1;
340
+ }
346
341
 
347
- if (typeof state.startupPage === 'undefined') {
348
- state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || 1;
349
- }
342
+ if (typeof state.startupPage !== 'number') {
343
+ state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || state.currentPage;
344
+ }
350
345
 
351
- state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
352
- state.minTime = parseFloat(props.min_wait_time) || 0;
353
- state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
346
+ state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
347
+ state.minTime = parseFloat(props.min_wait_time) || 0;
348
+ state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
354
349
 
355
- if (props.useMarkerOnly) {
356
- if (!state.lowerPage) {
357
- state.lowerPage = state.upperPage = state.startupPage;
358
- }
359
- }
350
+ if (props.useMarkerOnly && props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
351
+ state.lowerPage = undefined;
352
+ state.upperPage = undefined;
353
+ }
360
354
 
361
- if (props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
362
- if (props.useMarkerOnly) {
363
- state.lowerPage = state.upperPage = state.startupPage;
364
- }
355
+ if (props.useMarkerOnly) {
356
+ if (typeof state.lowerPage === 'undefined' && parseFloat(props.current_page) > 0) {
357
+ state.lowerPage = state.startupPage;
365
358
  }
366
359
 
367
- if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
368
- state.items = [];
369
- state.pageCount = parseFloat(props.page_count) || 1;
360
+ if (typeof state.upperPage === 'undefined') {
361
+ state.upperPage = state.startupPage + parseFloat(props.startup_count) - 1;
370
362
  }
363
+ }
371
364
 
372
- if (typeof props.items === 'string' && props.items[0] === '[') {
373
- state.items = JSON.parse(props.items);
374
- } else if (Array.isArray(props.items)) {
375
- state.items = props.items;
376
- }
365
+ if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
366
+ state.items = [];
367
+ state.pageCount = parseFloat(props.page_count) || 1;
368
+ }
369
+
370
+ if (typeof props.items === 'string' && props.items[0] === '[') {
371
+ state.items = JSON.parse(props.items);
372
+ } else if (Array.isArray(props.items)) {
373
+ state.items = props.items;
377
374
  }
378
375
 
379
- state._listenForPropChanges = true;
380
376
  return state;
381
377
  }
382
378
  }]);
@@ -281,7 +281,7 @@
281
281
  .dnb-form-status[hidden] {
282
282
  display: none; }
283
283
  .dnb-form-status--no-animation,
284
- .dnb-form-status html[data-visual-test] {
284
+ html[data-visual-test] .dnb-form-status {
285
285
  -webkit-transition-duration: 1ms !important;
286
286
  transition-duration: 1ms !important; }
287
287
  @media screen and (-ms-high-contrast: none) {