@dnb/eufemia 9.16.3 → 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 (467) hide show
  1. package/CHANGELOG.md +21 -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 +23 -2
  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.js +1 -1
  78. package/cjs/components/modal/ModalContent.js +44 -28
  79. package/cjs/components/modal/style/_modal-mixins.scss +4 -4
  80. package/cjs/components/modal/style/_modal.scss +13 -30
  81. package/cjs/components/modal/style/dnb-modal.css +27 -47
  82. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  83. package/cjs/components/pagination/style/dnb-pagination.css +0 -2
  84. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  85. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  86. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  87. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  88. package/cjs/components/slider/style/dnb-slider.css +0 -2
  89. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  90. package/cjs/components/step-indicator/StepIndicator.d.ts +1 -1
  91. package/cjs/components/step-indicator/StepIndicator.js +4 -98
  92. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  93. package/cjs/components/step-indicator/StepIndicatorContext.js +221 -19
  94. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -6
  95. package/cjs/components/step-indicator/StepIndicatorModal.js +40 -49
  96. package/cjs/components/step-indicator/StepIndicatorProps.js +1 -1
  97. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  98. package/cjs/components/step-indicator/StepIndicatorSidebar.js +57 -54
  99. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  100. package/cjs/components/step-indicator/style/_step-indicator.scss +17 -4
  101. package/cjs/components/step-indicator/style/dnb-step-indicator.css +14 -6
  102. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  103. package/cjs/components/textarea/style/_textarea.scss +4 -0
  104. package/cjs/components/textarea/style/dnb-textarea.css +3 -0
  105. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  106. package/cjs/components/toggle-button/ToggleButton.js +6 -2
  107. package/cjs/components/toggle-button/style/dnb-toggle-button.css +0 -2
  108. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  109. package/cjs/icons/above_the_line.js +1 -1
  110. package/cjs/icons/facebook.js +35 -0
  111. package/cjs/icons/facebook_medium.js +35 -0
  112. package/cjs/icons/fridge.js +1 -1
  113. package/cjs/icons/icons-meta.json +24 -0
  114. package/cjs/icons/icons-pdf.lock +1 -1
  115. package/cjs/icons/icons-svg.lock +1 -1
  116. package/cjs/icons/index.d.ts +16 -0
  117. package/cjs/icons/index.js +64 -0
  118. package/cjs/icons/information_circled.js +11 -4
  119. package/cjs/icons/information_circled_medium.js +10 -4
  120. package/cjs/icons/instagram.js +47 -0
  121. package/cjs/icons/instagram_medium.js +54 -0
  122. package/cjs/icons/linkedin.js +32 -0
  123. package/cjs/icons/linkedin_medium.js +32 -0
  124. package/cjs/icons/motorcycle_medium.js +2 -2
  125. package/cjs/icons/paragraph.js +1 -1
  126. package/cjs/icons/scooter_medium.js +2 -2
  127. package/cjs/icons/secondary_icons.js +32 -0
  128. package/cjs/icons/secondary_icons_medium.js +32 -0
  129. package/cjs/icons/tag.js +41 -0
  130. package/cjs/icons/tag_medium.js +41 -0
  131. package/cjs/shared/EventEmitter.js +6 -8
  132. package/cjs/shared/component-helper.js +108 -76
  133. package/cjs/shared/helpers.js +36 -11
  134. package/cjs/style/dnb-ui-components.css +67 -76
  135. package/cjs/style/dnb-ui-components.min.css +5 -5
  136. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  137. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  138. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  139. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  140. package/components/accordion/Accordion.d.ts +1 -1
  141. package/components/autocomplete/style/dnb-autocomplete.css +0 -2
  142. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  143. package/components/breadcrumb/Breadcrumb.js +5 -3
  144. package/components/breadcrumb/Breadcrumb.tsx +9 -0
  145. package/components/breadcrumb/style/_breadcrumb.scss +7 -4
  146. package/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  147. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  148. package/components/button/Button.js +1 -1
  149. package/components/button/style/_button.scss +0 -4
  150. package/components/button/style/dnb-button.css +0 -2
  151. package/components/button/style/dnb-button.min.css +1 -1
  152. package/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  153. package/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  154. package/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  155. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  156. package/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  157. package/components/date-picker/style/dnb-date-picker.css +0 -6
  158. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  159. package/components/dropdown/style/dnb-dropdown.css +0 -2
  160. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  161. package/components/form-set/FormSet.d.ts +1 -1
  162. package/components/global-error/style/dnb-global-error.css +0 -2
  163. package/components/global-error/style/dnb-global-error.min.css +1 -1
  164. package/components/global-status/GlobalStatus.js +18 -71
  165. package/components/global-status/style/_global-status.scss +14 -12
  166. package/components/global-status/style/dnb-global-status.css +13 -17
  167. package/components/global-status/style/dnb-global-status.min.css +1 -1
  168. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  169. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  170. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  171. package/components/help-button/HelpButton.d.ts +200 -0
  172. package/components/input/style/dnb-input.css +0 -2
  173. package/components/input/style/dnb-input.min.css +1 -1
  174. package/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  175. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  176. package/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  177. package/components/input-masked/InputMaskedElement.js +1 -4
  178. package/components/input-masked/InputMaskedHooks.js +23 -2
  179. package/components/input-masked/InputMaskedUtils.js +9 -3
  180. package/components/input-masked/style/dnb-input-masked.css +0 -2
  181. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  182. package/components/modal/Modal.js +1 -1
  183. package/components/modal/ModalContent.js +43 -27
  184. package/components/modal/style/_modal-mixins.scss +4 -4
  185. package/components/modal/style/_modal.scss +13 -30
  186. package/components/modal/style/dnb-modal.css +27 -47
  187. package/components/modal/style/dnb-modal.min.css +1 -1
  188. package/components/pagination/style/dnb-pagination.css +0 -2
  189. package/components/pagination/style/dnb-pagination.min.css +1 -1
  190. package/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  191. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  192. package/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  193. package/components/slider/style/dnb-slider.css +0 -2
  194. package/components/slider/style/dnb-slider.min.css +1 -1
  195. package/components/step-indicator/StepIndicator.d.ts +1 -1
  196. package/components/step-indicator/StepIndicator.js +4 -91
  197. package/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  198. package/components/step-indicator/StepIndicatorContext.js +196 -18
  199. package/components/step-indicator/StepIndicatorItem.js +2 -5
  200. package/components/step-indicator/StepIndicatorModal.js +33 -32
  201. package/components/step-indicator/StepIndicatorProps.js +1 -1
  202. package/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  203. package/components/step-indicator/StepIndicatorSidebar.js +54 -52
  204. package/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  205. package/components/step-indicator/style/_step-indicator.scss +17 -4
  206. package/components/step-indicator/style/dnb-step-indicator.css +14 -6
  207. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  208. package/components/textarea/style/_textarea.scss +4 -0
  209. package/components/textarea/style/dnb-textarea.css +3 -0
  210. package/components/textarea/style/dnb-textarea.min.css +1 -1
  211. package/components/toggle-button/ToggleButton.js +6 -2
  212. package/components/toggle-button/style/dnb-toggle-button.css +0 -2
  213. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  214. package/es/components/accordion/Accordion.d.ts +1 -1
  215. package/es/components/autocomplete/style/dnb-autocomplete.css +0 -2
  216. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  217. package/es/components/breadcrumb/Breadcrumb.js +5 -3
  218. package/es/components/breadcrumb/Breadcrumb.tsx +9 -0
  219. package/es/components/breadcrumb/style/_breadcrumb.scss +7 -4
  220. package/es/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  221. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  222. package/es/components/button/Button.js +2 -1
  223. package/es/components/button/style/_button.scss +0 -4
  224. package/es/components/button/style/dnb-button.css +0 -2
  225. package/es/components/button/style/dnb-button.min.css +1 -1
  226. package/es/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  227. package/es/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  228. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  229. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  230. package/es/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  231. package/es/components/date-picker/style/dnb-date-picker.css +0 -6
  232. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  233. package/es/components/dropdown/style/dnb-dropdown.css +0 -2
  234. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  235. package/es/components/form-set/FormSet.d.ts +1 -1
  236. package/es/components/global-error/style/dnb-global-error.css +0 -2
  237. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  238. package/es/components/global-status/GlobalStatus.js +18 -67
  239. package/es/components/global-status/style/_global-status.scss +14 -12
  240. package/es/components/global-status/style/dnb-global-status.css +13 -17
  241. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  242. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  243. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  244. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  245. package/es/components/help-button/HelpButton.d.ts +200 -0
  246. package/es/components/input/style/dnb-input.css +0 -2
  247. package/es/components/input/style/dnb-input.min.css +1 -1
  248. package/es/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  249. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  250. package/es/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  251. package/es/components/input-masked/InputMaskedElement.js +1 -4
  252. package/es/components/input-masked/InputMaskedHooks.js +22 -3
  253. package/es/components/input-masked/InputMaskedUtils.js +9 -3
  254. package/es/components/input-masked/style/dnb-input-masked.css +0 -2
  255. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  256. package/es/components/modal/Modal.js +1 -1
  257. package/es/components/modal/ModalContent.js +32 -19
  258. package/es/components/modal/style/_modal-mixins.scss +4 -4
  259. package/es/components/modal/style/_modal.scss +13 -30
  260. package/es/components/modal/style/dnb-modal.css +27 -47
  261. package/es/components/modal/style/dnb-modal.min.css +1 -1
  262. package/es/components/pagination/style/dnb-pagination.css +0 -2
  263. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  264. package/es/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  265. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  266. package/es/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  267. package/es/components/slider/style/dnb-slider.css +0 -2
  268. package/es/components/slider/style/dnb-slider.min.css +1 -1
  269. package/es/components/step-indicator/StepIndicator.d.ts +1 -1
  270. package/es/components/step-indicator/StepIndicator.js +3 -79
  271. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  272. package/es/components/step-indicator/StepIndicatorContext.js +165 -17
  273. package/es/components/step-indicator/StepIndicatorItem.js +1 -5
  274. package/es/components/step-indicator/StepIndicatorModal.js +31 -34
  275. package/es/components/step-indicator/StepIndicatorProps.js +1 -1
  276. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  277. package/es/components/step-indicator/StepIndicatorSidebar.js +44 -46
  278. package/es/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  279. package/es/components/step-indicator/style/_step-indicator.scss +17 -4
  280. package/es/components/step-indicator/style/dnb-step-indicator.css +14 -6
  281. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  282. package/es/components/textarea/style/_textarea.scss +4 -0
  283. package/es/components/textarea/style/dnb-textarea.css +3 -0
  284. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  285. package/es/components/toggle-button/ToggleButton.js +6 -2
  286. package/es/components/toggle-button/style/dnb-toggle-button.css +0 -2
  287. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  288. package/es/icons/above_the_line.js +1 -1
  289. package/es/icons/facebook.js +23 -0
  290. package/es/icons/facebook_medium.js +23 -0
  291. package/es/icons/fridge.js +1 -1
  292. package/es/icons/icons-meta.json +24 -0
  293. package/es/icons/icons-pdf.lock +1 -1
  294. package/es/icons/icons-svg.lock +1 -1
  295. package/es/icons/index.d.ts +16 -0
  296. package/es/icons/index.js +9 -1
  297. package/es/icons/information_circled.js +11 -4
  298. package/es/icons/information_circled_medium.js +10 -4
  299. package/es/icons/instagram.js +35 -0
  300. package/es/icons/instagram_medium.js +42 -0
  301. package/es/icons/linkedin.js +20 -0
  302. package/es/icons/linkedin_medium.js +20 -0
  303. package/es/icons/motorcycle_medium.js +2 -2
  304. package/es/icons/paragraph.js +1 -1
  305. package/es/icons/scooter_medium.js +2 -2
  306. package/es/icons/secondary_icons.js +5 -1
  307. package/es/icons/secondary_icons_medium.js +5 -1
  308. package/es/icons/tag.js +29 -0
  309. package/es/icons/tag_medium.js +29 -0
  310. package/es/shared/EventEmitter.js +5 -8
  311. package/es/shared/component-helper.js +58 -50
  312. package/es/shared/helpers.js +11 -2
  313. package/es/style/dnb-ui-components.css +67 -76
  314. package/es/style/dnb-ui-components.min.css +5 -5
  315. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  316. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  317. package/es/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  318. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  319. package/esm/components/accordion/Accordion.d.ts +1 -1
  320. package/esm/components/autocomplete/style/dnb-autocomplete.css +0 -2
  321. package/esm/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  322. package/esm/components/breadcrumb/Breadcrumb.js +5 -3
  323. package/esm/components/breadcrumb/Breadcrumb.tsx +9 -0
  324. package/esm/components/breadcrumb/style/_breadcrumb.scss +7 -4
  325. package/esm/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  326. package/esm/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  327. package/esm/components/button/Button.js +1 -1
  328. package/esm/components/button/style/_button.scss +0 -4
  329. package/esm/components/button/style/dnb-button.css +0 -2
  330. package/esm/components/button/style/dnb-button.min.css +1 -1
  331. package/esm/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  332. package/esm/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  333. package/esm/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  334. package/esm/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  335. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  336. package/esm/components/date-picker/style/dnb-date-picker.css +0 -6
  337. package/esm/components/date-picker/style/dnb-date-picker.min.css +1 -1
  338. package/esm/components/dropdown/style/dnb-dropdown.css +0 -2
  339. package/esm/components/dropdown/style/dnb-dropdown.min.css +1 -1
  340. package/esm/components/form-set/FormSet.d.ts +1 -1
  341. package/esm/components/global-error/style/dnb-global-error.css +0 -2
  342. package/esm/components/global-error/style/dnb-global-error.min.css +1 -1
  343. package/esm/components/global-status/GlobalStatus.js +18 -71
  344. package/esm/components/global-status/style/_global-status.scss +14 -12
  345. package/esm/components/global-status/style/dnb-global-status.css +13 -17
  346. package/esm/components/global-status/style/dnb-global-status.min.css +1 -1
  347. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  348. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  349. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  350. package/esm/components/help-button/HelpButton.d.ts +200 -0
  351. package/esm/components/input/style/dnb-input.css +0 -2
  352. package/esm/components/input/style/dnb-input.min.css +1 -1
  353. package/esm/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  354. package/esm/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  355. package/esm/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  356. package/esm/components/input-masked/InputMaskedElement.js +1 -4
  357. package/esm/components/input-masked/InputMaskedHooks.js +23 -2
  358. package/esm/components/input-masked/InputMaskedUtils.js +9 -3
  359. package/esm/components/input-masked/style/dnb-input-masked.css +0 -2
  360. package/esm/components/input-masked/style/dnb-input-masked.min.css +1 -1
  361. package/esm/components/modal/Modal.js +1 -1
  362. package/esm/components/modal/ModalContent.js +43 -27
  363. package/esm/components/modal/style/_modal-mixins.scss +4 -4
  364. package/esm/components/modal/style/_modal.scss +13 -30
  365. package/esm/components/modal/style/dnb-modal.css +27 -47
  366. package/esm/components/modal/style/dnb-modal.min.css +1 -1
  367. package/esm/components/pagination/style/dnb-pagination.css +0 -2
  368. package/esm/components/pagination/style/dnb-pagination.min.css +1 -1
  369. package/esm/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  370. package/esm/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  371. package/esm/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  372. package/esm/components/slider/style/dnb-slider.css +0 -2
  373. package/esm/components/slider/style/dnb-slider.min.css +1 -1
  374. package/esm/components/step-indicator/StepIndicator.d.ts +1 -1
  375. package/esm/components/step-indicator/StepIndicator.js +4 -91
  376. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -0
  377. package/esm/components/step-indicator/StepIndicatorContext.js +196 -18
  378. package/esm/components/step-indicator/StepIndicatorItem.js +2 -5
  379. package/esm/components/step-indicator/StepIndicatorModal.js +33 -32
  380. package/esm/components/step-indicator/StepIndicatorProps.js +1 -1
  381. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +39 -0
  382. package/esm/components/step-indicator/StepIndicatorSidebar.js +54 -52
  383. package/esm/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  384. package/esm/components/step-indicator/style/_step-indicator.scss +17 -4
  385. package/esm/components/step-indicator/style/dnb-step-indicator.css +14 -6
  386. package/esm/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  387. package/esm/components/textarea/style/_textarea.scss +4 -0
  388. package/esm/components/textarea/style/dnb-textarea.css +3 -0
  389. package/esm/components/textarea/style/dnb-textarea.min.css +1 -1
  390. package/esm/components/toggle-button/ToggleButton.js +6 -2
  391. package/esm/components/toggle-button/style/dnb-toggle-button.css +0 -2
  392. package/esm/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  393. package/esm/dnb-ui-basis.min.mjs +2 -2
  394. package/esm/dnb-ui-components.min.mjs +3 -3
  395. package/esm/dnb-ui-elements.min.mjs +4 -4
  396. package/esm/dnb-ui-extensions.min.mjs +4 -4
  397. package/esm/dnb-ui-lib.min.mjs +4 -4
  398. package/esm/dnb-ui-web-components.min.mjs +4 -4
  399. package/esm/icons/above_the_line.js +1 -1
  400. package/esm/icons/facebook.js +23 -0
  401. package/esm/icons/facebook_medium.js +23 -0
  402. package/esm/icons/fridge.js +1 -1
  403. package/esm/icons/icons-meta.json +24 -0
  404. package/esm/icons/icons-pdf.lock +1 -1
  405. package/esm/icons/icons-svg.lock +1 -1
  406. package/esm/icons/index.d.ts +16 -0
  407. package/esm/icons/index.js +9 -1
  408. package/esm/icons/information_circled.js +11 -4
  409. package/esm/icons/information_circled_medium.js +10 -4
  410. package/esm/icons/instagram.js +35 -0
  411. package/esm/icons/instagram_medium.js +42 -0
  412. package/esm/icons/linkedin.js +20 -0
  413. package/esm/icons/linkedin_medium.js +20 -0
  414. package/esm/icons/motorcycle_medium.js +2 -2
  415. package/esm/icons/paragraph.js +1 -1
  416. package/esm/icons/scooter_medium.js +2 -2
  417. package/esm/icons/secondary_icons.js +5 -1
  418. package/esm/icons/secondary_icons_medium.js +5 -1
  419. package/esm/icons/tag.js +29 -0
  420. package/esm/icons/tag_medium.js +29 -0
  421. package/esm/shared/EventEmitter.js +6 -8
  422. package/esm/shared/component-helper.js +94 -59
  423. package/esm/shared/helpers.js +19 -2
  424. package/esm/style/dnb-ui-components.css +67 -76
  425. package/esm/style/dnb-ui-components.min.css +5 -5
  426. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  427. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  428. package/esm/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  429. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  430. package/icons/above_the_line.js +1 -1
  431. package/icons/facebook.js +23 -0
  432. package/icons/facebook_medium.js +23 -0
  433. package/icons/fridge.js +1 -1
  434. package/icons/icons-meta.json +24 -0
  435. package/icons/icons-pdf.lock +1 -1
  436. package/icons/icons-svg.lock +1 -1
  437. package/icons/index.d.ts +16 -0
  438. package/icons/index.js +9 -1
  439. package/icons/information_circled.js +11 -4
  440. package/icons/information_circled_medium.js +10 -4
  441. package/icons/instagram.js +35 -0
  442. package/icons/instagram_medium.js +42 -0
  443. package/icons/linkedin.js +20 -0
  444. package/icons/linkedin_medium.js +20 -0
  445. package/icons/motorcycle_medium.js +2 -2
  446. package/icons/paragraph.js +1 -1
  447. package/icons/scooter_medium.js +2 -2
  448. package/icons/secondary_icons.js +5 -1
  449. package/icons/secondary_icons_medium.js +5 -1
  450. package/icons/tag.js +29 -0
  451. package/icons/tag_medium.js +29 -0
  452. package/package.json +1 -1
  453. package/shared/EventEmitter.js +6 -8
  454. package/shared/component-helper.js +94 -59
  455. package/shared/helpers.js +19 -2
  456. package/style/dnb-ui-components.css +67 -76
  457. package/style/dnb-ui-components.min.css +5 -5
  458. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  459. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  460. package/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  461. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  462. package/umd/dnb-ui-basis.min.js +3 -3
  463. package/umd/dnb-ui-components.min.js +4 -4
  464. package/umd/dnb-ui-elements.min.js +5 -5
  465. package/umd/dnb-ui-extensions.min.js +5 -5
  466. package/umd/dnb-ui-lib.min.js +5 -5
  467. package/umd/dnb-ui-web-components.min.js +5 -5
