@dnb/eufemia 10.34.1 → 10.36.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 (1043) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
  3. package/assets/images/sbanken/sbanken-compact.svg +3 -0
  4. package/assets/images/sbanken/sbanken.svg +3 -0
  5. package/cjs/components/accordion/Accordion.d.ts +3 -3
  6. package/cjs/components/accordion/Accordion.js.map +1 -1
  7. package/cjs/components/accordion/AccordionHeader.d.ts +5 -5
  8. package/cjs/components/accordion/AccordionHeader.js +3 -2
  9. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  10. package/cjs/components/anchor/Anchor.d.ts +20 -0
  11. package/cjs/components/anchor/Anchor.js +13 -4
  12. package/cjs/components/anchor/Anchor.js.map +1 -1
  13. package/cjs/components/anchor/AnchorDocs.d.ts +3 -0
  14. package/cjs/components/anchor/AnchorDocs.js +82 -0
  15. package/cjs/components/anchor/AnchorDocs.js.map +1 -0
  16. package/cjs/components/autocomplete/Autocomplete.js +16 -2
  17. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  18. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  19. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  20. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  21. package/cjs/components/button/Button.js.map +1 -1
  22. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  23. package/cjs/components/form-row/FormRow.js.map +1 -1
  24. package/cjs/components/form-set/FormSet.js.map +1 -1
  25. package/cjs/components/form-status/FormStatus.js.map +1 -1
  26. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  27. package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
  28. package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
  29. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  30. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  31. package/cjs/components/height-animation/useHeightAnimation.d.ts +5 -1
  32. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  33. package/cjs/components/help-button/HelpButton.js +3 -0
  34. package/cjs/components/help-button/HelpButton.js.map +1 -1
  35. package/cjs/components/help-button/style/dnb-help-button.css +4 -1
  36. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
  37. package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
  38. package/cjs/components/icon/Icon.d.ts +493 -61
  39. package/cjs/components/icon/Icon.js +97 -134
  40. package/cjs/components/icon/Icon.js.map +1 -1
  41. package/cjs/components/icon/IconHelpers.d.ts +2 -1
  42. package/cjs/components/icon/IconHelpers.js +1 -1
  43. package/cjs/components/icon/IconHelpers.js.map +1 -1
  44. package/cjs/components/icon/IconPrimary.d.ts +2 -2
  45. package/cjs/components/icon/IconPrimary.js.map +1 -1
  46. package/cjs/components/icon-primary/IconPrimary.d.ts +8 -11
  47. package/cjs/components/icon-primary/IconPrimary.js +37 -38
  48. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  49. package/cjs/components/input/Input.js.map +1 -1
  50. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  51. package/cjs/components/logo/Logo.d.ts +47 -43
  52. package/cjs/components/logo/Logo.js +77 -221
  53. package/cjs/components/logo/Logo.js.map +1 -1
  54. package/cjs/components/logo/LogoDocs.d.ts +2 -0
  55. package/cjs/components/logo/LogoDocs.js +50 -0
  56. package/cjs/components/logo/LogoDocs.js.map +1 -0
  57. package/cjs/components/logo/LogoSvg.d.ts +7 -0
  58. package/cjs/components/logo/LogoSvg.js +81 -0
  59. package/cjs/components/logo/LogoSvg.js.map +1 -0
  60. package/cjs/components/modal/Modal.d.ts +2 -0
  61. package/cjs/components/modal/Modal.js +25 -10
  62. package/cjs/components/modal/Modal.js.map +1 -1
  63. package/cjs/components/number-format/NumberFormat.d.ts +4 -0
  64. package/cjs/components/number-format/NumberFormat.js +5 -2
  65. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  66. package/cjs/components/number-format/style/dnb-number-format.css +3 -0
  67. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  68. package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
  69. package/cjs/components/pagination/Pagination.js.map +1 -1
  70. package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
  71. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  72. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  73. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  74. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  75. package/cjs/components/progress-indicator/types.d.ts +1 -1
  76. package/cjs/components/progress-indicator/types.js.map +1 -1
  77. package/cjs/components/radio/Radio.js.map +1 -1
  78. package/cjs/components/radio/RadioGroup.js.map +1 -1
  79. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  80. package/cjs/components/step-indicator/StepIndicatorContext.js +66 -59
  81. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  82. package/cjs/components/step-indicator/StepIndicatorItem.js +15 -23
  83. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  84. package/cjs/components/step-indicator/StepIndicatorModal.js +5 -5
  85. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  86. package/cjs/components/step-indicator/StepIndicatorSidebar.js +9 -7
  87. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  88. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  89. package/cjs/components/switch/Switch.js.map +1 -1
  90. package/cjs/components/table/Table.d.ts +7 -1
  91. package/cjs/components/table/Table.js +15 -3
  92. package/cjs/components/table/Table.js.map +1 -1
  93. package/cjs/components/table/TableContext.d.ts +12 -2
  94. package/cjs/components/table/TableContext.js +1 -3
  95. package/cjs/components/table/TableContext.js.map +1 -1
  96. package/cjs/components/table/TableDocs.d.ts +7 -0
  97. package/cjs/components/table/TableDocs.js +202 -0
  98. package/cjs/components/table/TableDocs.js.map +1 -0
  99. package/cjs/components/table/TableTd.d.ts +3 -3
  100. package/cjs/components/table/TableTd.js +2 -2
  101. package/cjs/components/table/TableTd.js.map +1 -1
  102. package/cjs/components/table/TableTr.d.ts +9 -5
  103. package/cjs/components/table/TableTr.js +27 -28
  104. package/cjs/components/table/TableTr.js.map +1 -1
  105. package/cjs/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  106. package/cjs/components/table/{TableAccordionTd.js → table-accordion/TableAccordionContent.js} +52 -17
  107. package/cjs/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  108. package/cjs/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  109. package/cjs/components/table/table-accordion/TableAccordionContext.js +11 -0
  110. package/cjs/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  111. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  112. package/cjs/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +47 -37
  113. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  114. package/{es/components/table → cjs/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  115. package/cjs/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +4 -4
  116. package/cjs/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  117. package/cjs/components/tabs/Tabs.d.ts +0 -3
  118. package/cjs/components/tabs/Tabs.js +1 -5
  119. package/cjs/components/tabs/Tabs.js.map +1 -1
  120. package/cjs/components/tabs/TabsDocs.d.ts +1 -0
  121. package/cjs/components/tabs/TabsDocs.js +32 -4
  122. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  123. package/cjs/components/textarea/Textarea.js.map +1 -1
  124. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  125. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -2
  126. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  127. package/cjs/components/toggle-button/style/dnb-toggle-button.css +15 -6
  128. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  129. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  130. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
  131. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  132. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  133. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  134. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  135. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  136. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  137. package/cjs/extensions/forms/DataContext/Provider/Provider.js +51 -5
  138. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  139. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  140. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
  141. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  142. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  143. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  144. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  145. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  146. package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
  147. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  148. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -3
  149. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  150. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  151. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  152. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  153. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
  154. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  155. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  156. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
  157. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  158. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  159. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
  160. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  161. package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  162. package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
  163. package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  164. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  165. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
  166. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  167. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  168. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
  169. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  170. package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
  171. package/cjs/extensions/forms/Form/Section/Section.js +10 -2
  172. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  173. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  174. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  175. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  176. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  177. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  178. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
  179. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  180. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  181. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
  182. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  183. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  184. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
  185. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  186. package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  187. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
  188. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  189. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  190. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
  191. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  192. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  193. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
  194. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  195. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  196. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
  197. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  198. package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  199. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
  200. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  201. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  202. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  203. package/{es/extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  204. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  205. package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -72
  206. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  207. package/cjs/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  208. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +101 -0
  209. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  210. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  211. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  212. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
  213. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  214. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  215. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  216. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
  217. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  218. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  219. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  220. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  221. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  222. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  223. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  224. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  225. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  226. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  227. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  228. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  229. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  230. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  231. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  232. package/cjs/extensions/forms/Wizard/Step/Step.js +6 -2
  233. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  234. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  235. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  236. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  237. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  238. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  239. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  240. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  241. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  242. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  243. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  244. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -10
  245. package/cjs/extensions/forms/constants/locales/en-GB.js +10 -11
  246. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  247. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -10
  248. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -20
  249. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -10
  250. package/cjs/extensions/forms/constants/locales/nb-NO.js +10 -11
  251. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  252. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  253. package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
  254. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  255. package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
  256. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  257. package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
  258. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  259. package/cjs/extensions/forms/style/dnb-forms.css +46 -44
  260. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  261. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  262. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  263. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  264. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  265. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  266. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  267. package/cjs/fragments/text-counter/TextCounter.js +3 -2
  268. package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
  269. package/cjs/shared/Context.d.ts +13 -5
  270. package/cjs/shared/Context.js +40 -35
  271. package/cjs/shared/Context.js.map +1 -1
  272. package/cjs/shared/Eufemia.d.ts +1 -1
  273. package/cjs/shared/Eufemia.js +2 -2
  274. package/cjs/shared/Eufemia.js.map +1 -1
  275. package/cjs/shared/Provider.d.ts +1 -1
  276. package/cjs/shared/Provider.js +49 -42
  277. package/cjs/shared/Provider.js.map +1 -1
  278. package/cjs/shared/Translation.d.ts +5 -5
  279. package/cjs/shared/Translation.js +6 -11
  280. package/cjs/shared/Translation.js.map +1 -1
  281. package/cjs/shared/index.d.ts +1 -0
  282. package/cjs/shared/index.js +26 -1
  283. package/cjs/shared/index.js.map +1 -1
  284. package/cjs/shared/locales/en-GB.d.ts +0 -3
  285. package/cjs/shared/locales/en-GB.js +0 -3
  286. package/cjs/shared/locales/en-GB.js.map +1 -1
  287. package/cjs/shared/locales/en-US.d.ts +0 -3
  288. package/cjs/shared/locales/index.d.ts +0 -6
  289. package/cjs/shared/locales/nb-NO.d.ts +0 -3
  290. package/cjs/shared/locales/nb-NO.js +0 -3
  291. package/cjs/shared/locales/nb-NO.js.map +1 -1
  292. package/cjs/shared/useTranslation.d.ts +5 -4
  293. package/cjs/shared/useTranslation.js +14 -12
  294. package/cjs/shared/useTranslation.js.map +1 -1
  295. package/cjs/style/core/scopes.scss +1 -1
  296. package/cjs/style/dnb-ui-basis.css +1 -1
  297. package/cjs/style/dnb-ui-basis.min.css +1 -1
  298. package/cjs/style/dnb-ui-body.css +1 -1
  299. package/cjs/style/dnb-ui-body.min.css +1 -1
  300. package/cjs/style/dnb-ui-components.css +72 -50
  301. package/cjs/style/dnb-ui-components.min.css +3 -3
  302. package/cjs/style/dnb-ui-core.css +1 -1
  303. package/cjs/style/dnb-ui-core.min.css +1 -1
  304. package/cjs/style/dnb-ui-extensions.css +46 -44
  305. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  306. package/cjs/style/dnb-ui-forms.css +46 -44
  307. package/cjs/style/dnb-ui-forms.min.css +1 -1
  308. package/cjs/style/dnb-ui-forms.scss +2 -1
  309. package/cjs/style/dnb-ui-fragments.css +4 -0
  310. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  311. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  312. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  313. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +118 -94
  314. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  315. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  316. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  317. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  318. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  319. package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
  320. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  321. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  322. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +119 -95
  323. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  324. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  325. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  326. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  327. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  328. package/cjs/style/themes/theme-ui/globals.scss +3 -2
  329. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
  330. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  331. package/cjs/style/themes/theme-ui/ui-theme-components.css +118 -94
  332. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  333. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  334. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  335. package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -44
  336. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  337. package/components/accordion/Accordion.d.ts +3 -3
  338. package/components/accordion/Accordion.js.map +1 -1
  339. package/components/accordion/AccordionHeader.d.ts +5 -5
  340. package/components/accordion/AccordionHeader.js +3 -2
  341. package/components/accordion/AccordionHeader.js.map +1 -1
  342. package/components/anchor/Anchor.d.ts +20 -0
  343. package/components/anchor/Anchor.js +13 -4
  344. package/components/anchor/Anchor.js.map +1 -1
  345. package/components/anchor/AnchorDocs.d.ts +3 -0
  346. package/components/anchor/AnchorDocs.js +74 -0
  347. package/components/anchor/AnchorDocs.js.map +1 -0
  348. package/components/autocomplete/Autocomplete.js +17 -3
  349. package/components/autocomplete/Autocomplete.js.map +1 -1
  350. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  351. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  352. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  353. package/components/button/Button.js.map +1 -1
  354. package/components/dropdown/Dropdown.js.map +1 -1
  355. package/components/form-row/FormRow.js.map +1 -1
  356. package/components/form-set/FormSet.js.map +1 -1
  357. package/components/form-status/FormStatus.js.map +1 -1
  358. package/components/global-status/GlobalStatus.js.map +1 -1
  359. package/components/global-status/GlobalStatusController.js.map +1 -1
  360. package/components/global-status/GlobalStatusProvider.js.map +1 -1
  361. package/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  362. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  363. package/components/height-animation/useHeightAnimation.d.ts +5 -1
  364. package/components/height-animation/useHeightAnimation.js.map +1 -1
  365. package/components/help-button/HelpButton.js +3 -0
  366. package/components/help-button/HelpButton.js.map +1 -1
  367. package/components/help-button/style/dnb-help-button.css +4 -1
  368. package/components/help-button/style/dnb-help-button.min.css +1 -0
  369. package/components/help-button/style/dnb-help-button.scss +6 -0
  370. package/components/icon/Icon.d.ts +493 -61
  371. package/components/icon/Icon.js +89 -127
  372. package/components/icon/Icon.js.map +1 -1
  373. package/components/icon/IconHelpers.d.ts +2 -1
  374. package/components/icon/IconHelpers.js +1 -1
  375. package/components/icon/IconHelpers.js.map +1 -1
  376. package/components/icon/IconPrimary.d.ts +2 -2
  377. package/components/icon/IconPrimary.js.map +1 -1
  378. package/components/icon-primary/IconPrimary.d.ts +8 -11
  379. package/components/icon-primary/IconPrimary.js +25 -31
  380. package/components/icon-primary/IconPrimary.js.map +1 -1
  381. package/components/input/Input.js.map +1 -1
  382. package/components/input-masked/InputMasked.js.map +1 -1
  383. package/components/logo/Logo.d.ts +47 -43
  384. package/components/logo/Logo.js +75 -221
  385. package/components/logo/Logo.js.map +1 -1
  386. package/components/logo/LogoDocs.d.ts +2 -0
  387. package/components/logo/LogoDocs.js +43 -0
  388. package/components/logo/LogoDocs.js.map +1 -0
  389. package/components/logo/LogoSvg.d.ts +7 -0
  390. package/components/logo/LogoSvg.js +73 -0
  391. package/components/logo/LogoSvg.js.map +1 -0
  392. package/components/modal/Modal.d.ts +2 -0
  393. package/components/modal/Modal.js +25 -10
  394. package/components/modal/Modal.js.map +1 -1
  395. package/components/number-format/NumberFormat.d.ts +4 -0
  396. package/components/number-format/NumberFormat.js +5 -2
  397. package/components/number-format/NumberFormat.js.map +1 -1
  398. package/components/number-format/style/dnb-number-format.css +3 -0
  399. package/components/number-format/style/dnb-number-format.min.css +1 -1
  400. package/components/number-format/style/dnb-number-format.scss +4 -0
  401. package/components/pagination/Pagination.js.map +1 -1
  402. package/components/pagination/PaginationHelpers.js.map +1 -1
  403. package/components/pagination/PaginationInfinity.js.map +1 -1
  404. package/components/pagination/PaginationProvider.js.map +1 -1
  405. package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  406. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  407. package/components/progress-indicator/types.d.ts +1 -1
  408. package/components/progress-indicator/types.js.map +1 -1
  409. package/components/radio/Radio.js.map +1 -1
  410. package/components/radio/RadioGroup.js.map +1 -1
  411. package/components/skeleton/Skeleton.js.map +1 -1
  412. package/components/step-indicator/StepIndicatorContext.js +67 -60
  413. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  414. package/components/step-indicator/StepIndicatorItem.js +16 -24
  415. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  416. package/components/step-indicator/StepIndicatorModal.js +6 -6
  417. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  418. package/components/step-indicator/StepIndicatorSidebar.js +10 -8
  419. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  420. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  421. package/components/switch/Switch.js.map +1 -1
  422. package/components/table/Table.d.ts +7 -1
  423. package/components/table/Table.js +13 -3
  424. package/components/table/Table.js.map +1 -1
  425. package/components/table/TableContext.d.ts +12 -2
  426. package/components/table/TableContext.js +0 -1
  427. package/components/table/TableContext.js.map +1 -1
  428. package/components/table/TableDocs.d.ts +7 -0
  429. package/components/table/TableDocs.js +190 -0
  430. package/components/table/TableDocs.js.map +1 -0
  431. package/components/table/TableTd.d.ts +3 -3
  432. package/components/table/TableTd.js +2 -2
  433. package/components/table/TableTd.js.map +1 -1
  434. package/components/table/TableTr.d.ts +9 -5
  435. package/components/table/TableTr.js +27 -28
  436. package/components/table/TableTr.js.map +1 -1
  437. package/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  438. package/components/table/table-accordion/TableAccordionContent.js +95 -0
  439. package/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  440. package/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  441. package/components/table/table-accordion/TableAccordionContext.js +3 -0
  442. package/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  443. package/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  444. package/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +42 -34
  445. package/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  446. package/{cjs/components/table → components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  447. package/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  448. package/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  449. package/components/tabs/Tabs.d.ts +0 -3
  450. package/components/tabs/Tabs.js +1 -5
  451. package/components/tabs/Tabs.js.map +1 -1
  452. package/components/tabs/TabsDocs.d.ts +1 -0
  453. package/components/tabs/TabsDocs.js +30 -3
  454. package/components/tabs/TabsDocs.js.map +1 -1
  455. package/components/textarea/Textarea.js.map +1 -1
  456. package/components/toggle-button/ToggleButton.js.map +1 -1
  457. package/components/toggle-button/ToggleButtonGroup.js +2 -2
  458. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  459. package/components/toggle-button/style/dnb-toggle-button.css +15 -6
  460. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  461. package/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  462. package/es/components/accordion/Accordion.d.ts +3 -3
  463. package/es/components/accordion/Accordion.js.map +1 -1
  464. package/es/components/accordion/AccordionHeader.d.ts +5 -5
  465. package/es/components/accordion/AccordionHeader.js +3 -2
  466. package/es/components/accordion/AccordionHeader.js.map +1 -1
  467. package/es/components/anchor/Anchor.d.ts +20 -0
  468. package/es/components/anchor/Anchor.js +13 -4
  469. package/es/components/anchor/Anchor.js.map +1 -1
  470. package/es/components/anchor/AnchorDocs.d.ts +3 -0
  471. package/es/components/anchor/AnchorDocs.js +74 -0
  472. package/es/components/anchor/AnchorDocs.js.map +1 -0
  473. package/es/components/autocomplete/Autocomplete.js +17 -3
  474. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  475. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  476. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  477. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  478. package/es/components/button/Button.js.map +1 -1
  479. package/es/components/dropdown/Dropdown.js.map +1 -1
  480. package/es/components/form-row/FormRow.js.map +1 -1
  481. package/es/components/form-set/FormSet.js.map +1 -1
  482. package/es/components/form-status/FormStatus.js.map +1 -1
  483. package/es/components/global-status/GlobalStatus.js.map +1 -1
  484. package/es/components/global-status/GlobalStatusController.js.map +1 -1
  485. package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
  486. package/es/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  487. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  488. package/es/components/height-animation/useHeightAnimation.d.ts +5 -1
  489. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  490. package/es/components/help-button/HelpButton.js +3 -0
  491. package/es/components/help-button/HelpButton.js.map +1 -1
  492. package/es/components/help-button/style/dnb-help-button.css +4 -1
  493. package/es/components/help-button/style/dnb-help-button.min.css +1 -0
  494. package/es/components/help-button/style/dnb-help-button.scss +6 -0
  495. package/es/components/icon/Icon.d.ts +493 -61
  496. package/es/components/icon/Icon.js +82 -116
  497. package/es/components/icon/Icon.js.map +1 -1
  498. package/es/components/icon/IconHelpers.d.ts +2 -1
  499. package/es/components/icon/IconHelpers.js +1 -1
  500. package/es/components/icon/IconHelpers.js.map +1 -1
  501. package/es/components/icon/IconPrimary.d.ts +2 -2
  502. package/es/components/icon/IconPrimary.js.map +1 -1
  503. package/es/components/icon-primary/IconPrimary.d.ts +8 -11
  504. package/es/components/icon-primary/IconPrimary.js +25 -31
  505. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  506. package/es/components/input/Input.js.map +1 -1
  507. package/es/components/input-masked/InputMasked.js.map +1 -1
  508. package/es/components/logo/Logo.d.ts +47 -43
  509. package/es/components/logo/Logo.js +75 -221
  510. package/es/components/logo/Logo.js.map +1 -1
  511. package/es/components/logo/LogoDocs.d.ts +2 -0
  512. package/es/components/logo/LogoDocs.js +43 -0
  513. package/es/components/logo/LogoDocs.js.map +1 -0
  514. package/es/components/logo/LogoSvg.d.ts +7 -0
  515. package/es/components/logo/LogoSvg.js +72 -0
  516. package/es/components/logo/LogoSvg.js.map +1 -0
  517. package/es/components/modal/Modal.d.ts +2 -0
  518. package/es/components/modal/Modal.js +25 -10
  519. package/es/components/modal/Modal.js.map +1 -1
  520. package/es/components/number-format/NumberFormat.d.ts +4 -0
  521. package/es/components/number-format/NumberFormat.js +5 -2
  522. package/es/components/number-format/NumberFormat.js.map +1 -1
  523. package/es/components/number-format/style/dnb-number-format.css +3 -0
  524. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  525. package/es/components/number-format/style/dnb-number-format.scss +4 -0
  526. package/es/components/pagination/Pagination.js.map +1 -1
  527. package/es/components/pagination/PaginationHelpers.js.map +1 -1
  528. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  529. package/es/components/pagination/PaginationProvider.js.map +1 -1
  530. package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  531. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  532. package/es/components/progress-indicator/types.d.ts +1 -1
  533. package/es/components/progress-indicator/types.js.map +1 -1
  534. package/es/components/radio/Radio.js.map +1 -1
  535. package/es/components/radio/RadioGroup.js.map +1 -1
  536. package/es/components/skeleton/Skeleton.js.map +1 -1
  537. package/es/components/step-indicator/StepIndicatorContext.js +67 -60
  538. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  539. package/es/components/step-indicator/StepIndicatorItem.js +17 -25
  540. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  541. package/es/components/step-indicator/StepIndicatorModal.js +6 -6
  542. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  543. package/es/components/step-indicator/StepIndicatorSidebar.js +10 -8
  544. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  545. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  546. package/es/components/switch/Switch.js.map +1 -1
  547. package/es/components/table/Table.d.ts +7 -1
  548. package/es/components/table/Table.js +13 -3
  549. package/es/components/table/Table.js.map +1 -1
  550. package/es/components/table/TableContext.d.ts +12 -2
  551. package/es/components/table/TableContext.js +0 -1
  552. package/es/components/table/TableContext.js.map +1 -1
  553. package/es/components/table/TableDocs.d.ts +7 -0
  554. package/es/components/table/TableDocs.js +190 -0
  555. package/es/components/table/TableDocs.js.map +1 -0
  556. package/es/components/table/TableTd.d.ts +3 -3
  557. package/es/components/table/TableTd.js +2 -2
  558. package/es/components/table/TableTd.js.map +1 -1
  559. package/es/components/table/TableTr.d.ts +9 -5
  560. package/es/components/table/TableTr.js +27 -28
  561. package/es/components/table/TableTr.js.map +1 -1
  562. package/es/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  563. package/es/components/table/table-accordion/TableAccordionContent.js +92 -0
  564. package/es/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  565. package/es/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  566. package/es/components/table/table-accordion/TableAccordionContext.js +3 -0
  567. package/es/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  568. package/es/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  569. package/es/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +42 -33
  570. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  571. package/{components/table → es/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  572. package/es/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  573. package/es/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  574. package/es/components/tabs/Tabs.d.ts +0 -3
  575. package/es/components/tabs/Tabs.js +1 -5
  576. package/es/components/tabs/Tabs.js.map +1 -1
  577. package/es/components/tabs/TabsDocs.d.ts +1 -0
  578. package/es/components/tabs/TabsDocs.js +30 -3
  579. package/es/components/tabs/TabsDocs.js.map +1 -1
  580. package/es/components/textarea/Textarea.js.map +1 -1
  581. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  582. package/es/components/toggle-button/ToggleButtonGroup.js +2 -2
  583. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  584. package/es/components/toggle-button/style/dnb-toggle-button.css +15 -6
  585. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  586. package/es/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  587. package/es/extensions/forms/DataContext/Context.d.ts +2 -0
  588. package/es/extensions/forms/DataContext/Context.js +1 -0
  589. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  590. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  591. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  592. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  593. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  594. package/es/extensions/forms/DataContext/Provider/Provider.js +47 -2
  595. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  596. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  597. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  598. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  599. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  600. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  601. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  602. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  603. package/es/extensions/forms/Field/Selection/Selection.js +7 -2
  604. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  605. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -3
  606. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  607. package/es/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  608. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  609. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  610. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  611. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  612. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  613. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  614. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  615. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  616. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  617. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  618. package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  619. package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  620. package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  621. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  622. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  623. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  624. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  625. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  626. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  627. package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
  628. package/es/extensions/forms/Form/Section/Section.js +10 -2
  629. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  630. package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  631. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  632. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  633. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  634. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  635. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  636. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  637. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  638. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  639. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  640. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  641. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  642. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  643. package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  644. package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  645. package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  646. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  647. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  648. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  649. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  650. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  651. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  652. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  653. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  654. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  655. package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  656. package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  657. package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  658. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  659. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  660. package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → es/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  661. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  662. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -71
  663. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  664. package/es/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  665. package/es/extensions/forms/Form/Visibility/useVisibility.js +94 -0
  666. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  667. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  668. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  669. package/es/extensions/forms/Iterate/Array/Array.js +1 -1
  670. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  671. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  672. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  673. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  674. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  675. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  676. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  677. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  678. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  679. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  680. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  681. package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  682. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  683. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  684. package/es/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  685. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  686. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  687. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  688. package/es/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  689. package/es/extensions/forms/Wizard/Step/Step.js +6 -2
  690. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  691. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  692. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  693. package/es/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  694. package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  695. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  696. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  697. package/es/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  698. package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  699. package/es/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  700. package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  701. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -10
  702. package/es/extensions/forms/constants/locales/en-GB.js +10 -11
  703. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  704. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -10
  705. package/es/extensions/forms/constants/locales/index.d.ts +18 -20
  706. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -10
  707. package/es/extensions/forms/constants/locales/nb-NO.js +10 -11
  708. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  709. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  710. package/es/extensions/forms/hooks/useDataValue.js +30 -5
  711. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  712. package/es/extensions/forms/hooks/useFieldProps.js +14 -9
  713. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  714. package/es/extensions/forms/hooks/useTranslation.js +7 -12
  715. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  716. package/es/extensions/forms/style/dnb-forms.css +46 -44
  717. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  718. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  719. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  720. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  721. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  722. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  723. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  724. package/es/fragments/text-counter/TextCounter.js +3 -2
  725. package/es/fragments/text-counter/TextCounter.js.map +1 -1
  726. package/es/shared/Context.d.ts +13 -5
  727. package/es/shared/Context.js +39 -35
  728. package/es/shared/Context.js.map +1 -1
  729. package/es/shared/Eufemia.d.ts +1 -1
  730. package/es/shared/Eufemia.js +2 -2
  731. package/es/shared/Eufemia.js.map +1 -1
  732. package/es/shared/Provider.d.ts +1 -1
  733. package/es/shared/Provider.js +49 -41
  734. package/es/shared/Provider.js.map +1 -1
  735. package/es/shared/Translation.d.ts +5 -5
  736. package/es/shared/Translation.js +8 -10
  737. package/es/shared/Translation.js.map +1 -1
  738. package/es/shared/index.d.ts +1 -0
  739. package/es/shared/index.js +1 -0
  740. package/es/shared/index.js.map +1 -1
  741. package/es/shared/locales/en-GB.d.ts +0 -3
  742. package/es/shared/locales/en-GB.js +0 -3
  743. package/es/shared/locales/en-GB.js.map +1 -1
  744. package/es/shared/locales/en-US.d.ts +0 -3
  745. package/es/shared/locales/index.d.ts +0 -6
  746. package/es/shared/locales/nb-NO.d.ts +0 -3
  747. package/es/shared/locales/nb-NO.js +0 -3
  748. package/es/shared/locales/nb-NO.js.map +1 -1
  749. package/es/shared/useTranslation.d.ts +5 -4
  750. package/es/shared/useTranslation.js +13 -11
  751. package/es/shared/useTranslation.js.map +1 -1
  752. package/es/style/core/scopes.scss +1 -1
  753. package/es/style/dnb-ui-basis.css +1 -1
  754. package/es/style/dnb-ui-basis.min.css +1 -1
  755. package/es/style/dnb-ui-body.css +1 -1
  756. package/es/style/dnb-ui-body.min.css +1 -1
  757. package/es/style/dnb-ui-components.css +72 -50
  758. package/es/style/dnb-ui-components.min.css +3 -3
  759. package/es/style/dnb-ui-core.css +1 -1
  760. package/es/style/dnb-ui-core.min.css +1 -1
  761. package/es/style/dnb-ui-extensions.css +46 -44
  762. package/es/style/dnb-ui-extensions.min.css +1 -1
  763. package/es/style/dnb-ui-forms.css +46 -44
  764. package/es/style/dnb-ui-forms.min.css +1 -1
  765. package/es/style/dnb-ui-forms.scss +2 -1
  766. package/es/style/dnb-ui-fragments.css +4 -0
  767. package/es/style/dnb-ui-fragments.min.css +1 -1
  768. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  769. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  770. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +118 -94
  771. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  772. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  773. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  774. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  775. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  776. package/es/style/themes/theme-sbanken/globals.scss +3 -2
  777. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  778. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  779. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +119 -95
  780. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  781. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  782. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  783. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  784. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  785. package/es/style/themes/theme-ui/globals.scss +3 -2
  786. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
  787. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  788. package/es/style/themes/theme-ui/ui-theme-components.css +118 -94
  789. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  790. package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  791. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  792. package/es/style/themes/theme-ui/ui-theme-forms.css +46 -44
  793. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  794. package/esm/dnb-ui-basis.min.mjs +1 -1
  795. package/esm/dnb-ui-components.min.mjs +1 -1
  796. package/esm/dnb-ui-elements.min.mjs +1 -1
  797. package/esm/dnb-ui-extensions.min.mjs +5 -5
  798. package/esm/dnb-ui-lib.min.mjs +1 -1
  799. package/extensions/forms/DataContext/Context.d.ts +2 -0
  800. package/extensions/forms/DataContext/Context.js +1 -0
  801. package/extensions/forms/DataContext/Context.js.map +1 -1
  802. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  803. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  804. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  805. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  806. package/extensions/forms/DataContext/Provider/Provider.js +51 -5
  807. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  808. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  809. package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  810. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  811. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  812. package/extensions/forms/Field/Option/Option.js.map +1 -1
  813. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  814. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  815. package/extensions/forms/Field/Selection/Selection.js +7 -2
  816. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  817. package/extensions/forms/Field/Toggle/Toggle.js +7 -3
  818. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  819. package/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  820. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  821. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  822. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  823. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  824. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  825. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  826. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  827. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  828. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  829. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  830. package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  831. package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  832. package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  833. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  834. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  835. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  836. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  837. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  838. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  839. package/extensions/forms/Form/Section/Section.d.ts +9 -1
  840. package/extensions/forms/Form/Section/Section.js +10 -2
  841. package/extensions/forms/Form/Section/Section.js.map +1 -1
  842. package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  843. package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  844. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  845. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  846. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  847. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  848. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  849. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  850. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  851. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  852. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  853. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  854. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  855. package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  856. package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  857. package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  858. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  859. package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  860. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  861. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  862. package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  863. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  864. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  865. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  866. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  867. package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  868. package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  869. package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  870. package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  871. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  872. package/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
  873. package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  874. package/extensions/forms/Form/Visibility/Visibility.js +20 -71
  875. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  876. package/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  877. package/extensions/forms/Form/Visibility/useVisibility.js +95 -0
  878. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  879. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  880. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  881. package/extensions/forms/Iterate/Array/Array.js +1 -1
  882. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  883. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  884. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  885. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  886. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  887. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  888. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  889. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  890. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  891. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  892. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  893. package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  894. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  895. package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  896. package/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  897. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  898. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  899. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  900. package/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  901. package/extensions/forms/Wizard/Step/Step.js +6 -2
  902. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  903. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  904. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  905. package/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  906. package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  907. package/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  908. package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  909. package/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  910. package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  911. package/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  912. package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  913. package/extensions/forms/constants/locales/en-GB.d.ts +9 -10
  914. package/extensions/forms/constants/locales/en-GB.js +10 -11
  915. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  916. package/extensions/forms/constants/locales/en-US.d.ts +9 -10
  917. package/extensions/forms/constants/locales/index.d.ts +18 -20
  918. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -10
  919. package/extensions/forms/constants/locales/nb-NO.js +10 -11
  920. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  921. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  922. package/extensions/forms/hooks/useDataValue.js +30 -5
  923. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  924. package/extensions/forms/hooks/useFieldProps.js +14 -9
  925. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  926. package/extensions/forms/hooks/useTranslation.js +7 -12
  927. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  928. package/extensions/forms/style/dnb-forms.css +46 -44
  929. package/extensions/forms/style/dnb-forms.min.css +1 -1
  930. package/extensions/payment-card/PaymentCard.js.map +1 -1
  931. package/fragments/drawer-list/DrawerList.js.map +1 -1
  932. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  933. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  934. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  935. package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  936. package/fragments/text-counter/TextCounter.js +3 -2
  937. package/fragments/text-counter/TextCounter.js.map +1 -1
  938. package/package.json +1 -1
  939. package/shared/Context.d.ts +13 -5
  940. package/shared/Context.js +40 -35
  941. package/shared/Context.js.map +1 -1
  942. package/shared/Eufemia.d.ts +1 -1
  943. package/shared/Eufemia.js +2 -2
  944. package/shared/Eufemia.js.map +1 -1
  945. package/shared/Provider.d.ts +1 -1
  946. package/shared/Provider.js +49 -41
  947. package/shared/Provider.js.map +1 -1
  948. package/shared/Translation.d.ts +5 -5
  949. package/shared/Translation.js +8 -10
  950. package/shared/Translation.js.map +1 -1
  951. package/shared/index.d.ts +1 -0
  952. package/shared/index.js +1 -0
  953. package/shared/index.js.map +1 -1
  954. package/shared/locales/en-GB.d.ts +0 -3
  955. package/shared/locales/en-GB.js +0 -3
  956. package/shared/locales/en-GB.js.map +1 -1
  957. package/shared/locales/en-US.d.ts +0 -3
  958. package/shared/locales/index.d.ts +0 -6
  959. package/shared/locales/nb-NO.d.ts +0 -3
  960. package/shared/locales/nb-NO.js +0 -3
  961. package/shared/locales/nb-NO.js.map +1 -1
  962. package/shared/useTranslation.d.ts +5 -4
  963. package/shared/useTranslation.js +13 -11
  964. package/shared/useTranslation.js.map +1 -1
  965. package/style/core/scopes.scss +1 -1
  966. package/style/dnb-ui-basis.css +1 -1
  967. package/style/dnb-ui-basis.min.css +1 -1
  968. package/style/dnb-ui-body.css +1 -1
  969. package/style/dnb-ui-body.min.css +1 -1
  970. package/style/dnb-ui-components.css +72 -50
  971. package/style/dnb-ui-components.min.css +3 -3
  972. package/style/dnb-ui-core.css +1 -1
  973. package/style/dnb-ui-core.min.css +1 -1
  974. package/style/dnb-ui-extensions.css +46 -44
  975. package/style/dnb-ui-extensions.min.css +1 -1
  976. package/style/dnb-ui-forms.css +46 -44
  977. package/style/dnb-ui-forms.min.css +1 -1
  978. package/style/dnb-ui-forms.scss +2 -1
  979. package/style/dnb-ui-fragments.css +4 -0
  980. package/style/dnb-ui-fragments.min.css +1 -1
  981. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  982. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  983. package/style/themes/theme-eiendom/eiendom-theme-components.css +118 -94
  984. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  985. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  986. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  987. package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  988. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  989. package/style/themes/theme-sbanken/globals.scss +3 -2
  990. package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  991. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  992. package/style/themes/theme-sbanken/sbanken-theme-components.css +119 -95
  993. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  994. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  995. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  996. package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  997. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  998. package/style/themes/theme-ui/globals.scss +3 -2
  999. package/style/themes/theme-ui/ui-theme-basis.css +2 -2
  1000. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1001. package/style/themes/theme-ui/ui-theme-components.css +118 -94
  1002. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  1003. package/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  1004. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1005. package/style/themes/theme-ui/ui-theme-forms.css +46 -44
  1006. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1007. package/umd/dnb-ui-basis.min.js +1 -1
  1008. package/umd/dnb-ui-components.min.js +1 -1
  1009. package/umd/dnb-ui-elements.min.js +1 -1
  1010. package/umd/dnb-ui-extensions.min.js +5 -5
  1011. package/umd/dnb-ui-lib.min.js +1 -1
  1012. package/cjs/components/table/TableAccordion.d.ts +0 -12
  1013. package/cjs/components/table/TableAccordion.js.map +0 -1
  1014. package/cjs/components/table/TableAccordionTd.d.ts +0 -9
  1015. package/cjs/components/table/TableAccordionTd.js.map +0 -1
  1016. package/cjs/components/table/TableAccordionTr.d.ts +0 -13
  1017. package/cjs/components/table/TableAccordionTr.js +0 -61
  1018. package/cjs/components/table/TableAccordionTr.js.map +0 -1
  1019. package/cjs/components/table/useTableAnimationHandler.js.map +0 -1
  1020. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  1021. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  1022. package/components/table/TableAccordion.d.ts +0 -12
  1023. package/components/table/TableAccordion.js.map +0 -1
  1024. package/components/table/TableAccordionTd.d.ts +0 -9
  1025. package/components/table/TableAccordionTd.js +0 -61
  1026. package/components/table/TableAccordionTd.js.map +0 -1
  1027. package/components/table/TableAccordionTr.d.ts +0 -13
  1028. package/components/table/TableAccordionTr.js +0 -51
  1029. package/components/table/TableAccordionTr.js.map +0 -1
  1030. package/components/table/useTableAnimationHandler.js.map +0 -1
  1031. package/es/components/table/TableAccordion.d.ts +0 -12
  1032. package/es/components/table/TableAccordion.js.map +0 -1
  1033. package/es/components/table/TableAccordionTd.d.ts +0 -9
  1034. package/es/components/table/TableAccordionTd.js +0 -61
  1035. package/es/components/table/TableAccordionTd.js.map +0 -1
  1036. package/es/components/table/TableAccordionTr.d.ts +0 -13
  1037. package/es/components/table/TableAccordionTr.js +0 -51
  1038. package/es/components/table/TableAccordionTr.js.map +0 -1
  1039. package/es/components/table/useTableAnimationHandler.js.map +0 -1
  1040. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  1041. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  1042. package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  1043. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
@@ -1,19 +1,18 @@
1
1
  "use client";
2
2
 
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  const _excluded = ["sizeAsString"],
6
- _excluded2 = ["icon", "size", "width", "height", "border", "color", "inherit_color", "modifier", "alt", "title", "skeleton", "className"];
6
+ _excluded2 = ["icon", "size", "width", "height", "border", "color", "inheritColor", "inherit_color", "modifier", "alt", "title", "skeleton", "className"];
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
9
+ import React, { useContext } from 'react';
11
10
  import classnames from 'classnames';
12
11
  import { ErrorHandler } from '../../shared/error-helper';
13
- import { isTrue, validateDOMAttributes, processChildren, extendPropsWithContextInClassComponent } from '../../shared/component-helper';
14
- import { spacingPropTypes, createSpacingClasses } from '../space/SpacingHelper';
15
- import { createSkeletonClass } from '../skeleton/SkeletonHelper';
12
+ import { validateDOMAttributes, processChildren, extendPropsWithContext } from '../../shared/component-helper';
16
13
  import Context from '../../shared/Context';
14
+ import { createSpacingClasses } from '../space/SpacingHelper';
15
+ import { createSkeletonClass } from '../skeleton/SkeletonHelper';
17
16
  import { iconCase } from './IconHelpers';
18
17
  export const DefaultIconSize = 16;
19
18
  export const DefaultIconSizes = {
@@ -21,152 +20,106 @@ export const DefaultIconSizes = {
21
20
  medium: 24
22
21
  };
23
22
  export const ListDefaultIconSizes = [['default', 16], ['medium', 24]];
24
- export const ValidIconSizes = ['small', 'default', 'medium', 'large', 'x-large', 'xx-large'];
25
- export const iconPropTypes = _objectSpread(_objectSpread({
26
- icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
27
- modifier: PropTypes.string,
28
- size: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.oneOf(['default', 'medium', 'large'])])
29
- }, spacingPropTypes), {}, {
30
- width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
31
- height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
32
- border: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
33
- color: PropTypes.string,
34
- inherit_color: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
35
- alt: PropTypes.string,
36
- title: PropTypes.string,
37
- skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
38
- attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
39
- className: PropTypes.string,
40
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
41
- });
42
- export default class Icon extends React.PureComponent {
43
- static getIcon(props) {
44
- if (props.icon) {
45
- return props.icon;
46
- }
47
- return processChildren(props);
23
+ export const ValidIconType = ['small', 'default', 'medium', 'large', 'x-large', 'xx-large'];
24
+ export default function Icon(localProps) {
25
+ const context = useContext(Context);
26
+ const props = extendPropsWithContext(localProps, {}, {
27
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
28
+ }, context.Icon);
29
+ const {
30
+ icon: iconProp,
31
+ size,
32
+ wrapperParams,
33
+ iconParams,
34
+ alt,
35
+ children
36
+ } = prepareIcon(props, context);
37
+ const icon = iconProp !== null && iconProp !== void 0 ? iconProp : children;
38
+ if (!icon) {
39
+ return null;
48
40
  }
49
- render() {
50
- var _this$context;
51
- const props = extendPropsWithContextInClassComponent(this.props, Icon.defaultProps, {
52
- skeleton: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.skeleton
53
- }, this.context.Icon);
54
- const {
55
- icon,
56
- size,
57
- wrapperParams,
58
- iconParams,
59
- alt
60
- } = prepareIcon(props, this.context);
61
- if (!icon) {
62
- return null;
63
- }
64
- const IconContainer = prerenderIcon({
65
- icon,
66
- size,
67
- alt
68
- });
69
- if (!IconContainer) return React.createElement(React.Fragment, null);
70
- return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
41
+ const IconContainer = prerenderIcon({
42
+ icon,
43
+ size,
44
+ alt
45
+ });
46
+ if (!IconContainer) {
47
+ return React.createElement(React.Fragment, null);
71
48
  }
49
+ return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
72
50
  }
73
- _defineProperty(Icon, "contextType", Context);
74
- _defineProperty(Icon, "defaultProps", {
75
- icon: null,
76
- modifier: null,
77
- size: null,
78
- width: null,
79
- height: null,
80
- border: null,
81
- color: null,
82
- inherit_color: true,
83
- alt: null,
84
- title: null,
85
- skeleton: null,
86
- attributes: null,
87
- className: null,
88
- children: null
89
- });
90
- process.env.NODE_ENV !== "production" ? Icon.propTypes = _objectSpread({}, iconPropTypes) : void 0;
91
- export const getIconNameFromComponent = icon => {
92
- const name = typeof icon === 'string' ? icon : icon && (icon.displayName || icon.name);
51
+ export function getIconNameFromComponent(icon) {
52
+ const name = typeof icon === 'function' ? icon.name : String(icon);
93
53
  if (/^data:image\//.test(name)) {
94
54
  return null;
95
55
  }
96
56
  return name;
97
- };
98
- export const calcSize = props => {
57
+ }
58
+ export function calcSize(props) {
99
59
  const {
100
60
  icon,
101
61
  size,
102
62
  width,
103
63
  height
104
64
  } = props;
105
- let sizeAsInt = -1;
65
+ let sizeAsInt = null;
106
66
  let sizeAsString = null;
107
67
  if (!size || size === DefaultIconSize) {
108
68
  const name = getIconNameFromComponent(icon);
109
69
  const nameParts = String(name || '').split('_');
110
70
  if (nameParts.length > 1) {
71
+ var _ListDefaultIconSizes, _ListDefaultIconSizes2;
111
72
  const lastPartOfIconName = nameParts.reverse()[0];
112
- const potentialSize = ListDefaultIconSizes.filter(_ref => {
73
+ const potentialSize = (_ListDefaultIconSizes = ListDefaultIconSizes.filter(_ref => {
113
74
  let [key] = _ref;
114
75
  return key === lastPartOfIconName;
115
- }).reduce((acc, _ref2) => {
116
- let [key, value] = _ref2;
117
- return key && value;
118
- }, null);
76
+ })) === null || _ListDefaultIconSizes === void 0 ? void 0 : (_ListDefaultIconSizes2 = _ListDefaultIconSizes[0]) === null || _ListDefaultIconSizes2 === void 0 ? void 0 : _ListDefaultIconSizes2[1];
119
77
  if (potentialSize) {
120
78
  sizeAsInt = potentialSize;
121
79
  }
122
- if (ValidIconSizes.includes(lastPartOfIconName)) {
80
+ if (ValidIconType.includes(lastPartOfIconName)) {
123
81
  sizeAsString = lastPartOfIconName;
124
82
  }
125
83
  } else {
126
84
  if (typeof icon === 'function') {
127
85
  const elem = icon();
128
86
  if (elem.props) {
129
- let potentialSize = -1;
87
+ let potentialSize = null;
130
88
  if (elem.props.width) {
131
89
  potentialSize = elem.props.width;
132
90
  }
133
91
  if (!potentialSize && elem.props.viewBox) {
134
- potentialSize = /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1];
92
+ potentialSize = parseFloat(/[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]);
135
93
  }
136
- if (potentialSize) {
94
+ if (!isNaN(potentialSize)) {
137
95
  sizeAsInt = potentialSize;
138
96
  }
139
97
  }
140
98
  }
141
99
  }
142
100
  } else if (typeof size === 'string' && !(parseFloat(size) > 0)) {
143
- sizeAsInt = ListDefaultIconSizes.filter(_ref3 => {
144
- let [key] = _ref3;
101
+ var _ListDefaultIconSizes3, _ListDefaultIconSizes4, _ListDefaultIconSizes5;
102
+ sizeAsInt = (_ListDefaultIconSizes3 = (_ListDefaultIconSizes4 = ListDefaultIconSizes.filter(_ref2 => {
103
+ let [key] = _ref2;
145
104
  return key === size;
146
- }).reduce((acc, _ref4) => {
147
- let [key, value] = _ref4;
148
- return key && value;
149
- }, -1);
150
- if (ValidIconSizes.includes(size)) {
105
+ })) === null || _ListDefaultIconSizes4 === void 0 ? void 0 : (_ListDefaultIconSizes5 = _ListDefaultIconSizes4[0]) === null || _ListDefaultIconSizes5 === void 0 ? void 0 : _ListDefaultIconSizes5[1]) !== null && _ListDefaultIconSizes3 !== void 0 ? _ListDefaultIconSizes3 : -1;
106
+ if (ValidIconType.includes(size)) {
151
107
  sizeAsString = size;
152
108
  }
153
- } else if (parseFloat(size) > 0) {
154
- sizeAsInt = ListDefaultIconSizes.filter(_ref5 => {
155
- let [key, value] = _ref5;
156
- return key && value === parseFloat(size);
157
- }).reduce((acc, _ref6) => {
158
- let [key, value] = _ref6;
159
- if (key && value) return value;
160
- return acc;
161
- }, -1);
109
+ } else if (parseFloat(String(size)) > 0) {
110
+ var _ListDefaultIconSizes6, _ListDefaultIconSizes7, _ListDefaultIconSizes8;
111
+ sizeAsInt = (_ListDefaultIconSizes6 = (_ListDefaultIconSizes7 = ListDefaultIconSizes.filter(_ref3 => {
112
+ let [key, value] = _ref3;
113
+ return key && value === parseFloat(String(size));
114
+ })) === null || _ListDefaultIconSizes7 === void 0 ? void 0 : (_ListDefaultIconSizes8 = _ListDefaultIconSizes7[0]) === null || _ListDefaultIconSizes8 === void 0 ? void 0 : _ListDefaultIconSizes8[1]) !== null && _ListDefaultIconSizes6 !== void 0 ? _ListDefaultIconSizes6 : -1;
162
115
  if (sizeAsInt === -1) {
163
- sizeAsInt = parseFloat(size);
116
+ sizeAsInt = parseFloat(String(size));
164
117
  sizeAsString = 'custom-size';
165
118
  }
166
119
  }
167
120
  if (!sizeAsString && sizeAsInt > 0) {
168
- const potentialSizeAsString = ListDefaultIconSizes.reduce((acc, _ref7) => {
169
- let [key, value] = _ref7;
121
+ const potentialSizeAsString = ListDefaultIconSizes.reduce((acc, _ref4) => {
122
+ let [key, value] = _ref4;
170
123
  if (key && value === sizeAsInt) {
171
124
  return key;
172
125
  }
@@ -202,12 +155,12 @@ export const calcSize = props => {
202
155
  sizeAsInt,
203
156
  sizeAsString
204
157
  };
205
- };
206
- const prepareIconParams = _ref8 => {
158
+ }
159
+ function prepareIconParams(_ref5) {
207
160
  let {
208
161
  sizeAsString
209
- } = _ref8,
210
- rest = _objectWithoutProperties(_ref8, _excluded);
162
+ } = _ref5,
163
+ rest = _objectWithoutProperties(_ref5, _excluded);
211
164
  const {
212
165
  size,
213
166
  width,
@@ -215,26 +168,26 @@ const prepareIconParams = _ref8 => {
215
168
  sizeAsInt
216
169
  } = rest;
217
170
  const params = {};
218
- if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(size) > -1) {
219
- params.width = params.height = parseFloat(size);
171
+ if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {
172
+ params.width = params.height = parseFloat(String(size));
220
173
  } else if (sizeAsString === 'custom-size') {
221
- params.width = params.height = parseFloat(sizeAsInt);
174
+ params.width = params.height = parseFloat(String(sizeAsInt));
222
175
  }
223
- if (parseFloat(width) > -1) {
176
+ if (parseFloat(String(width)) > -1) {
224
177
  sizeAsString = 'custom-size';
225
- params.width = parseFloat(width);
178
+ params.width = parseFloat(String(width));
226
179
  }
227
- if (parseFloat(height) > -1) {
180
+ if (parseFloat(String(height)) > -1) {
228
181
  sizeAsString = 'custom-size';
229
- params.height = parseFloat(height);
182
+ params.height = parseFloat(String(height));
230
183
  }
231
184
  validateDOMAttributes({}, params);
232
185
  return {
233
186
  params,
234
187
  sizeAsString
235
188
  };
236
- };
237
- export const prepareIcon = (props, context) => {
189
+ }
190
+ export function prepareIcon(props, context) {
238
191
  const {
239
192
  icon,
240
193
  size,
@@ -242,6 +195,7 @@ export const prepareIcon = (props, context) => {
242
195
  height,
243
196
  border,
244
197
  color,
198
+ inheritColor,
245
199
  inherit_color,
246
200
  modifier,
247
201
  alt,
@@ -278,8 +232,8 @@ export const prepareIcon = (props, context) => {
278
232
  }
279
233
  delete wrapperParams['aria-label'];
280
234
  }
281
- wrapperParams.className = classnames('dnb-icon', sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default', createSkeletonClass(null, skeleton, context), createSpacingClasses(props), className, modifier && `dnb-icon--${modifier}`, isTrue(border) && 'dnb-icon--border', isTrue(inherit_color) && 'dnb-icon--inherit-color');
282
- let iconToRender = Icon.getIcon(props);
235
+ wrapperParams.className = classnames('dnb-icon', sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default', createSkeletonClass(null, skeleton, context), createSpacingClasses(props), className, modifier && `dnb-icon--${modifier}`, border && 'dnb-icon--border', (inheritColor !== null && inheritColor !== void 0 ? inheritColor : inherit_color) !== false && 'dnb-icon--inherit-color');
236
+ let iconToRender = getIcon(props);
283
237
  if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {
284
238
  iconToRender = React.createElement(iconToRender, validateDOMAttributes({}, {
285
239
  color,
@@ -295,17 +249,19 @@ export const prepareIcon = (props, context) => {
295
249
  iconParams,
296
250
  wrapperParams
297
251
  });
298
- };
299
- export const prerenderIcon = function () {
300
- let {
301
- icon,
252
+ }
253
+ export function prerenderIcon(props) {
254
+ const {
302
255
  size = null,
303
256
  listOfIcons = null,
304
257
  alt = null
305
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
258
+ } = props;
259
+ let {
260
+ icon
261
+ } = props;
306
262
  if (typeof icon === 'string' && /^data:image\//.test(icon)) {
307
263
  return () => React.createElement("img", {
308
- src: icon,
264
+ src: String(icon),
309
265
  alt: alt || 'no-alt'
310
266
  });
311
267
  }
@@ -321,7 +277,7 @@ export const prerenderIcon = function () {
321
277
  }
322
278
  try {
323
279
  icon = iconCase(icon);
324
- if (size && DefaultIconSizes[size] && size !== 'default' && !(parseFloat(size) > 0) && !icon.includes(size)) {
280
+ if (size && DefaultIconSizes[size] && size !== 'basis' && size !== 'default' && !(parseFloat(String(size)) > 0) && !icon.includes(size)) {
325
281
  icon = `${icon}_${size}`;
326
282
  }
327
283
  const mod = (listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons)[icon];
@@ -330,6 +286,12 @@ export const prerenderIcon = function () {
330
286
  ErrorHandler(`Icon '${icon}' did not exist!`);
331
287
  return null;
332
288
  }
333
- };
289
+ }
290
+ function getIcon(props) {
291
+ if (props.icon) {
292
+ return props.icon;
293
+ }
294
+ return processChildren(props);
295
+ }
334
296
  Icon._supportsSpacingProps = true;
335
297
  //# sourceMappingURL=Icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":["React","PropTypes","classnames","ErrorHandler","isTrue","validateDOMAttributes","processChildren","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","createSkeletonClass","Context","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconSizes","iconPropTypes","_objectSpread","icon","oneOfType","string","node","func","modifier","size","number","oneOf","width","height","border","bool","color","inherit_color","alt","title","skeleton","attributes","object","className","children","Icon","PureComponent","getIcon","props","render","_this$context","defaultProps","context","wrapperParams","iconParams","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","_defineProperty","process","env","NODE_ENV","propTypes","getIconNameFromComponent","name","displayName","test","calcSize","sizeAsInt","sizeAsString","nameParts","String","split","length","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","reduce","acc","_ref2","value","includes","elem","viewBox","exec","parseFloat","_ref3","_ref4","_ref5","_ref6","potentialSizeAsString","_ref7","isCustomSize","params","prepareIconParams","_ref8","rest","_objectWithoutProperties","_excluded","_excluded2","label","role","replace","iconToRender","listOfIcons","arguments","undefined","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.js"],"sourcesContent":["/**\n * Web Icon Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n isTrue,\n validateDOMAttributes,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport { iconCase } from './IconHelpers'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n}\n// instead of using Object.entries(DefaultIconSizes)\nexport const ListDefaultIconSizes = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconSizes = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n]\n\nexport const iconPropTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n modifier: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.oneOf(['default', 'medium', 'large']),\n ]),\n\n ...spacingPropTypes,\n\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n border: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n color: PropTypes.string,\n inherit_color: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n alt: PropTypes.string,\n title: PropTypes.string,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n}\n\n/**\n * The icon component is a span wrapping an inline svg. When using this component in your preferred framework. To load an svg file dynamically, you may need a \"svg-loader\". Feel free to use whatever tool you want (regarding the setup/tooling), as long as the output is the same markup as shown below.\n */\nexport default class Icon extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n /**\n * Use spread, so generateTypes.js makes a valid copy to create the types\n */\n ...iconPropTypes,\n }\n\n static defaultProps = {\n icon: null,\n modifier: null,\n size: null,\n width: null,\n height: null,\n border: null,\n color: null,\n inherit_color: true,\n alt: null,\n title: null,\n skeleton: null,\n attributes: null,\n\n className: null,\n children: null,\n }\n\n static getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Icon.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.Icon\n )\n\n const { icon, size, wrapperParams, iconParams, alt } = prepareIcon(\n props,\n this.context\n )\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we don't could get the icon\n if (!IconContainer) return <></>\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n }\n}\n\nexport const getIconNameFromComponent = (icon) => {\n const name =\n typeof icon === 'string'\n ? icon\n : icon && (icon.displayName || icon.name)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport const calcSize = (props) => {\n const { icon, size, width, height } = props\n\n let sizeAsInt = -1\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use is for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0]\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n ).reduce((acc, [key, value]) => {\n return key && value\n }, null)\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconSizes.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize = -1\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = /[0-9]+ [0-9]+ ([0-9]+)/.exec(\n elem.props.viewBox\n )[1] // get the width\n }\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt = ListDefaultIconSizes.filter(\n ([key]) => key === size\n ).reduce((acc, [key, value]) => {\n return key && value\n }, -1)\n\n // of if the size is a default size defined as a string\n if (ValidIconSizes.includes(size)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if is a default size\n else if (parseFloat(size) > 0) {\n sizeAsInt = ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(size)\n ).reduce((acc, [key, value]) => {\n if (key && value) return value\n return acc\n }, -1)\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(size)\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nconst prepareIconParams = ({ sizeAsString, ...rest }) => {\n const { size, width, height, sizeAsInt } = rest\n const params = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(size) > -1) {\n params.width = params.height = parseFloat(size)\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(sizeAsInt)\n }\n if (parseFloat(width) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(width)\n }\n if (parseFloat(height) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(height)\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport const prepareIcon = (props, context) => {\n const {\n icon,\n size, // eslint-disable-line\n width,\n height,\n border,\n color,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n isTrue(border) && 'dnb-icon--border',\n isTrue(inherit_color) && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = Icon.getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport const prerenderIcon = ({\n icon,\n size = null,\n listOfIcons = null,\n alt = null,\n} = {}) => {\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={icon} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // for importing react component\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'default' &&\n !(parseFloat(size) > 0) &&\n !icon.includes(size)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1 +1,2 @@
1
- export function iconCase(name: any): any;
1
+ import { IconIcon } from './Icon';
2
+ export declare const iconCase: (name: IconIcon) => string;
@@ -1 +1 @@
1
- export const iconCase = name => name.replace(/((?!^)[A-Z])/g, '_$1').toLowerCase().replace(/^[0-9]/g, '$1').replace(/[^a-z0-9_]/gi, '_');
1
+ export const iconCase = name => String(name).replace(/((?!^)[A-Z])/g, '_$1').toLowerCase().replace(/^[0-9]/g, '$1').replace(/[^a-z0-9_]/gi, '_');
@@ -1 +1 @@
1
- {"version":3,"file":"IconHelpers.js","names":["iconCase","name","replace","toLowerCase"],"sources":["../../../../src/components/icon/IconHelpers.js"],"sourcesContent":["// to replace icon names\nexport const iconCase = (name) =>\n name\n .replace(/((?!^)[A-Z])/g, '_$1')\n .toLowerCase()\n .replace(/^[0-9]/g, '$1')\n .replace(/[^a-z0-9_]/gi, '_')\n"],"mappings":"AACA,OAAO,MAAMA,QAAQ,GAAIC,IAAI,IAC3BA,IAAI,CACDC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAC/BC,WAAW,CAAC,CAAC,CACbD,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CACxBA,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC"}
1
+ {"version":3,"file":"IconHelpers.js","names":["iconCase","name","String","replace","toLowerCase"],"sources":["../../../../src/components/icon/IconHelpers.ts"],"sourcesContent":["import { IconIcon } from './Icon'\n\n// to replace icon names\nexport const iconCase = (name: IconIcon) =>\n String(name)\n .replace(/((?!^)[A-Z])/g, '_$1')\n .toLowerCase()\n .replace(/^[0-9]/g, '$1')\n .replace(/[^a-z0-9_]/gi, '_')\n"],"mappings":"AAGA,OAAO,MAAMA,QAAQ,GAAIC,IAAc,IACrCC,MAAM,CAACD,IAAI,CAAC,CACTE,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAC/BC,WAAW,CAAC,CAAC,CACbD,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CACxBA,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC"}
@@ -1,3 +1,3 @@
1
- export default IconPrimary;
2
- export * from "../icon-primary/IconPrimary";
3
1
  import IconPrimary from '../icon-primary/IconPrimary';
2
+ export default IconPrimary;
3
+ export * from '../icon-primary/IconPrimary';
@@ -1 +1 @@
1
- {"version":3,"file":"IconPrimary.js","names":["IconPrimary"],"sources":["../../../../src/components/icon/IconPrimary.js"],"sourcesContent":["import IconPrimary from '../icon-primary/IconPrimary'\nexport default IconPrimary\nexport * from '../icon-primary/IconPrimary'\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,6BAA6B;AACrD,eAAeA,WAAW;AAC1B,cAAc,6BAA6B"}
1
+ {"version":3,"file":"IconPrimary.js","names":["IconPrimary"],"sources":["../../../../src/components/icon/IconPrimary.ts"],"sourcesContent":["import IconPrimary from '../icon-primary/IconPrimary'\nexport default IconPrimary\nexport * from '../icon-primary/IconPrimary'\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,6BAA6B;AACrD,eAAeA,WAAW;AAC1B,cAAc,6BAA6B"}
@@ -1,12 +1,9 @@
1
- import * as React from 'react';
2
- import type { IconProps } from '../Icon';
3
- export interface IconPrimaryProps
4
- extends IconProps,
5
- Omit<React.HTMLProps<HTMLElement>, 'size' | 'ref'> {}
6
- export default class IconPrimary extends React.Component<
7
- IconPrimaryProps,
8
- any
9
- > {
10
- static defaultProps: object;
11
- render(): JSX.Element;
1
+ import { IconAllProps, IconProps } from '../icon/Icon';
2
+ export * from '../icon/Icon';
3
+ export type IconPrimaryProps = IconProps;
4
+ export type IconPrimaryAllProps = IconAllProps;
5
+ declare function IconPrimary(localProps: IconAllProps): import("react/jsx-runtime").JSX.Element;
6
+ declare namespace IconPrimary {
7
+ var _supportsSpacingProps: boolean;
12
8
  }
9
+ export default IconPrimary;
@@ -3,42 +3,36 @@
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
- import React from 'react';
6
+ import React, { useContext } from 'react';
7
7
  import Context from '../../shared/Context';
8
- import { extendPropsWithContextInClassComponent } from '../../shared/component-helper';
9
- import DefaultIcon, { iconPropTypes, DefaultIconSize, prerenderIcon, prepareIcon } from '../icon/Icon';
8
+ import { extendPropsWithContext } from '../../shared/component-helper';
9
+ import { prerenderIcon, prepareIcon } from '../icon/Icon';
10
10
  import * as primary_icons from '../../icons/dnb/primary_icons';
11
11
  import * as primary_icons_medium from '../../icons/dnb/primary_icons_medium';
12
+ export * from '../icon/Icon';
12
13
  const icons = _objectSpread(_objectSpread({}, primary_icons), primary_icons_medium);
13
- export { DefaultIconSize };
14
- export default class IconPrimary extends React.PureComponent {
15
- static getIcon(props) {
16
- return DefaultIcon.getIcon(props);
17
- }
18
- render() {
19
- var _this$context;
20
- const props = extendPropsWithContextInClassComponent(this.props, IconPrimary.defaultProps, {
21
- skeleton: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.skeleton
22
- }, this.context.Icon, this.context.IconPrimary);
23
- const {
24
- icon,
25
- size,
26
- wrapperParams,
27
- iconParams,
28
- alt
29
- } = prepareIcon(props, this.context);
30
- const IconContainer = prerenderIcon({
31
- icon,
32
- size,
33
- alt,
34
- listOfIcons: icons
35
- });
36
- if (!IconContainer) return React.createElement(React.Fragment, null);
37
- return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
14
+ export default function IconPrimary(localProps) {
15
+ const context = useContext(Context);
16
+ const props = extendPropsWithContext(localProps, {}, {
17
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
18
+ }, context.Icon, context.IconPrimary);
19
+ const {
20
+ icon,
21
+ size,
22
+ wrapperParams,
23
+ iconParams,
24
+ alt
25
+ } = prepareIcon(props, context);
26
+ const IconContainer = prerenderIcon({
27
+ icon,
28
+ size,
29
+ alt,
30
+ listOfIcons: icons
31
+ });
32
+ if (!IconContainer) {
33
+ return React.createElement(React.Fragment, null);
38
34
  }
35
+ return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
39
36
  }
40
- _defineProperty(IconPrimary, "contextType", Context);
41
- _defineProperty(IconPrimary, "defaultProps", _objectSpread({}, DefaultIcon.defaultProps));
42
- process.env.NODE_ENV !== "production" ? IconPrimary.propTypes = _objectSpread({}, iconPropTypes) : void 0;
43
37
  IconPrimary._supportsSpacingProps = true;
44
38
  //# sourceMappingURL=IconPrimary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconPrimary.js","names":["React","Context","extendPropsWithContextInClassComponent","DefaultIcon","iconPropTypes","DefaultIconSize","prerenderIcon","prepareIcon","primary_icons","primary_icons_medium","icons","_objectSpread","IconPrimary","PureComponent","getIcon","props","render","_this$context","defaultProps","skeleton","context","Icon","icon","size","wrapperParams","iconParams","alt","IconContainer","listOfIcons","createElement","Fragment","_defineProperty","process","env","NODE_ENV","propTypes","_supportsSpacingProps"],"sources":["../../../../src/components/icon-primary/IconPrimary.js"],"sourcesContent":["/**\n * Web Icon Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\n// eslint-disable-next-line no-unused-vars\nimport PropTypes from 'prop-types' // Is needed because of ts types\nimport Context from '../../shared/Context'\nimport { extendPropsWithContextInClassComponent } from '../../shared/component-helper'\nimport DefaultIcon, {\n iconPropTypes,\n DefaultIconSize,\n prerenderIcon,\n prepareIcon,\n} from '../icon/Icon'\n\n// NB: The path reflects the rollup.config.js -> external: '../../icons/dnb/primary_icons'\nimport * as primary_icons from '../../icons/dnb/primary_icons'\nimport * as primary_icons_medium from '../../icons/dnb/primary_icons_medium'\n\nconst icons = { ...primary_icons, ...primary_icons_medium }\n\nexport { DefaultIconSize }\n\nexport default class IconPrimary extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n /**\n * Use spread, so generateTypes.js makes a valid copy to create the types\n */\n ...iconPropTypes,\n }\n static defaultProps = { ...DefaultIcon.defaultProps }\n\n static getIcon(props) {\n return DefaultIcon.getIcon(props)\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n IconPrimary.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.Icon,\n this.context.IconPrimary\n )\n\n const { icon, size, wrapperParams, iconParams, alt } = prepareIcon(\n props,\n this.context\n )\n\n const IconContainer = prerenderIcon({\n icon,\n size,\n alt,\n listOfIcons: icons,\n })\n\n if (!IconContainer) return <></>\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n }\n}\n\nIconPrimary._supportsSpacingProps = true\n"],"mappings":";;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AAGzB,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,sCAAsC,QAAQ,+BAA+B;AACtF,OAAOC,WAAW,IAChBC,aAAa,EACbC,eAAe,EACfC,aAAa,EACbC,WAAW,QACN,cAAc;AAGrB,OAAO,KAAKC,aAAa,MAAM,+BAA+B;AAC9D,OAAO,KAAKC,oBAAoB,MAAM,sCAAsC;AAE5E,MAAMC,KAAK,GAAAC,aAAA,CAAAA,aAAA,KAAQH,aAAa,GAAKC,oBAAoB,CAAE;AAE3D,SAASJ,eAAe;AAExB,eAAe,MAAMO,WAAW,SAASZ,KAAK,CAACa,aAAa,CAAC;EAW3D,OAAOC,OAAOA,CAACC,KAAK,EAAE;IACpB,OAAOZ,WAAW,CAACW,OAAO,CAACC,KAAK,CAAC;EACnC;EAEAC,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA;IAEP,MAAMF,KAAK,GAAGb,sCAAsC,CAClD,IAAI,CAACa,KAAK,EACVH,WAAW,CAACM,YAAY,EACxB;MAAEC,QAAQ,GAAAF,aAAA,GAAE,IAAI,CAACG,OAAO,cAAAH,aAAA,uBAAZA,aAAA,CAAcE;IAAS,CAAC,EACpC,IAAI,CAACC,OAAO,CAACC,IAAI,EACjB,IAAI,CAACD,OAAO,CAACR,WACf,CAAC;IAED,MAAM;MAAEU,IAAI;MAAEC,IAAI;MAAEC,aAAa;MAAEC,UAAU;MAAEC;IAAI,CAAC,GAAGnB,WAAW,CAChEQ,KAAK,EACL,IAAI,CAACK,OACP,CAAC;IAED,MAAMO,aAAa,GAAGrB,aAAa,CAAC;MAClCgB,IAAI;MACJC,IAAI;MACJG,GAAG;MACHE,WAAW,EAAElB;IACf,CAAC,CAAC;IAEF,IAAI,CAACiB,aAAa,EAAE,OAAO3B,KAAA,CAAA6B,aAAA,CAAA7B,KAAA,CAAA8B,QAAA,MAAI,CAAC;IAEhC,OACE9B,KAAA,CAAA6B,aAAA,SAAUL,aAAa,EACrBxB,KAAA,CAAA6B,aAAA,CAACF,aAAa,EAAKF,UAAa,CAC5B,CAAC;EAEX;AACF;AAACM,eAAA,CA7CoBnB,WAAW,iBACTX,OAAO;AAAA8B,eAAA,CADTnB,WAAW,kBAAAD,aAAA,KASHR,WAAW,CAACe,YAAY;AAAAc,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAThCtB,WAAW,CAGvBuB,SAAS,GAAAxB,aAAA,KAIXP,aAAa;AAwCpBQ,WAAW,CAACwB,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"IconPrimary.js","names":["React","useContext","Context","extendPropsWithContext","prerenderIcon","prepareIcon","primary_icons","primary_icons_medium","icons","_objectSpread","IconPrimary","localProps","context","props","skeleton","Icon","icon","size","wrapperParams","iconParams","alt","IconContainer","listOfIcons","createElement","Fragment","_supportsSpacingProps"],"sources":["../../../../src/components/icon-primary/IconPrimary.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport Context from '../../shared/Context'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport {\n prerenderIcon,\n prepareIcon,\n IconAllProps,\n IconProps,\n} from '../icon/Icon'\n\n// NB: The path reflects the rollup.config.js -> external: '../../icons/dnb/primary_icons'\nimport * as primary_icons from '../../icons/dnb/primary_icons'\nimport * as primary_icons_medium from '../../icons/dnb/primary_icons_medium'\n\nexport * from '../icon/Icon'\n\nexport type IconPrimaryProps = IconProps\nexport type IconPrimaryAllProps = IconAllProps\n\nconst icons = { ...primary_icons, ...primary_icons_medium }\n\nexport default function IconPrimary(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon,\n context.IconPrimary\n )\n\n const { icon, size, wrapperParams, iconParams, alt } = prepareIcon(\n props,\n context\n )\n\n const IconContainer = prerenderIcon({\n icon,\n size,\n alt,\n listOfIcons: icons,\n })\n\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nIconPrimary._supportsSpacingProps = true\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SACEC,aAAa,EACbC,WAAW,QAGN,cAAc;AAGrB,OAAO,KAAKC,aAAa,MAAM,+BAA+B;AAC9D,OAAO,KAAKC,oBAAoB,MAAM,sCAAsC;AAE5E,cAAc,cAAc;AAK5B,MAAMC,KAAK,GAAAC,aAAA,CAAAA,aAAA,KAAQH,aAAa,GAAKC,oBAAoB,CAAE;AAE3D,eAAe,SAASG,WAAWA,CAACC,UAAwB,EAAE;EAC5D,MAAMC,OAAO,GAAGX,UAAU,CAACC,OAAO,CAAC;EAGnC,MAAMW,KAAK,GAAGV,sBAAsB,CAClCQ,UAAU,EACV,CAAC,CAAC,EACF;IAAEG,QAAQ,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE;EAAS,CAAC,EAC/BF,OAAO,CAACG,IAAI,EACZH,OAAO,CAACF,WACV,CAAC;EAED,MAAM;IAAEM,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,UAAU;IAAEC;EAAI,CAAC,GAAGf,WAAW,CAChEQ,KAAK,EACLD,OACF,CAAC;EAED,MAAMS,aAAa,GAAGjB,aAAa,CAAC;IAClCY,IAAI;IACJC,IAAI;IACJG,GAAG;IACHE,WAAW,EAAEd;EACf,CAAC,CAAC;EAEF,IAAI,CAACa,aAAa,EAAE;IAClB,OAAOrB,KAAA,CAAAuB,aAAA,CAAAvB,KAAA,CAAAwB,QAAA,MAAI,CAAC;EACd;EAEA,OACExB,KAAA,CAAAuB,aAAA,SAAUL,aAAa,EACrBlB,KAAA,CAAAuB,aAAA,CAACF,aAAa,EAAKF,UAAa,CAC5B,CAAC;AAEX;AAEAT,WAAW,CAACe,qBAAqB,GAAG,IAAI"}