@dnb/eufemia 10.35.0 → 10.37.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 (464) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/accordion/Accordion.d.ts +15 -3
  3. package/cjs/components/accordion/Accordion.js +7 -0
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionDocs.d.ts +4 -0
  6. package/cjs/components/accordion/AccordionDocs.js +161 -0
  7. package/cjs/components/accordion/AccordionDocs.js.map +1 -0
  8. package/cjs/components/accordion/AccordionGroup.js +13 -3
  9. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  10. package/cjs/components/accordion/AccordionHeader.d.ts +5 -5
  11. package/cjs/components/accordion/AccordionHeader.js +3 -2
  12. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  13. package/cjs/components/accordion/AccordionProviderContext.d.ts +2 -0
  14. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  15. package/cjs/components/anchor/Anchor.d.ts +20 -0
  16. package/cjs/components/anchor/Anchor.js +13 -4
  17. package/cjs/components/anchor/Anchor.js.map +1 -1
  18. package/cjs/components/anchor/AnchorDocs.d.ts +3 -0
  19. package/cjs/components/anchor/AnchorDocs.js +82 -0
  20. package/cjs/components/anchor/AnchorDocs.js.map +1 -0
  21. package/cjs/components/autocomplete/Autocomplete.js +18 -4
  22. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  25. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  26. package/cjs/components/height-animation/useHeightAnimation.d.ts +5 -1
  27. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  28. package/cjs/components/icon/Icon.d.ts +493 -61
  29. package/cjs/components/icon/Icon.js +97 -134
  30. package/cjs/components/icon/Icon.js.map +1 -1
  31. package/cjs/components/icon/IconHelpers.d.ts +2 -1
  32. package/cjs/components/icon/IconHelpers.js +1 -1
  33. package/cjs/components/icon/IconHelpers.js.map +1 -1
  34. package/cjs/components/icon/IconPrimary.d.ts +2 -2
  35. package/cjs/components/icon/IconPrimary.js.map +1 -1
  36. package/cjs/components/icon-primary/IconPrimary.d.ts +8 -11
  37. package/cjs/components/icon-primary/IconPrimary.js +37 -38
  38. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  39. package/cjs/components/step-indicator/StepIndicatorContext.js +66 -59
  40. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  41. package/cjs/components/step-indicator/StepIndicatorItem.js +15 -23
  42. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  43. package/cjs/components/step-indicator/StepIndicatorModal.js +5 -5
  44. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  45. package/cjs/components/step-indicator/StepIndicatorSidebar.js +10 -9
  46. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  47. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  48. package/cjs/components/table/Table.d.ts +1 -1
  49. package/cjs/components/table/Table.js.map +1 -1
  50. package/cjs/components/table/TableContext.d.ts +12 -2
  51. package/cjs/components/table/TableContext.js +1 -3
  52. package/cjs/components/table/TableContext.js.map +1 -1
  53. package/cjs/components/table/TableDocs.d.ts +7 -0
  54. package/cjs/components/table/TableDocs.js +202 -0
  55. package/cjs/components/table/TableDocs.js.map +1 -0
  56. package/cjs/components/table/TableTd.d.ts +3 -3
  57. package/cjs/components/table/TableTd.js +2 -2
  58. package/cjs/components/table/TableTd.js.map +1 -1
  59. package/cjs/components/table/TableTr.d.ts +9 -5
  60. package/cjs/components/table/TableTr.js +4 -4
  61. package/cjs/components/table/TableTr.js.map +1 -1
  62. package/cjs/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  63. package/cjs/components/table/{TableAccordionTd.js → table-accordion/TableAccordionContent.js} +52 -17
  64. package/cjs/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  65. package/cjs/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  66. package/cjs/components/table/table-accordion/TableAccordionContext.js +11 -0
  67. package/cjs/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  68. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  69. package/cjs/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +17 -18
  70. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  71. package/{es/components/table → cjs/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  72. package/cjs/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +4 -4
  73. package/cjs/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  74. package/cjs/components/tabs/Tabs.d.ts +0 -3
  75. package/cjs/components/tabs/TabsDocs.d.ts +1 -0
  76. package/cjs/components/tabs/TabsDocs.js +32 -4
  77. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  78. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -2
  79. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  80. package/cjs/components/toggle-button/style/dnb-toggle-button.css +15 -6
  81. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  82. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  83. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
  84. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  85. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  86. package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -72
  87. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  88. package/cjs/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  89. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +101 -0
  90. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  91. package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -1
  92. package/cjs/extensions/forms/Value/Date/Date.js +26 -3
  93. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  94. package/cjs/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
  95. package/cjs/extensions/forms/Value/Date/DateDocs.js +20 -0
  96. package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -0
  97. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  98. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  99. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  100. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  101. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  102. package/cjs/extensions/forms/Wizard/Step/Step.js +6 -2
  103. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  104. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  105. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  107. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  108. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  109. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  110. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  111. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  112. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  113. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  114. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  115. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -9
  116. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  117. package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -9
  118. package/cjs/extensions/forms/constants/locales/index.d.ts +14 -18
  119. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  120. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -9
  121. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  122. package/cjs/shared/Context.d.ts +4 -0
  123. package/cjs/shared/Context.js.map +1 -1
  124. package/cjs/shared/Eufemia.d.ts +1 -1
  125. package/cjs/shared/Eufemia.js +2 -2
  126. package/cjs/shared/Eufemia.js.map +1 -1
  127. package/cjs/shared/component-helper.js +1 -1
  128. package/cjs/shared/component-helper.js.map +1 -1
  129. package/cjs/style/core/scopes.scss +1 -1
  130. package/cjs/style/dnb-ui-basis.css +1 -1
  131. package/cjs/style/dnb-ui-basis.min.css +1 -1
  132. package/cjs/style/dnb-ui-body.css +1 -1
  133. package/cjs/style/dnb-ui-body.min.css +1 -1
  134. package/cjs/style/dnb-ui-components.css +15 -6
  135. package/cjs/style/dnb-ui-components.min.css +1 -1
  136. package/cjs/style/dnb-ui-core.css +1 -1
  137. package/cjs/style/dnb-ui-core.min.css +1 -1
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  140. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  142. package/cjs/style/themes/theme-ui/ui-theme-components.css +15 -6
  143. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  144. package/components/accordion/Accordion.d.ts +15 -3
  145. package/components/accordion/Accordion.js +7 -0
  146. package/components/accordion/Accordion.js.map +1 -1
  147. package/components/accordion/AccordionDocs.d.ts +4 -0
  148. package/components/accordion/AccordionDocs.js +152 -0
  149. package/components/accordion/AccordionDocs.js.map +1 -0
  150. package/components/accordion/AccordionGroup.js +14 -4
  151. package/components/accordion/AccordionGroup.js.map +1 -1
  152. package/components/accordion/AccordionHeader.d.ts +5 -5
  153. package/components/accordion/AccordionHeader.js +3 -2
  154. package/components/accordion/AccordionHeader.js.map +1 -1
  155. package/components/accordion/AccordionProviderContext.d.ts +2 -0
  156. package/components/accordion/AccordionProviderContext.js.map +1 -1
  157. package/components/anchor/Anchor.d.ts +20 -0
  158. package/components/anchor/Anchor.js +13 -4
  159. package/components/anchor/Anchor.js.map +1 -1
  160. package/components/anchor/AnchorDocs.d.ts +3 -0
  161. package/components/anchor/AnchorDocs.js +74 -0
  162. package/components/anchor/AnchorDocs.js.map +1 -0
  163. package/components/autocomplete/Autocomplete.js +19 -5
  164. package/components/autocomplete/Autocomplete.js.map +1 -1
  165. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  166. package/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  167. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  168. package/components/height-animation/useHeightAnimation.d.ts +5 -1
  169. package/components/height-animation/useHeightAnimation.js.map +1 -1
  170. package/components/icon/Icon.d.ts +493 -61
  171. package/components/icon/Icon.js +89 -127
  172. package/components/icon/Icon.js.map +1 -1
  173. package/components/icon/IconHelpers.d.ts +2 -1
  174. package/components/icon/IconHelpers.js +1 -1
  175. package/components/icon/IconHelpers.js.map +1 -1
  176. package/components/icon/IconPrimary.d.ts +2 -2
  177. package/components/icon/IconPrimary.js.map +1 -1
  178. package/components/icon-primary/IconPrimary.d.ts +8 -11
  179. package/components/icon-primary/IconPrimary.js +25 -31
  180. package/components/icon-primary/IconPrimary.js.map +1 -1
  181. package/components/step-indicator/StepIndicatorContext.js +67 -60
  182. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  183. package/components/step-indicator/StepIndicatorItem.js +16 -24
  184. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  185. package/components/step-indicator/StepIndicatorModal.js +6 -6
  186. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  187. package/components/step-indicator/StepIndicatorSidebar.js +11 -10
  188. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  189. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  190. package/components/table/Table.d.ts +1 -1
  191. package/components/table/Table.js.map +1 -1
  192. package/components/table/TableContext.d.ts +12 -2
  193. package/components/table/TableContext.js +0 -1
  194. package/components/table/TableContext.js.map +1 -1
  195. package/components/table/TableDocs.d.ts +7 -0
  196. package/components/table/TableDocs.js +190 -0
  197. package/components/table/TableDocs.js.map +1 -0
  198. package/components/table/TableTd.d.ts +3 -3
  199. package/components/table/TableTd.js +2 -2
  200. package/components/table/TableTd.js.map +1 -1
  201. package/components/table/TableTr.d.ts +9 -5
  202. package/components/table/TableTr.js +4 -4
  203. package/components/table/TableTr.js.map +1 -1
  204. package/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  205. package/components/table/table-accordion/TableAccordionContent.js +95 -0
  206. package/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  207. package/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  208. package/components/table/table-accordion/TableAccordionContext.js +3 -0
  209. package/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  210. package/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  211. package/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
  212. package/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  213. package/{cjs/components/table → components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  214. package/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  215. package/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  216. package/components/tabs/Tabs.d.ts +0 -3
  217. package/components/tabs/TabsDocs.d.ts +1 -0
  218. package/components/tabs/TabsDocs.js +30 -3
  219. package/components/tabs/TabsDocs.js.map +1 -1
  220. package/components/toggle-button/ToggleButtonGroup.js +2 -2
  221. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  222. package/components/toggle-button/style/dnb-toggle-button.css +15 -6
  223. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  224. package/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  225. package/es/components/accordion/Accordion.d.ts +15 -3
  226. package/es/components/accordion/Accordion.js +7 -0
  227. package/es/components/accordion/Accordion.js.map +1 -1
  228. package/es/components/accordion/AccordionDocs.d.ts +4 -0
  229. package/es/components/accordion/AccordionDocs.js +152 -0
  230. package/es/components/accordion/AccordionDocs.js.map +1 -0
  231. package/es/components/accordion/AccordionGroup.js +14 -4
  232. package/es/components/accordion/AccordionGroup.js.map +1 -1
  233. package/es/components/accordion/AccordionHeader.d.ts +5 -5
  234. package/es/components/accordion/AccordionHeader.js +3 -2
  235. package/es/components/accordion/AccordionHeader.js.map +1 -1
  236. package/es/components/accordion/AccordionProviderContext.d.ts +2 -0
  237. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  238. package/es/components/anchor/Anchor.d.ts +20 -0
  239. package/es/components/anchor/Anchor.js +13 -4
  240. package/es/components/anchor/Anchor.js.map +1 -1
  241. package/es/components/anchor/AnchorDocs.d.ts +3 -0
  242. package/es/components/anchor/AnchorDocs.js +74 -0
  243. package/es/components/anchor/AnchorDocs.js.map +1 -0
  244. package/es/components/autocomplete/Autocomplete.js +19 -5
  245. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  246. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  247. package/es/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  248. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  249. package/es/components/height-animation/useHeightAnimation.d.ts +5 -1
  250. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  251. package/es/components/icon/Icon.d.ts +493 -61
  252. package/es/components/icon/Icon.js +82 -116
  253. package/es/components/icon/Icon.js.map +1 -1
  254. package/es/components/icon/IconHelpers.d.ts +2 -1
  255. package/es/components/icon/IconHelpers.js +1 -1
  256. package/es/components/icon/IconHelpers.js.map +1 -1
  257. package/es/components/icon/IconPrimary.d.ts +2 -2
  258. package/es/components/icon/IconPrimary.js.map +1 -1
  259. package/es/components/icon-primary/IconPrimary.d.ts +8 -11
  260. package/es/components/icon-primary/IconPrimary.js +25 -31
  261. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  262. package/es/components/step-indicator/StepIndicatorContext.js +67 -60
  263. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  264. package/es/components/step-indicator/StepIndicatorItem.js +17 -25
  265. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  266. package/es/components/step-indicator/StepIndicatorModal.js +6 -6
  267. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  268. package/es/components/step-indicator/StepIndicatorSidebar.js +11 -10
  269. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  270. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  271. package/es/components/table/Table.d.ts +1 -1
  272. package/es/components/table/Table.js.map +1 -1
  273. package/es/components/table/TableContext.d.ts +12 -2
  274. package/es/components/table/TableContext.js +0 -1
  275. package/es/components/table/TableContext.js.map +1 -1
  276. package/es/components/table/TableDocs.d.ts +7 -0
  277. package/es/components/table/TableDocs.js +190 -0
  278. package/es/components/table/TableDocs.js.map +1 -0
  279. package/es/components/table/TableTd.d.ts +3 -3
  280. package/es/components/table/TableTd.js +2 -2
  281. package/es/components/table/TableTd.js.map +1 -1
  282. package/es/components/table/TableTr.d.ts +9 -5
  283. package/es/components/table/TableTr.js +4 -4
  284. package/es/components/table/TableTr.js.map +1 -1
  285. package/es/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  286. package/es/components/table/table-accordion/TableAccordionContent.js +92 -0
  287. package/es/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  288. package/es/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  289. package/es/components/table/table-accordion/TableAccordionContext.js +3 -0
  290. package/es/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  291. package/es/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  292. package/es/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
  293. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  294. package/{components/table → es/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  295. package/es/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  296. package/es/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  297. package/es/components/tabs/Tabs.d.ts +0 -3
  298. package/es/components/tabs/TabsDocs.d.ts +1 -0
  299. package/es/components/tabs/TabsDocs.js +30 -3
  300. package/es/components/tabs/TabsDocs.js.map +1 -1
  301. package/es/components/toggle-button/ToggleButtonGroup.js +2 -2
  302. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  303. package/es/components/toggle-button/style/dnb-toggle-button.css +15 -6
  304. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  305. package/es/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  306. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
  307. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  308. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  309. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -71
  310. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  311. package/es/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  312. package/es/extensions/forms/Form/Visibility/useVisibility.js +94 -0
  313. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  314. package/es/extensions/forms/Value/Date/Date.d.ts +5 -1
  315. package/es/extensions/forms/Value/Date/Date.js +25 -3
  316. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  317. package/es/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
  318. package/es/extensions/forms/Value/Date/DateDocs.js +13 -0
  319. package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -0
  320. package/es/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  321. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  322. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  323. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  324. package/es/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  325. package/es/extensions/forms/Wizard/Step/Step.js +6 -2
  326. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  327. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  328. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  329. package/es/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  330. package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  331. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  332. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  333. package/es/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  334. package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  335. package/es/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  336. package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  337. package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  338. package/es/extensions/forms/constants/locales/en-GB.js +7 -9
  339. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  340. package/es/extensions/forms/constants/locales/en-US.d.ts +7 -9
  341. package/es/extensions/forms/constants/locales/index.d.ts +14 -18
  342. package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  343. package/es/extensions/forms/constants/locales/nb-NO.js +7 -9
  344. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  345. package/es/shared/Context.d.ts +4 -0
  346. package/es/shared/Context.js.map +1 -1
  347. package/es/shared/Eufemia.d.ts +1 -1
  348. package/es/shared/Eufemia.js +2 -2
  349. package/es/shared/Eufemia.js.map +1 -1
  350. package/es/shared/component-helper.js +1 -1
  351. package/es/shared/component-helper.js.map +1 -1
  352. package/es/style/core/scopes.scss +1 -1
  353. package/es/style/dnb-ui-basis.css +1 -1
  354. package/es/style/dnb-ui-basis.min.css +1 -1
  355. package/es/style/dnb-ui-body.css +1 -1
  356. package/es/style/dnb-ui-body.min.css +1 -1
  357. package/es/style/dnb-ui-components.css +15 -6
  358. package/es/style/dnb-ui-components.min.css +1 -1
  359. package/es/style/dnb-ui-core.css +1 -1
  360. package/es/style/dnb-ui-core.min.css +1 -1
  361. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  362. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  363. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  364. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  365. package/es/style/themes/theme-ui/ui-theme-components.css +15 -6
  366. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  367. package/esm/dnb-ui-basis.min.mjs +1 -1
  368. package/esm/dnb-ui-components.min.mjs +1 -1
  369. package/esm/dnb-ui-elements.min.mjs +1 -1
  370. package/esm/dnb-ui-extensions.min.mjs +5 -5
  371. package/esm/dnb-ui-lib.min.mjs +1 -1
  372. package/extensions/forms/DataContext/Provider/Provider.js +1 -1
  373. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  374. package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  375. package/extensions/forms/Form/Visibility/Visibility.js +20 -71
  376. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  377. package/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  378. package/extensions/forms/Form/Visibility/useVisibility.js +95 -0
  379. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  380. package/extensions/forms/Value/Date/Date.d.ts +5 -1
  381. package/extensions/forms/Value/Date/Date.js +25 -3
  382. package/extensions/forms/Value/Date/Date.js.map +1 -1
  383. package/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
  384. package/extensions/forms/Value/Date/DateDocs.js +13 -0
  385. package/extensions/forms/Value/Date/DateDocs.js.map +1 -0
  386. package/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  387. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  388. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  389. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  390. package/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  391. package/extensions/forms/Wizard/Step/Step.js +6 -2
  392. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  393. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  394. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  395. package/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  396. package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  397. package/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  398. package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  399. package/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  400. package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  401. package/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  402. package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  403. package/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  404. package/extensions/forms/constants/locales/en-GB.js +7 -9
  405. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  406. package/extensions/forms/constants/locales/en-US.d.ts +7 -9
  407. package/extensions/forms/constants/locales/index.d.ts +14 -18
  408. package/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  409. package/extensions/forms/constants/locales/nb-NO.js +7 -9
  410. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  411. package/package.json +1 -1
  412. package/shared/Context.d.ts +4 -0
  413. package/shared/Context.js.map +1 -1
  414. package/shared/Eufemia.d.ts +1 -1
  415. package/shared/Eufemia.js +2 -2
  416. package/shared/Eufemia.js.map +1 -1
  417. package/shared/component-helper.js +1 -1
  418. package/shared/component-helper.js.map +1 -1
  419. package/style/core/scopes.scss +1 -1
  420. package/style/dnb-ui-basis.css +1 -1
  421. package/style/dnb-ui-basis.min.css +1 -1
  422. package/style/dnb-ui-body.css +1 -1
  423. package/style/dnb-ui-body.min.css +1 -1
  424. package/style/dnb-ui-components.css +15 -6
  425. package/style/dnb-ui-components.min.css +1 -1
  426. package/style/dnb-ui-core.css +1 -1
  427. package/style/dnb-ui-core.min.css +1 -1
  428. package/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  429. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  430. package/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  431. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  432. package/style/themes/theme-ui/ui-theme-components.css +15 -6
  433. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  434. package/umd/dnb-ui-basis.min.js +1 -1
  435. package/umd/dnb-ui-components.min.js +1 -1
  436. package/umd/dnb-ui-elements.min.js +1 -1
  437. package/umd/dnb-ui-extensions.min.js +5 -5
  438. package/umd/dnb-ui-lib.min.js +1 -1
  439. package/cjs/components/table/TableAccordion.d.ts +0 -8
  440. package/cjs/components/table/TableAccordion.js.map +0 -1
  441. package/cjs/components/table/TableAccordionTd.d.ts +0 -9
  442. package/cjs/components/table/TableAccordionTd.js.map +0 -1
  443. package/cjs/components/table/TableAccordionTr.d.ts +0 -13
  444. package/cjs/components/table/TableAccordionTr.js +0 -61
  445. package/cjs/components/table/TableAccordionTr.js.map +0 -1
  446. package/cjs/components/table/useTableAnimationHandler.js.map +0 -1
  447. package/components/table/TableAccordion.d.ts +0 -8
  448. package/components/table/TableAccordion.js.map +0 -1
  449. package/components/table/TableAccordionTd.d.ts +0 -9
  450. package/components/table/TableAccordionTd.js +0 -61
  451. package/components/table/TableAccordionTd.js.map +0 -1
  452. package/components/table/TableAccordionTr.d.ts +0 -13
  453. package/components/table/TableAccordionTr.js +0 -51
  454. package/components/table/TableAccordionTr.js.map +0 -1
  455. package/components/table/useTableAnimationHandler.js.map +0 -1
  456. package/es/components/table/TableAccordion.d.ts +0 -8
  457. package/es/components/table/TableAccordion.js.map +0 -1
  458. package/es/components/table/TableAccordionTd.d.ts +0 -9
  459. package/es/components/table/TableAccordionTd.js +0 -61
  460. package/es/components/table/TableAccordionTd.js.map +0 -1
  461. package/es/components/table/TableAccordionTr.d.ts +0 -13
  462. package/es/components/table/TableAccordionTr.js +0 -51
  463. package/es/components/table/TableAccordionTr.js.map +0 -1
  464. package/es/components/table/useTableAnimationHandler.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionHeader.js","names":["React","useContext","useState","validateDOMAttributes","extendPropsWithContext","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","_ref4","icon","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHovering","setIsHovering","hasClicked","setHasClicked","context","onKeyDownHandler","event","keyPressed","key","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","_excluded5","defaultParts","Array","isArray","filter","cur","isValidElement","removeParts","forEach","part","find","c","type","push","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","undefined","iconIndex","headerParams","role","tabIndex","onClick","onKeyDown","onMouseOver","onMouseOut","Element","String","Number","Container","Icon","Title","Description","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionHeader.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps, useContext, useState } from 'react'\nimport type { SpacingProps } from '../space/types'\n\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport classnames from 'classnames'\nimport AccordionContext from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type { HeadingLevel } from '../Heading'\nimport type { IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type {\n AccordionIcon,\n AccordionIconPosition,\n AccordionVariant,\n} from './Accordion'\n\nexport type AccordionHeaderTitleProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderTitle({\n children = null,\n ...rest\n}: AccordionHeaderTitleProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__title',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n )\n}\n\nexport type AccordionHeaderDescriptionProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderDescription({\n children = null,\n ...rest\n}: AccordionHeaderDescriptionProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__description',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\nexport type AccordionHeaderContainerProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderContainer({\n children = null,\n ...rest\n}: AccordionHeaderContainerProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__container',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\ntype AccordionHeaderIconIcon =\n | React.ReactNode\n | ((...args: any[]) => React.ReactNode)\n | {\n closed?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n expanded?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n }\n\nexport type AccordionHeaderIconProps = {\n icon?: AccordionHeaderIconIcon\n size?: IconSize\n expanded?: boolean\n icon_position?: AccordionIconPosition\n}\n\nfunction AccordionHeaderIcon({\n icon,\n expanded,\n size = 'medium',\n icon_position,\n}: AccordionHeaderIconProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n icon_position && `dnb-accordion__header__icon--${icon_position}`\n )}\n >\n <IconPrimary\n size={size}\n // There has to be a better way than to do so much casting\n icon={\n icon &&\n typeof icon === 'object' &&\n 'expanded' in icon &&\n typeof icon?.expanded !== 'undefined'\n ? icon[expanded ? 'expanded' : 'closed']\n : (icon as React.ReactNode | ((...args: any[]) => any)) ||\n 'chevron-down'\n }\n aria-hidden\n />\n </span>\n )\n}\n\nexport type AccordionHeaderTitle =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderDescription =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderLeftComponent =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderElement =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderHeading =\n | boolean\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderIcon =\n | React.ReactNode\n | ((...args: any[]) => any)\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionHeaderProps = React.HTMLProps<HTMLElement> &\n SpacingProps & {\n title?: AccordionHeaderTitle\n expanded?: boolean\n description?: AccordionHeaderDescription\n left_component?: AccordionHeaderLeftComponent\n element?: AccordionHeaderElement\n heading?: AccordionHeaderHeading\n heading_level?: HeadingLevel\n icon?: AccordionIcon\n icon_position?: AccordionIconPosition\n icon_size?: IconSize\n disabled?: boolean\n skeleton?: SkeletonShow\n no_animation?: boolean\n className?: string\n children?: string | React.ReactNode | ((...args: any[]) => any)\n variant?: AccordionVariant\n }\n\nconst accordionHeaderDefaultProps = {\n icon_size: 'medium',\n}\n\nexport const AccordionHeader = ({\n icon_size: icon_size_default = 'medium',\n ...restOfProps\n}: AccordionHeaderProps) => {\n const props = { icon_size: icon_size_default, ...restOfProps }\n\n const [isHovering, setIsHovering] = useState<boolean>(false)\n const [hasClicked, setHasClicked] = useState<boolean>(false)\n\n const context = useContext(AccordionContext)\n\n function onKeyDownHandler(event: React.KeyboardEvent<HTMLElement>) {\n const keyPressed = event.key\n\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n event.preventDefault()\n onClickHandler(event)\n }\n }\n\n function onClickHandler(\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>\n ) {\n const { id, group } = context\n\n if (canClick()) {\n const expanded = !context.expanded\n context.callOnChange({ id, group, expanded, event })\n\n setHasClicked(true)\n }\n }\n\n function onMouseOverHandler() {\n setIsHovering(true)\n }\n\n function onMouseOutHandler() {\n setIsHovering(false)\n setHasClicked(false)\n }\n\n function canClick() {\n const { expanded, allow_close_all, group } = context\n return !group || (group && !expanded) || allow_close_all\n }\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionHeaderDefaultProps,\n context as Record<string, unknown>\n )\n\n const {\n id,\n\n // 1. these props should be the same as ...\n left_component,\n expanded, // eslint-disable-line\n title,\n description,\n element,\n heading,\n heading_level,\n icon,\n icon_size,\n disabled,\n skeleton,\n no_animation,\n variant,\n } = extendedProps\n\n let { icon_position } = extendedProps\n\n const {\n children,\n className,\n\n // 2. ... these\n left_component: _left_component, // eslint-disable-line\n expanded: _expanded, // eslint-disable-line\n title: _title, // eslint-disable-line\n description: _description, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_size: _icon_size, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n\n ...rest\n } = props\n\n const defaultParts = [\n <AccordionHeaderIcon\n key=\"icon\"\n icon={icon}\n size={icon_size}\n expanded={context.expanded}\n icon_position={icon_position}\n />,\n <AccordionHeaderContainer key=\"container\">\n {left_component as React.ReactNode}\n </AccordionHeaderContainer>,\n <AccordionHeaderTitle key=\"title\">\n {title ||\n (Array.isArray(children)\n ? children.filter((cur) => !React.isValidElement(cur))\n : children)}\n </AccordionHeaderTitle>,\n <AccordionHeaderDescription key=\"description\">\n {description as React.ReactNode}\n </AccordionHeaderDescription>,\n ]\n\n if (Array.isArray(children)) {\n const removeParts = []\n children.forEach((cur) => {\n if (React.isValidElement(cur)) {\n const part = defaultParts.find((c) => c.type === cur.type)\n if (part) {\n removeParts.push(part)\n }\n\n // if (cur.type === AccordionHeaderTitle) {\n // defaultParts.unshift(cur)\n // } else {\n // defaultParts.push(cur)\n // }\n\n defaultParts.push(cur)\n }\n })\n removeParts.forEach((part) => {\n const index = defaultParts.findIndex((c) => c === part)\n if (index > -1) {\n defaultParts.splice(index, 1)\n }\n })\n }\n\n const partsToRender = []\n const wrapperParts = []\n const wrapperComp = (\n <span className=\"dnb-accordion__header__wrapper\" key=\"wrapper\">\n {wrapperParts}\n </span>\n )\n\n defaultParts.forEach((part) => {\n if (\n React.isValidElement(part) &&\n (part.type === AccordionHeaderTitle ||\n part.type === AccordionHeaderDescription)\n ) {\n wrapperParts.push(part)\n if (partsToRender.findIndex((c) => c === wrapperComp) === -1) {\n partsToRender.push(wrapperComp)\n }\n } else {\n partsToRender.push(part)\n }\n })\n\n // position the icon to the right, if the element is not in the beginning\n if (icon_position === undefined) {\n const iconIndex = partsToRender.findIndex(\n (c) => c.type === AccordionHeaderIcon\n )\n // because of the container at the beginning, we use 1\n if (iconIndex > 1) {\n icon_position = 'right'\n }\n\n if (left_component) {\n icon_position = 'right'\n }\n }\n\n const headerParams = {\n id: `${id}-header`,\n 'aria-controls': `${id}-content`,\n 'aria-expanded': context.expanded,\n role: 'button',\n tabIndex: 0,\n className: classnames(\n 'dnb-accordion__header',\n variant && `dnb-accordion__header--${variant}`,\n context.expanded && 'dnb-accordion__header--expanded',\n icon_position && `dnb-accordion__header--icon-${icon_position}`,\n isHovering &&\n hasClicked &&\n context.expanded &&\n 'dnb-accordion__header--after-click',\n !canClick() && 'dnb-accordion__header--prevent-click',\n description && 'dnb-accordion__header--description',\n no_animation && 'dnb-accordion__header--no-animation',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(rest),\n className\n ),\n disabled,\n ...rest,\n } satisfies HTMLProps<HTMLElement>\n\n if (disabled || skeleton) {\n headerParams.tabIndex = -1\n headerParams.disabled = true\n headerParams['aria-disabled'] = true\n } else {\n headerParams.onClick = onClickHandler\n headerParams.onKeyDown = onKeyDownHandler\n headerParams.onMouseOver = onMouseOverHandler\n headerParams.onMouseOut = onMouseOutHandler\n }\n\n skeletonDOMAttributes(headerParams, skeleton, context)\n\n validateDOMAttributes(props, headerParams)\n\n let Element = 'div'\n\n // (String(heading) === 'true' || String(heading) === '1') extracted from isTrue function\n if (heading && (String(heading) === 'true' || String(heading) === '1')) {\n headerParams.role = 'heading'\n headerParams['aria-level'] = heading_level ? Number(heading_level) : 2\n } else if (heading) {\n headerParams.role = null\n Element = heading as string\n } else if (element) {\n headerParams.role = null\n Element = element as string\n }\n\n return <Element {...headerParams}>{partsToRender}</Element>\n}\n\nAccordionHeader.Container = AccordionHeaderContainer\nAccordionHeader.Icon = AccordionHeaderIcon\nAccordionHeader.Title = AccordionHeaderTitle\nAccordionHeader.Description = AccordionHeaderDescription\n\nAccordionHeader._supportsSpacingProps = true\n\nexport default AccordionHeader\n"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionHeader.js","names":["React","useContext","useState","validateDOMAttributes","extendPropsWithContext","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","_ref4","icon","iconProp","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHovering","setIsHovering","hasClicked","setHasClicked","context","onKeyDownHandler","event","keyPressed","key","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","_excluded5","defaultParts","Array","isArray","filter","cur","isValidElement","removeParts","forEach","part","find","c","type","push","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","undefined","iconIndex","headerParams","role","tabIndex","onClick","onKeyDown","onMouseOver","onMouseOut","Element","String","Number","Container","Icon","Title","Description","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionHeader.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps, useContext, useState } from 'react'\nimport type { SpacingProps } from '../space/types'\n\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport classnames from 'classnames'\nimport AccordionContext from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type { HeadingLevel } from '../Heading'\nimport type { IconIcon, IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type {\n AccordionIcon,\n AccordionIconPosition,\n AccordionVariant,\n} from './Accordion'\n\nexport type AccordionHeaderTitleProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderTitle({\n children = null,\n ...rest\n}: AccordionHeaderTitleProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__title',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n )\n}\n\nexport type AccordionHeaderDescriptionProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderDescription({\n children = null,\n ...rest\n}: AccordionHeaderDescriptionProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__description',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\nexport type AccordionHeaderContainerProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderContainer({\n children = null,\n ...rest\n}: AccordionHeaderContainerProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__container',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\ntype AccordionHeaderIconIcon =\n | IconIcon\n | {\n closed?: IconIcon\n expanded?: IconIcon\n }\n\nexport type AccordionHeaderIconProps = {\n icon?: AccordionHeaderIconIcon\n size?: IconSize\n expanded?: boolean\n icon_position?: AccordionIconPosition\n}\n\nfunction AccordionHeaderIcon({\n icon: iconProp,\n expanded,\n size = 'medium',\n icon_position,\n}: AccordionHeaderIconProps) {\n const icon = (\n iconProp &&\n typeof iconProp === 'object' &&\n 'expanded' in iconProp &&\n typeof iconProp?.expanded !== 'undefined'\n ? iconProp[expanded ? 'expanded' : 'closed']\n : iconProp || 'chevron-down'\n ) as IconIcon\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n icon_position && `dnb-accordion__header__icon--${icon_position}`\n )}\n >\n <IconPrimary size={size} icon={icon} aria-hidden />\n </span>\n )\n}\n\nexport type AccordionHeaderTitle =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderDescription =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderLeftComponent =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderElement =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderHeading =\n | boolean\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderIcon =\n | React.ReactNode\n | ((...args: any[]) => any)\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionHeaderProps = React.HTMLProps<HTMLElement> &\n SpacingProps & {\n title?: AccordionHeaderTitle\n expanded?: boolean\n description?: AccordionHeaderDescription\n left_component?: AccordionHeaderLeftComponent\n element?: AccordionHeaderElement\n heading?: AccordionHeaderHeading\n heading_level?: HeadingLevel\n icon?: AccordionIcon\n icon_position?: AccordionIconPosition\n icon_size?: IconSize\n disabled?: boolean\n skeleton?: SkeletonShow\n no_animation?: boolean\n className?: string\n children?: string | React.ReactNode | ((...args: any[]) => any)\n variant?: AccordionVariant\n }\n\nconst accordionHeaderDefaultProps = {\n icon_size: 'medium',\n}\n\nexport const AccordionHeader = ({\n icon_size: icon_size_default = 'medium',\n ...restOfProps\n}: AccordionHeaderProps) => {\n const props = { icon_size: icon_size_default, ...restOfProps }\n\n const [isHovering, setIsHovering] = useState<boolean>(false)\n const [hasClicked, setHasClicked] = useState<boolean>(false)\n\n const context = useContext(AccordionContext)\n\n function onKeyDownHandler(event: React.KeyboardEvent<HTMLElement>) {\n const keyPressed = event.key\n\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n event.preventDefault()\n onClickHandler(event)\n }\n }\n\n function onClickHandler(\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>\n ) {\n const { id, group } = context\n\n if (canClick()) {\n const expanded = !context.expanded\n context.callOnChange({ id, group, expanded, event })\n\n setHasClicked(true)\n }\n }\n\n function onMouseOverHandler() {\n setIsHovering(true)\n }\n\n function onMouseOutHandler() {\n setIsHovering(false)\n setHasClicked(false)\n }\n\n function canClick() {\n const { expanded, allow_close_all, group } = context\n return !group || (group && !expanded) || allow_close_all\n }\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionHeaderDefaultProps,\n context as Record<string, unknown>\n )\n\n const {\n id,\n\n // 1. these props should be the same as ...\n left_component,\n expanded, // eslint-disable-line\n title,\n description,\n element,\n heading,\n heading_level,\n icon,\n icon_size,\n disabled,\n skeleton,\n no_animation,\n variant,\n } = extendedProps\n\n let { icon_position } = extendedProps\n\n const {\n children,\n className,\n\n // 2. ... these\n left_component: _left_component, // eslint-disable-line\n expanded: _expanded, // eslint-disable-line\n title: _title, // eslint-disable-line\n description: _description, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_size: _icon_size, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n\n ...rest\n } = props\n\n const defaultParts = [\n <AccordionHeaderIcon\n key=\"icon\"\n icon={icon}\n size={icon_size}\n expanded={context.expanded}\n icon_position={icon_position}\n />,\n <AccordionHeaderContainer key=\"container\">\n {left_component as React.ReactNode}\n </AccordionHeaderContainer>,\n <AccordionHeaderTitle key=\"title\">\n {title ||\n (Array.isArray(children)\n ? children.filter((cur) => !React.isValidElement(cur))\n : children)}\n </AccordionHeaderTitle>,\n <AccordionHeaderDescription key=\"description\">\n {description as React.ReactNode}\n </AccordionHeaderDescription>,\n ]\n\n if (Array.isArray(children)) {\n const removeParts = []\n children.forEach((cur) => {\n if (React.isValidElement(cur)) {\n const part = defaultParts.find((c) => c.type === cur.type)\n if (part) {\n removeParts.push(part)\n }\n\n // if (cur.type === AccordionHeaderTitle) {\n // defaultParts.unshift(cur)\n // } else {\n // defaultParts.push(cur)\n // }\n\n defaultParts.push(cur)\n }\n })\n removeParts.forEach((part) => {\n const index = defaultParts.findIndex((c) => c === part)\n if (index > -1) {\n defaultParts.splice(index, 1)\n }\n })\n }\n\n const partsToRender = []\n const wrapperParts = []\n const wrapperComp = (\n <span className=\"dnb-accordion__header__wrapper\" key=\"wrapper\">\n {wrapperParts}\n </span>\n )\n\n defaultParts.forEach((part) => {\n if (\n React.isValidElement(part) &&\n (part.type === AccordionHeaderTitle ||\n part.type === AccordionHeaderDescription)\n ) {\n wrapperParts.push(part)\n if (partsToRender.findIndex((c) => c === wrapperComp) === -1) {\n partsToRender.push(wrapperComp)\n }\n } else {\n partsToRender.push(part)\n }\n })\n\n // position the icon to the right, if the element is not in the beginning\n if (icon_position === undefined) {\n const iconIndex = partsToRender.findIndex(\n (c) => c.type === AccordionHeaderIcon\n )\n // because of the container at the beginning, we use 1\n if (iconIndex > 1) {\n icon_position = 'right'\n }\n\n if (left_component) {\n icon_position = 'right'\n }\n }\n\n const headerParams = {\n id: `${id}-header`,\n 'aria-controls': `${id}-content`,\n 'aria-expanded': context.expanded,\n role: 'button',\n tabIndex: 0,\n className: classnames(\n 'dnb-accordion__header',\n variant && `dnb-accordion__header--${variant}`,\n context.expanded && 'dnb-accordion__header--expanded',\n icon_position && `dnb-accordion__header--icon-${icon_position}`,\n isHovering &&\n hasClicked &&\n context.expanded &&\n 'dnb-accordion__header--after-click',\n !canClick() && 'dnb-accordion__header--prevent-click',\n description && 'dnb-accordion__header--description',\n no_animation && 'dnb-accordion__header--no-animation',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(rest),\n className\n ),\n disabled,\n ...rest,\n } satisfies HTMLProps<HTMLElement>\n\n if (disabled || skeleton) {\n headerParams.tabIndex = -1\n headerParams.disabled = true\n headerParams['aria-disabled'] = true\n } else {\n headerParams.onClick = onClickHandler\n headerParams.onKeyDown = onKeyDownHandler\n headerParams.onMouseOver = onMouseOverHandler\n headerParams.onMouseOut = onMouseOutHandler\n }\n\n skeletonDOMAttributes(headerParams, skeleton, context)\n\n validateDOMAttributes(props, headerParams)\n\n let Element = 'div'\n\n // (String(heading) === 'true' || String(heading) === '1') extracted from isTrue function\n if (heading && (String(heading) === 'true' || String(heading) === '1')) {\n headerParams.role = 'heading'\n headerParams['aria-level'] = heading_level ? Number(heading_level) : 2\n } else if (heading) {\n headerParams.role = null\n Element = heading as string\n } else if (element) {\n headerParams.role = null\n Element = element as string\n }\n\n return <Element {...headerParams}>{partsToRender}</Element>\n}\n\nAccordionHeader.Container = AccordionHeaderContainer\nAccordionHeader.Icon = AccordionHeaderIcon\nAccordionHeader.Title = AccordionHeaderTitle\nAccordionHeader.Description = AccordionHeaderDescription\n\nAccordionHeader._supportsSpacingProps = true\n\nexport default AccordionHeader\n"],"mappings":"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"}
@@ -12,6 +12,8 @@ type AccordionGroupContextProps = {
12
12
  expanded_id?: string;
13
13
  onChange?: (...params: unknown[]) => void;
14
14
  onInit?: (...args: any[]) => any;
15
+ collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>;
16
+ collapseAllHandleRef?: React.MutableRefObject<() => void>;
15
17
  };
16
18
  declare const AccordionGroupContext: React.Context<AccordionGroupContextProps>;
17
19
  export default AccordionGroupContext;
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionProviderContext.js","names":["React","AccordionGroupContext","createContext"],"sources":["../../../../src/components/accordion/AccordionProviderContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\n\ntype AccordionGroupContextProps = {\n expanded?: boolean\n group?: string\n expanded_ssr?: boolean\n remember_state?: boolean\n flush_remembered_state?: boolean\n expanded_id?: string\n onChange?: (...params: unknown[]) => void\n onInit?: (...args: any[]) => any\n}\n\nconst AccordionGroupContext =\n React.createContext<AccordionGroupContextProps>({})\n\nexport default AccordionGroupContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAazB,MAAMC,qBAAqB,GACzBD,KAAK,CAACE,aAAa,CAA6B,CAAC,CAAC,CAAC;AAErD,eAAeD,qBAAqB"}
1
+ {"version":3,"file":"AccordionProviderContext.js","names":["React","AccordionGroupContext","createContext"],"sources":["../../../../src/components/accordion/AccordionProviderContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\n\ntype AccordionGroupContextProps = {\n expanded?: boolean\n group?: string\n expanded_ssr?: boolean\n remember_state?: boolean\n flush_remembered_state?: boolean\n expanded_id?: string\n onChange?: (...params: unknown[]) => void\n onInit?: (...args: any[]) => any\n collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n}\n\nconst AccordionGroupContext =\n React.createContext<AccordionGroupContextProps>({})\n\nexport default AccordionGroupContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAezB,MAAMC,qBAAqB,GACzBD,KAAK,CAACE,aAAa,CAA6B,CAAC,CAAC,CAAC;AAErD,eAAeD,qBAAqB"}
@@ -27,6 +27,26 @@ export type AnchorProps = {
27
27
  innerRef?: React.RefObject<HTMLAnchorElement>;
28
28
  /** @deprecated use innerRef instead */
29
29
  inner_ref?: React.RefObject<HTMLAnchorElement>;
30
+ /**
31
+ * Removes default animation.
32
+ * Default: `false`
33
+ */
34
+ noAnimation?: boolean;
35
+ /**
36
+ * Removes default styling.
37
+ * Default: `false`
38
+ */
39
+ noStyle?: boolean;
40
+ /**
41
+ * Removes default hover style.
42
+ * Default: `false`
43
+ */
44
+ noHover?: boolean;
45
+ /**
46
+ * Removes underline.
47
+ * Default: `false`
48
+ */
49
+ noUnderline?: boolean;
30
50
  };
31
51
  export type AnchorAllProps = AnchorProps & Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> & SpacingProps;
32
52
  export declare function AnchorInstance(localProps: AnchorAllProps): import("react/jsx-runtime").JSX.Element;
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  var _IconPrimary;
6
- const _excluded = ["id", "element", "className", "children", "tooltip", "icon", "iconPosition", "omitClass", "innerRef", "targetBlankTitle"];
6
+ const _excluded = ["id", "element", "className", "children", "tooltip", "icon", "iconPosition", "omitClass", "innerRef", "targetBlankTitle", "noAnimation", "noHover", "noStyle", "noUnderline"];
7
7
  import React from 'react';
8
8
  import classnames from 'classnames';
9
9
  import E from '../../elements/Element';
@@ -13,7 +13,12 @@ import { getOffsetTop } from '../../shared/helpers';
13
13
  import IconPrimary from '../icon-primary/IconPrimary';
14
14
  import Tooltip from '../tooltip/Tooltip';
15
15
  import { launch as launchIcon } from '../../icons';
16
- const defaultProps = {};
16
+ const defaultProps = {
17
+ noAnimation: false,
18
+ noStyle: false,
19
+ noHover: false,
20
+ noUnderline: false
21
+ };
17
22
  export function AnchorInstance(localProps) {
18
23
  const context = React.useContext(Context);
19
24
  const allProps = extendPropsWithContext(localProps, defaultProps, {
@@ -36,7 +41,11 @@ export function AnchorInstance(localProps) {
36
41
  iconPosition = 'left',
37
42
  omitClass,
38
43
  innerRef,
39
- targetBlankTitle
44
+ targetBlankTitle,
45
+ noAnimation,
46
+ noHover,
47
+ noStyle,
48
+ noUnderline
40
49
  } = allProps,
41
50
  rest = _objectWithoutProperties(allProps, _excluded);
42
51
  const attributes = rest;
@@ -55,7 +64,7 @@ export function AnchorInstance(localProps) {
55
64
  return React.createElement(React.Fragment, null, React.createElement(E, _extends({
56
65
  as: as,
57
66
  id: id,
58
- className: classnames(className, omitClass !== true && classnames('dnb-anchor', prefix && 'dnb-anchor--icon-left', suffix && 'dnb-anchor--icon-right', typeof children !== 'string' && 'dnb-anchor--was-node'))
67
+ className: classnames(className, omitClass !== true && classnames('dnb-anchor', prefix && 'dnb-anchor--icon-left', suffix && 'dnb-anchor--icon-right', typeof children !== 'string' && 'dnb-anchor--was-node', noAnimation && 'dnb-anchor--no-animation', noHover && 'dnb-anchor--no-hover', noStyle && 'dnb-anchor--no-style', noUnderline && 'dnb-anchor--no-underline'))
59
68
  }, attributes, {
60
69
  innerRef: innerRef
61
70
  }), prefix, children, suffix), showTooltip && React.createElement(Tooltip, {
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","href","to","_opensNewTab","opensNewTab","target","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","_IconPrimary","createElement","prefix","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","isSamePath","startsWith","window","location","pathname","replace","scrollToHash","hash","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key","test"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\n// Local type for react-router-dom link with only the necessary props. Done this way to prevent react-router-dom dependency.\ntype ReactRouterLink = Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href'\n> & {\n to: string | { pathname?: string; search?: string; has?: string }\n}\n\nexport type AnchorProps = {\n element?:\n | DynamicElement<HTMLAnchorElement | AnchorAllProps>\n | React.ForwardRefExoticComponent<\n ReactRouterLink & React.RefAttributes<HTMLAnchorElement>\n >\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = element || 'a'\n\n const href = allProps.href || allProps.to\n const _opensNewTab = opensNewTab(allProps.target, href)\n const showLaunchIcon =\n _opensNewTab &&\n !className?.includes('dnb-anchor--no-icon') &&\n !omitClass\n const showTooltip = (tooltip || _opensNewTab) && !allProps.title\n\n const iconNode = icon && getIcon(icon)\n\n const suffix =\n (iconPosition === 'right' && iconNode) ||\n (showLaunchIcon && (\n <IconPrimary className=\"dnb-anchor__launch-icon\" icon={launchIcon} />\n ))\n\n const prefix = iconPosition === 'left' && iconNode\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true &&\n classnames(\n 'dnb-anchor',\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node'\n ),\n className\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n return scrollToHash(href)\n }\n}\n\nexport function scrollToHash(hash: string) {\n if (typeof document === 'undefined' || !hash || !hash.includes('#')) {\n return // stop here\n }\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n const id = hash.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement).scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n}\n\nfunction getIcon(icon) {\n return pickIcon(icon) || <IconPrimary icon={icon} />\n}\n\nexport function pickIcon(icon, className?: string) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, className),\n })\n : null\n}\n\nexport const opensNewTab = (target: string, href: string): boolean =>\n target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","noAnimation","noStyle","noHover","noUnderline","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","href","to","_opensNewTab","opensNewTab","target","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","_IconPrimary","createElement","prefix","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","isSamePath","startsWith","window","location","pathname","replace","scrollToHash","hash","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key","test"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\n// Local type for react-router-dom link with only the necessary props. Done this way to prevent react-router-dom dependency.\ntype ReactRouterLink = Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href'\n> & {\n to: string | { pathname?: string; search?: string; has?: string }\n}\n\nexport type AnchorProps = {\n element?:\n | DynamicElement<HTMLAnchorElement | AnchorAllProps>\n | React.ForwardRefExoticComponent<\n ReactRouterLink & React.RefAttributes<HTMLAnchorElement>\n >\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n /**\n * Removes default animation.\n * Default: `false`\n */\n noAnimation?: boolean\n /**\n * Removes default styling.\n * Default: `false`\n */\n noStyle?: boolean\n /**\n * Removes default hover style.\n * Default: `false`\n */\n noHover?: boolean\n /**\n * Removes underline.\n * Default: `false`\n */\n noUnderline?: boolean\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {\n noAnimation: false,\n noStyle: false,\n noHover: false,\n noUnderline: false,\n}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n noAnimation,\n noHover,\n noStyle,\n noUnderline,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = element || 'a'\n\n const href = allProps.href || allProps.to\n const _opensNewTab = opensNewTab(allProps.target, href)\n const showLaunchIcon =\n _opensNewTab &&\n !className?.includes('dnb-anchor--no-icon') &&\n !omitClass\n const showTooltip = (tooltip || _opensNewTab) && !allProps.title\n\n const iconNode = icon && getIcon(icon)\n\n const suffix =\n (iconPosition === 'right' && iconNode) ||\n (showLaunchIcon && (\n <IconPrimary className=\"dnb-anchor__launch-icon\" icon={launchIcon} />\n ))\n\n const prefix = iconPosition === 'left' && iconNode\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true &&\n classnames(\n 'dnb-anchor',\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node',\n noAnimation && 'dnb-anchor--no-animation',\n noHover && 'dnb-anchor--no-hover',\n noStyle && 'dnb-anchor--no-style',\n noUnderline && 'dnb-anchor--no-underline'\n ),\n className\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n return scrollToHash(href)\n }\n}\n\nexport function scrollToHash(hash: string) {\n if (typeof document === 'undefined' || !hash || !hash.includes('#')) {\n return // stop here\n }\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n const id = hash.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement).scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n}\n\nfunction getIcon(icon) {\n return pickIcon(icon) || <IconPrimary icon={icon} />\n}\n\nexport function pickIcon(icon, className?: string) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, className),\n })\n : null\n}\n\nexport const opensNewTab = (target: string, href: string): boolean =>\n target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PropertiesTableProps } from '../../shared/types';
2
+ export declare const AnchorProperties: PropertiesTableProps;
3
+ export declare const AnchorEvents: PropertiesTableProps;
@@ -0,0 +1,74 @@
1
+ export const AnchorProperties = {
2
+ element: {
3
+ doc: 'Define what HTML or React element should be used (e.g. `element={Link}`). Defaults to semantic `a` element.',
4
+ type: 'React.Element',
5
+ status: 'optional'
6
+ },
7
+ href: {
8
+ doc: 'Relative or absolute url.',
9
+ type: 'string',
10
+ status: 'optional'
11
+ },
12
+ to: {
13
+ doc: 'Use this prop only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',
14
+ type: 'string',
15
+ status: 'optional'
16
+ },
17
+ target: {
18
+ doc: 'Defines the opening method. Use `_blank` to open a new browser window/tab.',
19
+ type: 'string',
20
+ status: 'optional'
21
+ },
22
+ targetBlankTitle: {
23
+ doc: 'The title shown as a tooltip when target is set to `_blank`.',
24
+ type: 'string',
25
+ status: 'optional'
26
+ },
27
+ tooltip: {
28
+ doc: 'Provide a string or a React Element to be shown as the tooltip content.',
29
+ type: 'string',
30
+ status: 'optional'
31
+ },
32
+ icon: {
33
+ doc: '[Primary Icons](/icons/primary) can be set as a string (e.g. icon="chevron_right"), other icons should be set as React elements.',
34
+ type: 'React.Node',
35
+ status: 'optional'
36
+ },
37
+ iconPosition: {
38
+ doc: '`left` (default) or `right`. Places icon to the left or to the right of the text.',
39
+ type: 'string',
40
+ status: 'optional'
41
+ },
42
+ noAnimation: {
43
+ doc: 'Removes animations if set to `true`. Defaults to `false`.',
44
+ type: 'boolean',
45
+ status: 'optional'
46
+ },
47
+ noHover: {
48
+ doc: 'Removes hover effects if set to `true`. Defaults to `false`.',
49
+ type: 'boolean',
50
+ status: 'optional'
51
+ },
52
+ noStyle: {
53
+ doc: 'Removes styling if set to `true`. Defaults to `false`.',
54
+ type: 'boolean',
55
+ status: 'optional'
56
+ },
57
+ noUnderline: {
58
+ doc: 'Removes underline if set to `true`. Defaults to `false`.',
59
+ type: 'boolean',
60
+ status: 'optional'
61
+ },
62
+ skeleton: {
63
+ doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',
64
+ type: 'boolean',
65
+ status: 'optional'
66
+ },
67
+ '[Space](/uilib/layout/space/properties)': {
68
+ doc: 'Spacing properties like `top` or `bottom` are supported.',
69
+ type: ['string', 'object'],
70
+ status: 'optional'
71
+ }
72
+ };
73
+ export const AnchorEvents = {};
74
+ //# sourceMappingURL=AnchorDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnchorDocs.js","names":["AnchorProperties","element","doc","type","status","href","to","target","targetBlankTitle","tooltip","icon","iconPosition","noAnimation","noHover","noStyle","noUnderline","skeleton","AnchorEvents"],"sources":["../../../../src/components/anchor/AnchorDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const AnchorProperties: PropertiesTableProps = {\n element: {\n doc: 'Define what HTML or React element should be used (e.g. `element={Link}`). Defaults to semantic `a` element.',\n type: 'React.Element',\n status: 'optional',\n },\n href: {\n doc: 'Relative or absolute url.',\n type: 'string',\n status: 'optional',\n },\n to: {\n doc: 'Use this prop only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',\n type: 'string',\n status: 'optional',\n },\n target: {\n doc: 'Defines the opening method. Use `_blank` to open a new browser window/tab.',\n type: 'string',\n status: 'optional',\n },\n targetBlankTitle: {\n doc: 'The title shown as a tooltip when target is set to `_blank`.',\n type: 'string',\n status: 'optional',\n },\n tooltip: {\n doc: 'Provide a string or a React Element to be shown as the tooltip content.',\n type: 'string',\n status: 'optional',\n },\n icon: {\n doc: '[Primary Icons](/icons/primary) can be set as a string (e.g. icon=\"chevron_right\"), other icons should be set as React elements.',\n type: 'React.Node',\n status: 'optional',\n },\n iconPosition: {\n doc: '`left` (default) or `right`. Places icon to the left or to the right of the text.',\n type: 'string',\n status: 'optional',\n },\n noAnimation: {\n doc: 'Removes animations if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n noHover: {\n doc: 'Removes hover effects if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n noStyle: {\n doc: 'Removes styling if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n noUnderline: {\n doc: 'Removes underline if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const AnchorEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,2BAA2B;IAChCC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,EAAE,EAAE;IACFJ,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,4EAA4E;IACjFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,gBAAgB,EAAE;IAChBN,GAAG,EAAE,8DAA8D;IACnEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,OAAO,EAAE;IACPP,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,IAAI,EAAE;IACJR,GAAG,EAAE,kIAAkI;IACvIC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDO,YAAY,EAAE;IACZT,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,WAAW,EAAE;IACXV,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,8DAA8D;IACnEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,WAAW,EAAE;IACXb,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,QAAQ,EAAE;IACRd,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMa,YAAkC,GAAG,CAAC,CAAC"}
@@ -25,7 +25,7 @@ import ProgressIndicator from '../progress-indicator/ProgressIndicator';
25
25
  import DrawerList, { ItemContent } from '../../fragments/drawer-list/DrawerList';
26
26
  import DrawerListContext from '../../fragments/drawer-list/DrawerListContext';
27
27
  import DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider';
28
- import { drawerListPropTypes, parseContentTitle, getCurrentData, getCurrentIndex } from '../../fragments/drawer-list/DrawerListHelpers';
28
+ import { drawerListPropTypes, parseContentTitle, getCurrentData, getCurrentIndex, normalizeData } from '../../fragments/drawer-list/DrawerListHelpers';
29
29
  export default class Autocomplete extends React.PureComponent {
30
30
  constructor(props) {
31
31
  super(props);
@@ -239,11 +239,25 @@ class AutocompleteInstance extends React.PureComponent {
239
239
  }
240
240
  static getDerivedStateFromProps(props, state) {
241
241
  if (state._listenForPropChanges) {
242
- var _props$input_value;
242
+ var _props$input_value, _props$data, _state$prevData;
243
243
  state.disableHighlighting = isTrue(props.disable_highlighting);
244
- if (props.input_value !== 'initval' && typeof state.inputValue === 'undefined' && ((_props$input_value = props.input_value) === null || _props$input_value === void 0 ? void 0 : _props$input_value.length) > 0) {
244
+ if (props.input_value !== 'initval' && ((_props$input_value = props.input_value) === null || _props$input_value === void 0 ? void 0 : _props$input_value.length) > 0) {
245
245
  state.inputValue = props.input_value;
246
246
  }
247
+ if ((props === null || props === void 0 ? void 0 : (_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) > 0 && (state === null || state === void 0 ? void 0 : (_state$prevData = state.prevData) === null || _state$prevData === void 0 ? void 0 : _state$prevData.length) === 0) {
248
+ let selectedItem = state.selected_item;
249
+ if (props.default_value) {
250
+ selectedItem = props.default_value;
251
+ }
252
+ if (!props.default_value && props.value && props.value !== 'initval') {
253
+ selectedItem = props.value;
254
+ }
255
+ const currentData = getCurrentData(selectedItem, normalizeData(props.data));
256
+ state.inputValue = parseContentTitle(currentData, {
257
+ separator: ' ',
258
+ preferSelectedValue: true
259
+ });
260
+ }
247
261
  if (props.data !== state.prevData) {
248
262
  state.updateData(props.data);
249
263
  state.prevData = props.data;
@@ -1241,7 +1255,7 @@ class AutocompleteInstance extends React.PureComponent {
1241
1255
  const currentDataItem = getCurrentData(active_item, this.context.drawerList.data);
1242
1256
  return React.createElement(AriaLive, {
1243
1257
  hidden: !IS_MAC,
1244
- priority: "hight",
1258
+ priority: "high",
1245
1259
  delay: 0
1246
1260
  }, currentDataItem && React.createElement(React.Fragment, null, active_item === selected_item ? React.createElement(React.Fragment, null, selected_sr, " ") : null, React.createElement(ItemContent, null, currentDataItem)));
1247
1261
  }
@@ -1493,7 +1507,7 @@ class AutocompleteInstance extends React.PureComponent {
1493
1507
  id: id + '-suffix',
1494
1508
  context: props
1495
1509
  }, suffix))), this.getVoiceOverActiveItem(selected_sr), React.createElement(AriaLive, {
1496
- priority: "hight"
1510
+ priority: "high"
1497
1511
  }, this.getAriaLiveUpdate()));
1498
1512
  }
1499
1513
  }