@@ -1,3 +1,4 @@
1
+ import "core-js/modules/es.object.to-string.js";
1
2
  import "core-js/modules/es.reflect.construct.js";
2
3
  import "core-js/modules/es.object.keys.js";
3
4
  import "core-js/modules/es.symbol.js";
@@ -20,23 +21,13 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
20
21
 
21
22
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
23
 
23
- import "core-js/modules/es.regexp.exec.js";
24
- import "core-js/modules/es.string.replace.js";
25
- import "core-js/modules/es.parse-float.js";
26
- import "core-js/modules/es.array.reduce.js";
27
- import "core-js/modules/es.object.to-string.js";
28
- import "core-js/modules/es.array.includes.js";
29
- import "core-js/modules/es.string.includes.js";
30
-
31
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
32
25
 
33
26
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
34
27
 
35
28
  import React from 'react';
36
29
  import PropTypes from 'prop-types';
37
- import Context from '../../shared/Context';
38
- import { makeUniqueId, warn, registerElement, processChildren, extendPropsWithContext } from '../../shared/component-helper';
39
- import EventEmitter from '../../shared/EventEmitter';
30
+ import { makeUniqueId, warn, registerElement } from '../../shared/component-helper';
40
31
  import StepIndicatorSidebar from './StepIndicatorSidebar';
41
32
  import StepIndicatorModal from './StepIndicatorModal';
42
33
  import StepIndicatorList from './StepIndicatorList';
@@ -59,12 +50,6 @@ var StepIndicator = function (_React$PureComponent) {
59
50
  return typeof process !== 'undefined' && process.env.NODE_ENV === 'development';
60
51
  });
61
52
 
62
- _defineProperty(_assertThisInitialized(_this), "setActiveStep", function (activeStep) {
63
- _this.setState({
64
- activeStep: activeStep
65
- });
66
- });
67
-
68
53
  _this.state = {
69
54
  isV1: !props.mode,
70
55
  sidebar_id: props.internalId || props.sidebar_id || makeUniqueId()
@@ -90,46 +75,15 @@ var StepIndicator = function (_React$PureComponent) {
90
75
  warn('StepIndicator: `show_numbers` is deprecated. Use `hide_numbers` instead.');
91
76
  }
92
77
 
93
- _this._eventEmitter = EventEmitter.createInstance(_this.state.sidebar_id);
94
-
95
- if (!_this.state.listOfReachedSteps) {
96
- _this.state.listOfReachedSteps = [];
97
- }
98
-
99
78
  return _this;
100
79
  }
101
80
 
102
81
  _createClass(StepIndicator, [{
103
- key: "componentWillUnmount",
104
- value: function componentWillUnmount() {
105
- if (this._eventEmitter) {
106
- this._eventEmitter.remove();
107
-
108
- this._eventEmitter = null;
109
- }
110
- }
111
- }, {
112
- key: "getContextData",
113
- value: function getContextData() {
114
- var _data$step_title, _data$step_title_exte;
115
-
116
- var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.context;
117
- var data = extendPropsWithContext(this.props, StepIndicator.defaultProps, {
118
- skeleton: context === null || context === void 0 ? void 0 : context.skeleton
119
- }, context.getTranslation(this.props).StepIndicator, context.FormRow, context.StepIndicator);
120
- data.stepsLabel = (_data$step_title = data.step_title) === null || _data$step_title === void 0 ? void 0 : _data$step_title.replace('%step', this.state.activeStep + 1).replace('%count', this.state.countSteps);
121
- data.stepsLabelExtended = (_data$step_title_exte = data.step_title_extended) === null || _data$step_title_exte === void 0 ? void 0 : _data$step_title_exte.replace('%step', this.state.activeStep + 1).replace('%count', this.state.countSteps);
122
- return data;
123
- }
124
- }, {
125
82
  key: "render",
126
83
  value: function render() {
127
- var contextData = this.getContextData(this.context);
128
-
129
84
  if (this.state.isV1) {
130
- return React.createElement(StepIndicatorProvider, _extends({}, this.state, contextData, {
85
+ return React.createElement(StepIndicatorProvider, _extends({}, this.props, {
131
86
  sidebar_id: this.state.sidebar_id,
132
- setActiveStep: this.setActiveStep,
133
87
  listAttributes: this.props,
134
88
  isV1: this.state.isV1
135
89
  }), _div || (_div = React.createElement("div", {
@@ -141,9 +95,8 @@ var StepIndicator = function (_React$PureComponent) {
141
95
  warn('StepIndicator needs an unique "sidebar_id" property, also on the <StepIndicator.Sidebar... />');
142
96
  }
143
97
 
144
- return React.createElement(StepIndicatorProvider, _extends({}, this.state, contextData, {
98
+ return React.createElement(StepIndicatorProvider, _extends({}, this.props, {
145
99
  sidebar_id: this.state.sidebar_id,
146
- setActiveStep: this.setActiveStep,
147
100
  isV1: this.state.isV1
148
101
  }), _div2 || (_div2 = React.createElement("div", {
149
102
  className: "dnb-step-indicator-v2"
@@ -154,44 +107,6 @@ var StepIndicator = function (_React$PureComponent) {
154
107
  value: function enableWebComponent() {
155
108
  registerElement(StepIndicator === null || StepIndicator === void 0 ? void 0 : StepIndicator.tagName, StepIndicator, StepIndicator.defaultProps);
156
109
  }
157
- }, {
158
- key: "getData",
159
- value: function getData(props) {
160
- var res = [];
161
- if (props.data) res = props.data;else res = processChildren(props);
162
- if (typeof res === 'string') return res[0] === '[' ? JSON.parse(res) : [];
163
- return res || [];
164
- }
165
- }, {
166
- key: "getDerivedStateFromProps",
167
- value: function getDerivedStateFromProps(props, state) {
168
- state.data = StepIndicator.getData(props);
169
- state.countSteps = state.data.length;
170
-
171
- if (props.current_step !== null && props.current_step !== state._current_step) {
172
- state.activeStep = parseFloat(props.current_step) || 0;
173
- }
174
-
175
- if (props.active_item !== null && props.active_item !== state._active_item) {
176
- state.activeStep = parseFloat(props.active_item) || 0;
177
- }
178
-
179
- if (props.active_url && state.data.length > 0) {
180
- state.activeStep = state.data.reduce(function (acc, _ref, i) {
181
- var url = _ref.url;
182
- return url && (url === state.current_step || url === props.active_url) ? i : acc;
183
- }, parseFloat(state.current_step) || 0);
184
- }
185
-
186
- if (!state.listOfReachedSteps.includes(state.activeStep)) {
187
- state.listOfReachedSteps.push(state.activeStep);
188
- }
189
-
190
- state._current_step = props.current_step;
191
- state._active_item = props.active_item;
192
- state._active_url = props.active_url;
193
- return state;
194
- }
195
110
  }]);
196
111
 
197
112
  return StepIndicator;
@@ -199,8 +114,6 @@ var StepIndicator = function (_React$PureComponent) {
199
114
 
200
115
  _defineProperty(StepIndicator, "tagName", 'dnb-step-indicator');
201
116
 
202
- _defineProperty(StepIndicator, "contextType", Context);
203
-
204
117
  _defineProperty(StepIndicator, "Sidebar", StepIndicatorSidebar);
205
118
 
206
119
  _defineProperty(StepIndicator, "defaultProps", _objectSpread({
@@ -9,6 +9,7 @@ export interface StepIndicatorProviderProps {
9
9
  */
10
10
  sidebar_id: string;
11
11
  children: React.ReactNode;
12
+ isSidebar?: boolean;
12
13
  }
13
14
  export class StepIndicatorProvider extends React.Component<
14
15
  StepIndicatorProviderProps,
@@ -2,12 +2,14 @@ import "core-js/modules/es.reflect.construct.js";
2
2
  import "core-js/modules/es.symbol.js";
3
3
  import "core-js/modules/es.object.get-own-property-descriptor.js";
4
4
  import "core-js/modules/es.object.get-own-property-descriptors.js";
5
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
6
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
7
7
  import _createClass from "@babel/runtime/helpers/esm/createClass";
8
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
8
9
  import _inherits from "@babel/runtime/helpers/esm/inherits";
9
10
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
10
11
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
12
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
13
 
12
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
15
 
@@ -24,13 +26,21 @@ import "core-js/modules/es.object.keys.js";
24
26
  import "core-js/modules/es.array.includes.js";
25
27
  import "core-js/modules/web.dom-collections.for-each.js";
26
28
  import "core-js/modules/es.string.starts-with.js";
29
+ import "core-js/modules/es.parse-float.js";
30
+ import "core-js/modules/es.array.reduce.js";
31
+ import "core-js/modules/es.string.includes.js";
32
+ import "core-js/modules/es.regexp.exec.js";
33
+ import "core-js/modules/es.string.replace.js";
34
+ import "core-js/modules/es.object.entries.js";
27
35
  import React from 'react';
28
36
  import PropTypes from 'prop-types';
29
- import EventEmitter from '../../shared/EventEmitter';
37
+ import Context from '../../shared/Context';
30
38
  import { stepIndicatorDefaultProps } from './StepIndicatorProps';
39
+ import { processChildren, extendPropsWithContext } from '../../shared/component-helper';
40
+ import { onMediaQueryChange } from '../../shared/MediaQueryUtils';
31
41
  var filterAttributes = Object.keys(stepIndicatorDefaultProps).filter(function (item) {
32
42
  return !['class', 'className'].includes(item);
33
- }).concat(['internalId', 'hasSidebar', 'hideSidebar', 'mainTitle', 'stepsLabel', 'stepsLabelExtended', 'listOfReachedSteps', 'setActiveStep', 'activeStep', 'countSteps', 'innerRef', 'filterAttributes', 'listAttributes', 'onChangeState', 'isV1', 'activeUrl']);
43
+ }).concat(['internalId', 'isSidebar', 'hasSidebar', 'hideSidebar', 'sidebarIsVisible', 'mainTitle', 'stepsLabel', 'stepsLabelExtended', 'listOfReachedSteps', 'setActiveStep', 'activeStep', 'countSteps', 'openState', 'onChangeState', 'openHandler', 'closeHandler', 'innerRef', 'hasSkeletonData', 'filterAttributes', 'listAttributes', 'onChangeState', 'isV1', 'activeUrl']);
34
44
  var StepIndicatorContext = React.createContext(null);
35
45
  export default StepIndicatorContext;
36
46
  export var StepIndicatorProvider = function (_React$PureComponent) {
@@ -44,8 +54,45 @@ export var StepIndicatorProvider = function (_React$PureComponent) {
44
54
  _classCallCheck(this, StepIndicatorProvider);
45
55
 
46
56
  _this = _super.call(this, props);
47
- _this._eventEmitter = EventEmitter.createInstance(props.sidebar_id);
48
- _this.state = _this._eventEmitter.get();
57
+
58
+ _defineProperty(_assertThisInitialized(_this), "setActiveStep", function (activeStep) {
59
+ _this.setState({
60
+ activeStep: activeStep
61
+ });
62
+ });
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "onChangeState", function () {
65
+ _this.setState({
66
+ openState: false
67
+ });
68
+ });
69
+
70
+ _defineProperty(_assertThisInitialized(_this), "openHandler", function () {
71
+ _this.setState({
72
+ openState: true
73
+ });
74
+ });
75
+
76
+ _defineProperty(_assertThisInitialized(_this), "closeHandler", function () {
77
+ _this.setState({
78
+ openState: false
79
+ });
80
+ });
81
+
82
+ _this.state = {
83
+ hasSidebar: true,
84
+ hideSidebar: false,
85
+ activeStep: undefined,
86
+ setActiveStep: _this.setActiveStep,
87
+ onChangeState: _this.onChangeState,
88
+ openHandler: _this.openHandler,
89
+ closeHandler: _this.closeHandler
90
+ };
91
+
92
+ if (!_this.state.listOfReachedSteps) {
93
+ _this.state.listOfReachedSteps = [];
94
+ }
95
+
49
96
  return _this;
50
97
  }
51
98
 
@@ -54,30 +101,73 @@ export var StepIndicatorProvider = function (_React$PureComponent) {
54
101
  value: function componentDidMount() {
55
102
  var _this2 = this;
56
103
 
57
- this._eventEmitter.listen(function (state) {
58
- _this2.setState(state);
59
- });
104
+ this._isMounted = true;
105
+
106
+ if (!this.props.isV1) {
107
+ var _document;
108
+
109
+ this._mediaQueryListener = onMediaQueryChange({
110
+ min: '0',
111
+ max: 'medium'
112
+ }, function (hideSidebar) {
113
+ _this2.setState({
114
+ hideSidebar: hideSidebar
115
+ });
116
+ }, {
117
+ runOnInit: true
118
+ });
119
+ var container = (_document = document) === null || _document === void 0 ? void 0 : _document.getElementById('sidebar__' + this.props.sidebar_id);
120
+ this.setState({
121
+ hasSidebar: Boolean(container)
122
+ });
123
+ }
60
124
  }
61
125
  }, {
62
126
  key: "componentWillUnmount",
63
127
  value: function componentWillUnmount() {
64
- if (this._eventEmitter) {
65
- this._eventEmitter.remove();
66
-
67
- this._eventEmitter = null;
128
+ if (this._mediaQueryListener) {
129
+ this._mediaQueryListener();
68
130
  }
69
131
  }
70
132
  }, {
71
133
  key: "componentDidUpdate",
72
134
  value: function componentDidUpdate() {
73
- this._eventEmitter.update(_objectSpread({}, this.props));
135
+ this.setState(this.makeContextValue());
136
+ }
137
+ }, {
138
+ key: "getGlobalContext",
139
+ value: function getGlobalContext() {
140
+ var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.context;
141
+ var data = extendPropsWithContext(this.props, stepIndicatorDefaultProps, {
142
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
143
+ }, context.getTranslation(context).StepIndicator, context.FormRow, context.StepIndicator);
144
+ return data;
145
+ }
146
+ }, {
147
+ key: "makeContextValue",
148
+ value: function makeContextValue() {
149
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
150
+ _ref$state = _ref.state,
151
+ state = _ref$state === void 0 ? _objectSpread({}, this.state) : _ref$state,
152
+ _ref$props = _ref.props,
153
+ props = _ref$props === void 0 ? this.props : _ref$props,
154
+ _ref$context = _ref.context,
155
+ context = _ref$context === void 0 ? this.context : _ref$context;
156
+
157
+ var globalContext = this.getGlobalContext(context);
158
+ var value = extendSafe({
159
+ filterAttributes: filterAttributes
160
+ }, globalContext, {
161
+ defaultProps: stepIndicatorDefaultProps,
162
+ props: props
163
+ }, state);
164
+ value.sidebarIsVisible = value.hasSidebar && !value.hideSidebar;
165
+ return value;
74
166
  }
75
167
  }, {
76
168
  key: "render",
77
169
  value: function render() {
78
- var value = _objectSpread(_objectSpread({
79
- filterAttributes: filterAttributes
80
- }, this.props), this.state);
170
+ var value = this.makeContextValue();
81
171
 
82
172
  if (typeof window !== 'undefined' && window.IS_TEST) {
83
173
  value.no_animation = true;
@@ -92,11 +182,99 @@ export var StepIndicatorProvider = function (_React$PureComponent) {
92
182
  value: value
93
183
  }, this.props.children);
94
184
  }
185
+ }], [{
186
+ key: "getData",
187
+ value: function getData(props) {
188
+ var res = [];
189
+ if (props.data) res = props.data;else res = processChildren(props);
190
+ if (typeof res === 'string') return res[0] === '[' ? JSON.parse(res) : [];
191
+ return res || [];
192
+ }
193
+ }, {
194
+ key: "getDerivedStateFromProps",
195
+ value: function getDerivedStateFromProps(props, state) {
196
+ var _state$data, _state$step_title, _state$data2, _state$step_title_ext, _state$data3;
197
+
198
+ if (props.data) {
199
+ state.data = StepIndicatorProvider.getData(props);
200
+ }
201
+
202
+ state.countSteps = (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.length;
203
+
204
+ if (parseFloat(props.current_step) > -1 && props.current_step !== state._current_step) {
205
+ state.activeStep = parseFloat(props.current_step) || 0;
206
+ }
207
+
208
+ if (props.active_item !== null && props.active_item !== state._active_item) {
209
+ state.activeStep = parseFloat(props.active_item) || 0;
210
+ }
211
+
212
+ if (props.active_url && state.data.length > 0) {
213
+ state.activeStep = state.data.reduce(function (acc, _ref2, i) {
214
+ var url = _ref2.url;
215
+ return url && (url === state.current_step || url === props.active_url) ? i : acc;
216
+ }, parseFloat(state.current_step) || 0);
217
+ }
218
+
219
+ if (!state.listOfReachedSteps.includes(state.activeStep)) {
220
+ state.listOfReachedSteps.push(state.activeStep);
221
+ }
222
+
223
+ state.stepsLabel = (_state$step_title = state.step_title) === null || _state$step_title === void 0 ? void 0 : _state$step_title.replace('%step', (state.activeStep || 0) + 1).replace('%count', ((_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.length) || 1);
224
+ state.stepsLabelExtended = (_state$step_title_ext = state.step_title_extended) === null || _state$step_title_ext === void 0 ? void 0 : _state$step_title_ext.replace('%step', (state.activeStep || 0) + 1).replace('%count', ((_state$data3 = state.data) === null || _state$data3 === void 0 ? void 0 : _state$data3.length) || 1);
225
+ state._current_step = props.current_step;
226
+ state._active_item = props.active_item;
227
+ state._active_url = props.active_url;
228
+ return state;
229
+ }
95
230
  }]);
96
231
 
97
232
  return StepIndicatorProvider;
98
233
  }(React.PureComponent);
234
+
235
+ _defineProperty(StepIndicatorProvider, "contextType", Context);
236
+
237
+ _defineProperty(StepIndicatorProvider, "defaultProps", {
238
+ isSidebar: false
239
+ });
240
+
99
241
  process.env.NODE_ENV !== "production" ? StepIndicatorProvider.propTypes = {
100
242
  sidebar_id: PropTypes.string.isRequired,
101
- children: PropTypes.node.isRequired
102
- } : void 0;
243
+ children: PropTypes.node.isRequired,
244
+ isSidebar: PropTypes.bool
245
+ } : void 0;
246
+
247
+ function extendSafe() {
248
+ var obj = {};
249
+
250
+ for (var _len = arguments.length, objects = new Array(_len), _key = 0; _key < _len; _key++) {
251
+ objects[_key] = arguments[_key];
252
+ }
253
+
254
+ objects.forEach(function (itm) {
255
+ if (itm.defaultProps && itm.props) {
256
+ itm = Object.entries(itm.props).reduce(function (acc, _ref3) {
257
+ var _ref4 = _slicedToArray(_ref3, 2),
258
+ k = _ref4[0],
259
+ v = _ref4[1];
260
+
261
+ if (itm.defaultProps[k] !== v) {
262
+ acc[k] = v;
263
+ }
264
+
265
+ return acc;
266
+ }, {});
267
+ }
268
+
269
+ Object.entries(itm).forEach(function (_ref5) {
270
+ var _ref6 = _slicedToArray(_ref5, 2),
271
+ k = _ref6[0],
272
+ v = _ref6[1];
273
+
274
+ if (!obj[k] || obj[k] && v) {
275
+ obj[k] = v;
276
+ }
277
+ });
278
+ });
279
+ return obj;
280
+ }
@@ -18,6 +18,7 @@ import "core-js/modules/es.string.includes.js";
18
18
  import "core-js/modules/es.array.concat.js";
19
19
  import "core-js/modules/es.regexp.exec.js";
20
20
  import "core-js/modules/es.string.replace.js";
21
+ import "core-js/modules/es.parse-float.js";
21
22
 
22
23
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
23
24
 
@@ -31,7 +32,6 @@ import AnimateHeight from '../../shared/AnimateHeight';
31
32
  import Button from '../button/Button';
32
33
  import Icon from '../icon/Icon';
33
34
  import { WarnIcon, InfoIcon, ErrorIcon } from '../../components/form-status/FormStatus';
34
- import EventEmitter from '../../shared/EventEmitter';
35
35
  import StepIndicatorContext from './StepIndicatorContext';
36
36
  import { deprecated_v1 } from './StepIndicatorItem-v1';
37
37
 
@@ -80,7 +80,6 @@ var StepIndicatorItem = function (_React$PureComponent) {
80
80
  return typeof process !== 'undefined' && process.env.NODE_ENV === 'development';
81
81
  });
82
82
 
83
- _this._eventEmitter = EventEmitter.createInstance(context.sidebar_id);
84
83
  _this._heightAnim = new AnimateHeight({
85
84
  animate: !isTrue(context.no_animation)
86
85
  });
@@ -99,8 +98,6 @@ var StepIndicatorItem = function (_React$PureComponent) {
99
98
  key: "componentWillUnmount",
100
99
  value: function componentWillUnmount() {
101
100
  this._heightAnim.remove();
102
-
103
- this._eventEmitter.remove();
104
101
  }
105
102
  }, {
106
103
  key: "getSnapshotBeforeUpdate",
@@ -165,7 +162,7 @@ var StepIndicatorItem = function (_React$PureComponent) {
165
162
  var isVisited = currentItemNum < activeStep;
166
163
  var id = "".concat(sidebar_id || makeUniqueId(), "-").concat(currentItemNum);
167
164
  var ariaLabel = step_title === null || step_title === void 0 ? void 0 : step_title.replace('%step', currentItemNum + 1).replace('%count', countSteps);
168
- var isCurrent = currentItemNum === activeStep || isTrue(is_current);
165
+ var isCurrent = currentItemNum === activeStep || isTrue(is_current) && isNaN(parseFloat(activeStep));
169
166
  var element = React.createElement(StepItemWrapper, {
170
167
  number: currentItemNum + 1,
171
168
  hide_numbers: hide_numbers,
@@ -1,6 +1,5 @@
1
1
  import "core-js/modules/es.object.to-string.js";
2
2
  import "core-js/modules/es.reflect.construct.js";
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
4
  import _createClass from "@babel/runtime/helpers/esm/createClass";
6
5
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
@@ -9,17 +8,18 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
9
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
10
9
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
10
 
12
- var _StepIndicatorList;
11
+ var _StepIndicatorList, _StepIndicatorList2;
13
12
 
14
13
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
15
14
 
16
15
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17
16
 
18
17
  import React from 'react';
18
+ import ReactDOM from 'react-dom';
19
19
  import Modal from '../modal/Modal';
20
20
  import StepIndicatorTriggerButton from './StepIndicatorTriggerButton';
21
21
  import StepIndicatorList from './StepIndicatorList';
22
- import StepIndicatorContext, { StepIndicatorProvider } from './StepIndicatorContext';
22
+ import StepIndicatorContext from './StepIndicatorContext';
23
23
 
24
24
  var StepIndicatorModal = function (_React$PureComponent) {
25
25
  _inherits(StepIndicatorModal, _React$PureComponent);
@@ -33,47 +33,51 @@ var StepIndicatorModal = function (_React$PureComponent) {
33
33
 
34
34
  _this = _super.call(this, props);
35
35
 
36
- _defineProperty(_assertThisInitialized(_this), "state", {
37
- open_state: false
38
- });
39
-
40
- _defineProperty(_assertThisInitialized(_this), "onChangeState", function () {
41
- _this.setState({
42
- open_state: false
43
- });
44
- });
45
-
46
- _defineProperty(_assertThisInitialized(_this), "openHandler", function () {
47
- _this.setState({
48
- open_state: true
49
- });
50
- });
51
-
52
36
  _defineProperty(_assertThisInitialized(_this), "closeHandler", function () {
53
- _this.setState({
54
- open_state: false
55
- });
37
+ var _this$context;
56
38
 
57
39
  if (_this.context.hasSidebar) {
58
40
  var _this$_triggerRef$cur;
59
41
 
60
42
  (_this$_triggerRef$cur = _this._triggerRef.current) === null || _this$_triggerRef$cur === void 0 ? void 0 : _this$_triggerRef$cur.focus();
61
43
  }
44
+
45
+ (_this$context = _this.context).closeHandler.apply(_this$context, arguments);
62
46
  });
63
47
 
64
48
  _this._triggerRef = React.createRef();
49
+ _this.state = {
50
+ container: null
51
+ };
65
52
  return _this;
66
53
  }
67
54
 
68
55
  _createClass(StepIndicatorModal, [{
56
+ key: "componentDidMount",
57
+ value: function componentDidMount() {
58
+ var container = document.getElementById('sidebar__' + this.context.sidebar_id);
59
+ this.setState({
60
+ container: container
61
+ });
62
+ }
63
+ }, {
64
+ key: "renderPortal",
65
+ value: function renderPortal() {
66
+ if (!this.state.container) {
67
+ return null;
68
+ }
69
+
70
+ return ReactDOM.createPortal(_StepIndicatorList || (_StepIndicatorList = React.createElement(StepIndicatorList, null)), this.state.container);
71
+ }
72
+ }, {
69
73
  key: "render",
70
74
  value: function render() {
71
- if (this.context.hasSidebar && !this.context.hideSidebar) {
72
- return null;
75
+ if (this.context.sidebarIsVisible) {
76
+ return this.renderPortal();
73
77
  }
74
78
 
75
79
  return React.createElement(React.Fragment, null, React.createElement(StepIndicatorTriggerButton, {
76
- on_click: this.openHandler,
80
+ on_click: this.context.openHandler,
77
81
  inner_ref: this._triggerRef
78
82
  }), React.createElement(Modal, {
79
83
  id: this.context.sidebar_id,
@@ -81,19 +85,16 @@ var StepIndicatorModal = function (_React$PureComponent) {
81
85
  trigger_hidden: true,
82
86
  mode: "drawer",
83
87
  animation_direction: "bottom",
84
- open_state: this.state.open_state,
85
- on_open: this.openHandler,
88
+ open_state: this.context.openState,
89
+ on_open: this.context.openHandler,
86
90
  on_close: this.closeHandler
87
- }, React.createElement(StepIndicatorProvider, _extends({}, this.context, {
88
- sidebar_id: this.context.sidebar_id,
89
- onChangeState: this.onChangeState
90
- }), React.createElement(Modal.Content, {
91
+ }, React.createElement(Modal.Content, {
91
92
  style_type: "white"
92
93
  }, React.createElement("div", {
93
94
  className: "dnb-step-indicator-v2"
94
95
  }, React.createElement("p", {
95
96
  className: "dnb-p dnb-step-indicator__label"
96
- }, this.context.stepsLabelExtended), _StepIndicatorList || (_StepIndicatorList = React.createElement(StepIndicatorList, null)))))));
97
+ }, this.context.stepsLabelExtended), _StepIndicatorList2 || (_StepIndicatorList2 = React.createElement(StepIndicatorList, null))))));
97
98
  }
98
99
  }]);
99
100
 
@@ -28,7 +28,7 @@ export var stepIndicatorPropTypes = _objectSpread(_objectSpread({
28
28
  is_active: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
29
29
  url_future: PropTypes.string,
30
30
  url_passed: PropTypes.string
31
- }))]).isRequired,
31
+ }))]),
32
32
  overview_title: PropTypes.string,
33
33
  step_title_extended: PropTypes.string,
34
34
  step_title: PropTypes.string,
@@ -1,4 +1,27 @@
1
1
  import * as React from 'react';
2
+ export type StepIndicatorSidebarMode = 'static' | 'strict' | 'loose';
3
+ export type StepIndicatorSidebarCurrentStep = string | number;
4
+ export type StepIndicatorSidebarData =
5
+ | string
6
+ | string[]
7
+ | {
8
+ title: string | React.ReactNode;
9
+ is_current?: boolean;
10
+ inactive?: boolean;
11
+ disabled?: boolean;
12
+ status?: string | React.ReactNode;
13
+ status_state?: 'warn' | 'info' | 'error';
14
+
15
+ /**
16
+ * Will be called once the users clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.
17
+ */
18
+ on_click?: (...args: any[]) => any;
19
+ on_render?: (...args: any[]) => any;
20
+ url?: string;
21
+ is_active?: string | boolean;
22
+ url_future?: string;
23
+ url_passed?: string;
24
+ }[];
2
25
 
3
26
  /**
4
27
  * NB: Do not change the docs (comments) in here. The docs are updated during build time by "generateTypes.js" and "fetchPropertiesFromDocs.js".
@@ -9,7 +32,23 @@ export interface StepIndicatorSidebarProps
9
32
  * An unique string based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
10
33
  */
11
34
  sidebar_id: string;
35
+
36
+ /**
37
+ * Defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
38
+ */
39
+ mode?: StepIndicatorSidebarMode;
40
+
41
+ /**
42
+ * Defines the active number marked step starting by 0. Defaults to `0`.
43
+ */
44
+ current_step?: StepIndicatorSidebarCurrentStep;
45
+
46
+ /**
47
+ * Defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and example above.
48
+ */
49
+ data?: StepIndicatorSidebarData;
12
50
  internalId?: string;
51
+ showInitialData?: boolean;
13
52
  }
14
53
  export default class StepIndicatorSidebar extends React.Component<
15
54
  StepIndicatorSidebarProps,