@dnb/eufemia 10.55.1 → 10.57.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 (1344) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/cjs/components/accordion/Accordion.d.ts +2 -2
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionDocs.js +1 -1
  5. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  6. package/cjs/components/anchor/style/anchor-mixins.scss +3 -3
  7. package/cjs/components/anchor/style/dnb-anchor.css +6 -6
  8. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  12. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  13. package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
  14. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  15. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +2 -2
  16. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  17. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +2 -2
  18. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  20. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  21. package/cjs/components/button/style/themes/button-mixins.scss +2 -0
  22. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  23. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  24. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  25. package/cjs/components/card/Card.d.ts +2 -1
  26. package/cjs/components/card/Card.js +3 -1
  27. package/cjs/components/card/Card.js.map +1 -1
  28. package/cjs/components/card/CardDocs.js +5 -0
  29. package/cjs/components/card/CardDocs.js.map +1 -1
  30. package/cjs/components/card/style/dnb-card.css +23 -2
  31. package/cjs/components/card/style/dnb-card.min.css +1 -1
  32. package/cjs/components/card/style/dnb-card.scss +38 -3
  33. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  34. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  35. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  36. package/cjs/components/date-picker/DatePicker.d.ts +248 -65
  37. package/cjs/components/date-picker/DatePicker.js +125 -135
  38. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  39. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerCalc.d.ts +2 -2
  41. package/cjs/components/date-picker/DatePickerCalc.js +6 -6
  42. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  43. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  44. package/cjs/components/date-picker/DatePickerCalendar.js +9 -9
  45. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  46. package/cjs/components/date-picker/DatePickerContext.d.ts +2 -2
  47. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  48. package/cjs/components/date-picker/DatePickerDocs.d.ts +3 -0
  49. package/cjs/components/date-picker/DatePickerDocs.js +284 -0
  50. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -0
  51. package/cjs/components/date-picker/DatePickerFooter.js +18 -18
  52. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  53. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -3
  54. package/cjs/components/date-picker/DatePickerInput.js +18 -18
  55. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  56. package/cjs/components/date-picker/DatePickerProvider.d.ts +2 -2
  57. package/cjs/components/date-picker/DatePickerProvider.js +25 -25
  58. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  59. package/cjs/components/date-picker/hooks/useDates.js +8 -8
  60. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  61. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  62. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  63. package/cjs/components/form-label/FormLabel.js +26 -3
  64. package/cjs/components/form-label/FormLabel.js.map +1 -1
  65. package/cjs/components/help-button/HelpButtonInline.d.ts +40 -0
  66. package/cjs/components/help-button/HelpButtonInline.js +188 -0
  67. package/cjs/components/help-button/HelpButtonInline.js.map +1 -0
  68. package/cjs/components/help-button/style/dnb-help-button-inline.css +99 -0
  69. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  70. package/cjs/components/help-button/style/dnb-help-button-inline.scss +123 -0
  71. package/cjs/components/help-button/style/dnb-help-button.css +105 -1
  72. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  73. package/cjs/components/help-button/style/dnb-help-button.scss +3 -2
  74. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  75. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  76. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  77. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  78. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  79. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  80. package/cjs/components/icon/Icon.js +5 -0
  81. package/cjs/components/icon/Icon.js.map +1 -1
  82. package/cjs/components/list-format/ListFormat.d.ts +6 -4
  83. package/cjs/components/list-format/ListFormat.js +16 -9
  84. package/cjs/components/list-format/ListFormat.js.map +1 -1
  85. package/cjs/components/list-format/ListFormatDocs.js +18 -4
  86. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  87. package/cjs/components/modal/ModalContent.js +4 -2
  88. package/cjs/components/modal/ModalContent.js.map +1 -1
  89. package/cjs/components/modal/parts/ModalHeader.d.ts +2 -1
  90. package/cjs/components/modal/parts/ModalHeader.js.map +1 -1
  91. package/cjs/components/section/Section.d.ts +5 -0
  92. package/cjs/components/section/Section.js +4 -3
  93. package/cjs/components/section/Section.js.map +1 -1
  94. package/cjs/components/section/SectionDocs.d.ts +2 -0
  95. package/cjs/components/section/SectionDocs.js +65 -0
  96. package/cjs/components/section/SectionDocs.js.map +1 -0
  97. package/cjs/components/section/style/dnb-section.css +12 -0
  98. package/cjs/components/section/style/dnb-section.min.css +3 -3
  99. package/cjs/components/section/style/dnb-section.scss +22 -0
  100. package/cjs/components/table/style/dnb-table.css +8 -0
  101. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  102. package/cjs/components/tabs/style/dnb-tabs.css +2 -0
  103. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  104. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  105. package/cjs/components/tag/style/dnb-tag.css +2 -0
  106. package/cjs/components/textarea/Textarea.js +1 -1
  107. package/cjs/components/textarea/Textarea.js.map +1 -1
  108. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  109. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  110. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  111. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  112. package/cjs/components/upload/style/dnb-upload.css +3 -2
  113. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  114. package/cjs/components/upload/style/dnb-upload.scss +3 -2
  115. package/cjs/core/jest/jestSetupScreenshots.css +11 -1
  116. package/cjs/elements/ElementDocs.d.ts +1 -0
  117. package/cjs/elements/ElementDocs.js +20 -12
  118. package/cjs/elements/ElementDocs.js.map +1 -1
  119. package/cjs/elements/lib.d.ts +14 -8
  120. package/cjs/elements/lists/Dl.d.ts +1 -1
  121. package/cjs/elements/lists/Dl.js.map +1 -1
  122. package/cjs/elements/lists/DlDocs.js +1 -1
  123. package/cjs/elements/lists/DlDocs.js.map +1 -1
  124. package/cjs/elements/lists/Li.d.ts +1 -1
  125. package/cjs/elements/lists/Li.js +4 -4
  126. package/cjs/elements/lists/Li.js.map +1 -1
  127. package/cjs/elements/lists/Ol.d.ts +2 -2
  128. package/cjs/elements/lists/Ol.js +3 -3
  129. package/cjs/elements/lists/Ol.js.map +1 -1
  130. package/cjs/elements/lists/OlDocs.js +1 -1
  131. package/cjs/elements/lists/OlDocs.js.map +1 -1
  132. package/cjs/elements/lists/Ul.d.ts +2 -2
  133. package/cjs/elements/lists/Ul.js +3 -3
  134. package/cjs/elements/lists/Ul.js.map +1 -1
  135. package/cjs/elements/lists/UlDocs.js +1 -1
  136. package/cjs/elements/lists/UlDocs.js.map +1 -1
  137. package/cjs/elements/span/Span.d.ts +13 -4
  138. package/cjs/elements/span/Span.js +3 -3
  139. package/cjs/elements/span/Span.js.map +1 -1
  140. package/cjs/elements/span/SpanDocs.d.ts +2 -0
  141. package/cjs/elements/span/SpanDocs.js +15 -0
  142. package/cjs/elements/span/SpanDocs.js.map +1 -0
  143. package/cjs/elements/typography/Ingress.js +1 -1
  144. package/cjs/elements/typography/Ingress.js.map +1 -1
  145. package/cjs/elements/typography/P.d.ts +18 -20
  146. package/cjs/elements/typography/P.js +62 -21
  147. package/cjs/elements/typography/P.js.map +1 -1
  148. package/cjs/elements/typography/PDocs.js +14 -23
  149. package/cjs/elements/typography/PDocs.js.map +1 -1
  150. package/cjs/elements/typography/Typography.d.ts +55 -0
  151. package/cjs/elements/typography/Typography.js +37 -0
  152. package/cjs/elements/typography/Typography.js.map +1 -0
  153. package/cjs/elements/typography/TypographyDocs.d.ts +2 -0
  154. package/cjs/elements/typography/TypographyDocs.js +55 -0
  155. package/cjs/elements/typography/TypographyDocs.js.map +1 -0
  156. package/cjs/elements/typography/style/_dnb-t.scss +93 -0
  157. package/cjs/elements/typography/style/dnb-typography.scss +2 -1
  158. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +0 -1
  159. package/cjs/elements/typography/style/typography-mixins.scss +25 -15
  160. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
  161. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  162. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  163. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  164. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  165. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  166. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  167. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  168. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  169. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  170. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  171. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  172. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  173. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  174. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  175. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  176. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +16 -9
  177. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  178. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  179. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  180. package/cjs/extensions/forms/Field/Date/Date.d.ts +17 -4
  181. package/cjs/extensions/forms/Field/Date/Date.js +62 -34
  182. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  183. package/cjs/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  184. package/cjs/extensions/forms/Field/Date/DateDocs.js +52 -13
  185. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  186. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  187. package/cjs/extensions/forms/Field/Expiry/Expiry.js +2 -7
  188. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  189. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  190. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  191. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  192. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  193. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  194. package/cjs/extensions/forms/Field/Number/Number.js +2 -9
  195. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  196. package/cjs/extensions/forms/Field/Number/NumberDocs.js +0 -5
  197. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  198. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  199. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  200. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  201. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  202. package/cjs/extensions/forms/Field/Option/Option.js +1 -1
  203. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  204. package/cjs/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  205. package/cjs/extensions/forms/Field/Option/OptionDocs.js +37 -0
  206. package/cjs/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  207. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  208. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  209. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  210. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  211. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  212. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -2
  213. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  214. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  215. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  216. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  217. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +12 -13
  218. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  219. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  220. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  221. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -1
  222. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  223. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +0 -4
  224. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  225. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +13 -5
  226. package/cjs/extensions/forms/Field/Selection/Selection.js +23 -24
  227. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  228. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  229. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  230. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  231. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  232. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  233. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  234. package/cjs/extensions/forms/Field/Slider/Slider.js +0 -5
  235. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  236. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  237. package/cjs/extensions/forms/Field/String/String.js +0 -4
  238. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  239. package/cjs/extensions/forms/Field/String/StringDocs.js +0 -5
  240. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  241. package/cjs/extensions/forms/Field/String/style/dnb-string.css +11 -0
  242. package/cjs/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  243. package/cjs/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  244. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  245. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -14
  246. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  247. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  248. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  249. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  250. package/cjs/extensions/forms/Field/Upload/Upload.js +48 -11
  251. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  252. package/cjs/extensions/forms/Field/Upload/UploadDocs.js +7 -1
  253. package/cjs/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  254. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  255. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  256. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  257. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  258. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +47 -31
  259. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  260. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -2
  261. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  262. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  263. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  264. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +82 -42
  265. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  266. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +132 -74
  267. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  268. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  269. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  270. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  271. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  272. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  273. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +4 -6
  274. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  275. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +17 -9
  276. package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -0
  277. package/cjs/extensions/forms/Form/Card/Card.js +19 -0
  278. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -0
  279. package/cjs/extensions/forms/Form/Card/CardDocs.d.ts +2 -0
  280. package/cjs/extensions/forms/Form/Card/CardDocs.js +27 -0
  281. package/cjs/extensions/forms/Form/Card/CardDocs.js.map +1 -0
  282. package/cjs/extensions/forms/Form/Card/index.d.ts +2 -0
  283. package/cjs/extensions/forms/Form/Card/index.js +27 -0
  284. package/cjs/extensions/forms/Form/Card/index.js.map +1 -0
  285. package/cjs/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  286. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +19 -4
  287. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  288. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  289. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  290. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  291. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  292. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  293. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  294. package/cjs/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  295. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +19 -4
  296. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  297. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  298. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  299. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  300. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  301. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +20 -7
  302. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  303. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  304. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  305. package/cjs/extensions/forms/Form/index.js +7 -0
  306. package/cjs/extensions/forms/Form/index.js.map +1 -1
  307. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +1 -1
  308. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  309. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -1
  310. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  311. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  312. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +1 -1
  313. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +2 -1
  314. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  315. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +2 -1
  316. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js +2 -1
  317. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -1
  318. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  319. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  320. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  321. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  322. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  323. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  324. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  325. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  326. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  327. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  328. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -7
  329. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  330. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +4 -4
  331. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  332. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  333. package/cjs/extensions/forms/hooks/useFieldProps.js +62 -37
  334. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  335. package/cjs/extensions/forms/style/dnb-forms.css +127 -61
  336. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  337. package/cjs/extensions/forms/types.d.ts +5 -7
  338. package/cjs/extensions/forms/types.js.map +1 -1
  339. package/cjs/extensions/payment-card/style/dnb-payment-card.css +1 -1
  340. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  341. package/cjs/fragments/drawer-list/DrawerList.d.ts +22 -21
  342. package/cjs/fragments/drawer-list/DrawerList.js +14 -5
  343. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  344. package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +1 -0
  345. package/cjs/fragments/drawer-list/DrawerListDocs.js +39 -6
  346. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  347. package/cjs/fragments/drawer-list/DrawerListHelpers.js +13 -6
  348. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  349. package/cjs/fragments/drawer-list/DrawerListProvider.js +3 -0
  350. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  351. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +11 -0
  352. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +26 -19
  353. package/cjs/shared/Context.d.ts +2 -2
  354. package/cjs/shared/Context.js.map +1 -1
  355. package/cjs/shared/Eufemia.d.ts +1 -1
  356. package/cjs/shared/Eufemia.js +2 -2
  357. package/cjs/shared/Eufemia.js.map +1 -1
  358. package/cjs/shared/VisibilityByTheme.d.ts +5 -2
  359. package/cjs/shared/VisibilityByTheme.js +12 -0
  360. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  361. package/cjs/shared/component-helper.js.map +1 -1
  362. package/cjs/shared/locales/en-GB.d.ts +16 -16
  363. package/cjs/shared/locales/en-GB.js +16 -16
  364. package/cjs/shared/locales/en-GB.js.map +1 -1
  365. package/cjs/shared/locales/en-US.d.ts +17 -17
  366. package/cjs/shared/locales/en-US.js +3 -3
  367. package/cjs/shared/locales/en-US.js.map +1 -1
  368. package/cjs/shared/locales/index.d.ts +34 -32
  369. package/cjs/shared/locales/index.js.map +1 -1
  370. package/cjs/shared/locales/nb-NO.d.ts +16 -16
  371. package/cjs/shared/locales/nb-NO.js +16 -16
  372. package/cjs/shared/locales/nb-NO.js.map +1 -1
  373. package/cjs/style/core/scopes.scss +1 -1
  374. package/cjs/style/dnb-ui-basis.css +1 -1
  375. package/cjs/style/dnb-ui-basis.min.css +1 -1
  376. package/cjs/style/dnb-ui-body.css +1 -1
  377. package/cjs/style/dnb-ui-body.min.css +1 -1
  378. package/cjs/style/dnb-ui-components.css +397 -72
  379. package/cjs/style/dnb-ui-components.min.css +7 -5
  380. package/cjs/style/dnb-ui-components.scss +1 -0
  381. package/cjs/style/dnb-ui-core.css +1 -1
  382. package/cjs/style/dnb-ui-core.min.css +1 -1
  383. package/cjs/style/dnb-ui-elements.css +91 -6
  384. package/cjs/style/dnb-ui-elements.min.css +1 -1
  385. package/cjs/style/dnb-ui-extensions.css +128 -62
  386. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  387. package/cjs/style/dnb-ui-forms.css +127 -61
  388. package/cjs/style/dnb-ui-forms.min.css +1 -1
  389. package/cjs/style/dnb-ui-forms.scss +2 -0
  390. package/cjs/style/dnb-ui-fragments.css +9 -0
  391. package/cjs/style/dnb-ui-fragments.min.css +3 -1
  392. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +92 -6
  393. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  394. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +544 -140
  395. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +12 -10
  396. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +91 -6
  397. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  398. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +130 -64
  399. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  400. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +129 -63
  401. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  402. package/cjs/style/themes/theme-eiendom/properties.d.ts +2 -1
  403. package/cjs/style/themes/theme-eiendom/properties.js +2 -1
  404. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  405. package/cjs/style/themes/theme-sbanken/fonts.scss +7 -3
  406. package/cjs/style/themes/theme-sbanken/properties.d.ts +2 -1
  407. package/cjs/style/themes/theme-sbanken/properties.js +2 -1
  408. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  409. package/cjs/style/themes/theme-sbanken/properties.scss +1 -1
  410. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +101 -10
  411. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  412. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +577 -169
  413. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -9
  414. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  415. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +91 -7
  416. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  417. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +129 -63
  418. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  419. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +128 -62
  420. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  421. package/cjs/style/themes/theme-sbanken/theme-mapping.scss +1 -0
  422. package/cjs/style/themes/theme-ui/properties.d.ts +2 -1
  423. package/cjs/style/themes/theme-ui/properties.js +2 -1
  424. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  425. package/cjs/style/themes/theme-ui/properties.scss +1 -0
  426. package/cjs/style/themes/theme-ui/ui-theme-basis.css +92 -6
  427. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  428. package/cjs/style/themes/theme-ui/ui-theme-components.css +544 -140
  429. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +13 -11
  430. package/cjs/style/themes/theme-ui/ui-theme-elements.css +91 -6
  431. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  432. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +130 -64
  433. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  434. package/cjs/style/themes/theme-ui/ui-theme-forms.css +129 -63
  435. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  436. package/cjs/style/themes/theme-ui/ui-theme-properties.css +1 -0
  437. package/cjs/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  438. package/cjs/style/themes/theme-ui/ui-theme-tags.css +12 -8
  439. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  440. package/components/accordion/Accordion.d.ts +2 -2
  441. package/components/accordion/Accordion.js.map +1 -1
  442. package/components/accordion/AccordionDocs.js +1 -1
  443. package/components/accordion/AccordionDocs.js.map +1 -1
  444. package/components/anchor/style/anchor-mixins.scss +3 -3
  445. package/components/anchor/style/dnb-anchor.css +6 -6
  446. package/components/anchor/style/dnb-anchor.min.css +1 -1
  447. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  448. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  449. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  450. package/components/autocomplete/Autocomplete.js.map +1 -1
  451. package/components/autocomplete/AutocompleteDocs.js +1 -1
  452. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  453. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +2 -2
  454. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  455. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +2 -2
  456. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  457. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  458. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  459. package/components/button/style/themes/button-mixins.scss +2 -0
  460. package/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  461. package/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  462. package/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  463. package/components/card/Card.d.ts +2 -1
  464. package/components/card/Card.js +3 -1
  465. package/components/card/Card.js.map +1 -1
  466. package/components/card/CardDocs.js +5 -0
  467. package/components/card/CardDocs.js.map +1 -1
  468. package/components/card/style/dnb-card.css +23 -2
  469. package/components/card/style/dnb-card.min.css +1 -1
  470. package/components/card/style/dnb-card.scss +38 -3
  471. package/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  472. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  473. package/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  474. package/components/date-picker/DatePicker.d.ts +248 -65
  475. package/components/date-picker/DatePicker.js +126 -136
  476. package/components/date-picker/DatePicker.js.map +1 -1
  477. package/components/date-picker/DatePickerAddon.js.map +1 -1
  478. package/components/date-picker/DatePickerCalc.d.ts +2 -2
  479. package/components/date-picker/DatePickerCalc.js +6 -6
  480. package/components/date-picker/DatePickerCalc.js.map +1 -1
  481. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  482. package/components/date-picker/DatePickerCalendar.js +9 -9
  483. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  484. package/components/date-picker/DatePickerContext.d.ts +2 -2
  485. package/components/date-picker/DatePickerContext.js.map +1 -1
  486. package/components/date-picker/DatePickerDocs.d.ts +3 -0
  487. package/components/date-picker/DatePickerDocs.js +276 -0
  488. package/components/date-picker/DatePickerDocs.js.map +1 -0
  489. package/components/date-picker/DatePickerFooter.js +18 -18
  490. package/components/date-picker/DatePickerFooter.js.map +1 -1
  491. package/components/date-picker/DatePickerInput.d.ts +3 -3
  492. package/components/date-picker/DatePickerInput.js +18 -18
  493. package/components/date-picker/DatePickerInput.js.map +1 -1
  494. package/components/date-picker/DatePickerProvider.d.ts +2 -2
  495. package/components/date-picker/DatePickerProvider.js +25 -25
  496. package/components/date-picker/DatePickerProvider.js.map +1 -1
  497. package/components/date-picker/hooks/useDates.js +8 -8
  498. package/components/date-picker/hooks/useDates.js.map +1 -1
  499. package/components/dropdown/Dropdown.js.map +1 -1
  500. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  501. package/components/form-label/FormLabel.js +26 -3
  502. package/components/form-label/FormLabel.js.map +1 -1
  503. package/components/help-button/HelpButtonInline.d.ts +40 -0
  504. package/components/help-button/HelpButtonInline.js +178 -0
  505. package/components/help-button/HelpButtonInline.js.map +1 -0
  506. package/components/help-button/style/dnb-help-button-inline.css +99 -0
  507. package/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  508. package/components/help-button/style/dnb-help-button-inline.scss +123 -0
  509. package/components/help-button/style/dnb-help-button.css +105 -1
  510. package/components/help-button/style/dnb-help-button.min.css +1 -1
  511. package/components/help-button/style/dnb-help-button.scss +3 -2
  512. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  513. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  514. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  515. package/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  516. package/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  517. package/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  518. package/components/icon/Icon.js +5 -0
  519. package/components/icon/Icon.js.map +1 -1
  520. package/components/list-format/ListFormat.d.ts +6 -4
  521. package/components/list-format/ListFormat.js +15 -9
  522. package/components/list-format/ListFormat.js.map +1 -1
  523. package/components/list-format/ListFormatDocs.js +15 -4
  524. package/components/list-format/ListFormatDocs.js.map +1 -1
  525. package/components/modal/ModalContent.js +4 -2
  526. package/components/modal/ModalContent.js.map +1 -1
  527. package/components/modal/parts/ModalHeader.d.ts +2 -1
  528. package/components/modal/parts/ModalHeader.js.map +1 -1
  529. package/components/section/Section.d.ts +5 -0
  530. package/components/section/Section.js +4 -3
  531. package/components/section/Section.js.map +1 -1
  532. package/components/section/SectionDocs.d.ts +2 -0
  533. package/components/section/SectionDocs.js +58 -0
  534. package/components/section/SectionDocs.js.map +1 -0
  535. package/components/section/style/dnb-section.css +12 -0
  536. package/components/section/style/dnb-section.min.css +3 -3
  537. package/components/section/style/dnb-section.scss +22 -0
  538. package/components/table/style/dnb-table.css +8 -0
  539. package/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  540. package/components/tabs/style/dnb-tabs.css +2 -0
  541. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  542. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  543. package/components/tag/style/dnb-tag.css +2 -0
  544. package/components/textarea/Textarea.js +1 -1
  545. package/components/textarea/Textarea.js.map +1 -1
  546. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  547. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  548. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  549. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  550. package/components/upload/style/dnb-upload.css +3 -2
  551. package/components/upload/style/dnb-upload.min.css +1 -1
  552. package/components/upload/style/dnb-upload.scss +3 -2
  553. package/core/jest/jestSetupScreenshots.css +11 -1
  554. package/elements/ElementDocs.d.ts +1 -0
  555. package/elements/ElementDocs.js +16 -11
  556. package/elements/ElementDocs.js.map +1 -1
  557. package/elements/lib.d.ts +14 -8
  558. package/elements/lists/Dl.d.ts +1 -1
  559. package/elements/lists/Dl.js.map +1 -1
  560. package/elements/lists/DlDocs.js +2 -2
  561. package/elements/lists/DlDocs.js.map +1 -1
  562. package/elements/lists/Li.d.ts +1 -1
  563. package/elements/lists/Li.js +4 -4
  564. package/elements/lists/Li.js.map +1 -1
  565. package/elements/lists/Ol.d.ts +2 -2
  566. package/elements/lists/Ol.js +3 -3
  567. package/elements/lists/Ol.js.map +1 -1
  568. package/elements/lists/OlDocs.js +2 -2
  569. package/elements/lists/OlDocs.js.map +1 -1
  570. package/elements/lists/Ul.d.ts +2 -2
  571. package/elements/lists/Ul.js +3 -3
  572. package/elements/lists/Ul.js.map +1 -1
  573. package/elements/lists/UlDocs.js +2 -2
  574. package/elements/lists/UlDocs.js.map +1 -1
  575. package/elements/span/Span.d.ts +13 -4
  576. package/elements/span/Span.js +3 -3
  577. package/elements/span/Span.js.map +1 -1
  578. package/elements/span/SpanDocs.d.ts +2 -0
  579. package/elements/span/SpanDocs.js +6 -0
  580. package/elements/span/SpanDocs.js.map +1 -0
  581. package/elements/typography/Ingress.js +1 -1
  582. package/elements/typography/Ingress.js.map +1 -1
  583. package/elements/typography/P.d.ts +18 -20
  584. package/elements/typography/P.js +57 -20
  585. package/elements/typography/P.js.map +1 -1
  586. package/elements/typography/PDocs.js +12 -23
  587. package/elements/typography/PDocs.js.map +1 -1
  588. package/elements/typography/Typography.d.ts +55 -0
  589. package/elements/typography/Typography.js +28 -0
  590. package/elements/typography/Typography.js.map +1 -0
  591. package/elements/typography/TypographyDocs.d.ts +2 -0
  592. package/elements/typography/TypographyDocs.js +48 -0
  593. package/elements/typography/TypographyDocs.js.map +1 -0
  594. package/elements/typography/style/_dnb-t.scss +93 -0
  595. package/elements/typography/style/dnb-typography.scss +2 -1
  596. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +0 -1
  597. package/elements/typography/style/typography-mixins.scss +25 -15
  598. package/es/components/accordion/Accordion.d.ts +2 -2
  599. package/es/components/accordion/Accordion.js.map +1 -1
  600. package/es/components/accordion/AccordionDocs.js +1 -1
  601. package/es/components/accordion/AccordionDocs.js.map +1 -1
  602. package/es/components/anchor/style/anchor-mixins.scss +3 -3
  603. package/es/components/anchor/style/dnb-anchor.css +6 -6
  604. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  605. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  606. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  607. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  608. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  609. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  610. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  611. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +2 -2
  612. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  613. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +2 -2
  614. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  615. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  616. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  617. package/es/components/button/style/themes/button-mixins.scss +2 -0
  618. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  619. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  620. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  621. package/es/components/card/Card.d.ts +2 -1
  622. package/es/components/card/Card.js +3 -1
  623. package/es/components/card/Card.js.map +1 -1
  624. package/es/components/card/CardDocs.js +5 -0
  625. package/es/components/card/CardDocs.js.map +1 -1
  626. package/es/components/card/style/dnb-card.css +23 -2
  627. package/es/components/card/style/dnb-card.min.css +1 -1
  628. package/es/components/card/style/dnb-card.scss +38 -3
  629. package/es/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  630. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  631. package/es/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  632. package/es/components/date-picker/DatePicker.d.ts +248 -65
  633. package/es/components/date-picker/DatePicker.js +126 -136
  634. package/es/components/date-picker/DatePicker.js.map +1 -1
  635. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  636. package/es/components/date-picker/DatePickerCalc.d.ts +2 -2
  637. package/es/components/date-picker/DatePickerCalc.js +6 -6
  638. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  639. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  640. package/es/components/date-picker/DatePickerCalendar.js +9 -9
  641. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  642. package/es/components/date-picker/DatePickerContext.d.ts +2 -2
  643. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  644. package/es/components/date-picker/DatePickerDocs.d.ts +3 -0
  645. package/es/components/date-picker/DatePickerDocs.js +276 -0
  646. package/es/components/date-picker/DatePickerDocs.js.map +1 -0
  647. package/es/components/date-picker/DatePickerFooter.js +18 -18
  648. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  649. package/es/components/date-picker/DatePickerInput.d.ts +3 -3
  650. package/es/components/date-picker/DatePickerInput.js +18 -18
  651. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  652. package/es/components/date-picker/DatePickerProvider.d.ts +2 -2
  653. package/es/components/date-picker/DatePickerProvider.js +25 -25
  654. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  655. package/es/components/date-picker/hooks/useDates.js +8 -8
  656. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  657. package/es/components/dropdown/Dropdown.js.map +1 -1
  658. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  659. package/es/components/form-label/FormLabel.js +26 -3
  660. package/es/components/form-label/FormLabel.js.map +1 -1
  661. package/es/components/help-button/HelpButtonInline.d.ts +40 -0
  662. package/es/components/help-button/HelpButtonInline.js +177 -0
  663. package/es/components/help-button/HelpButtonInline.js.map +1 -0
  664. package/es/components/help-button/style/dnb-help-button-inline.css +99 -0
  665. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  666. package/es/components/help-button/style/dnb-help-button-inline.scss +123 -0
  667. package/es/components/help-button/style/dnb-help-button.css +105 -1
  668. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  669. package/es/components/help-button/style/dnb-help-button.scss +3 -2
  670. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  671. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  672. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  673. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  674. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  675. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  676. package/es/components/icon/Icon.js +5 -0
  677. package/es/components/icon/Icon.js.map +1 -1
  678. package/es/components/list-format/ListFormat.d.ts +6 -4
  679. package/es/components/list-format/ListFormat.js +15 -9
  680. package/es/components/list-format/ListFormat.js.map +1 -1
  681. package/es/components/list-format/ListFormatDocs.js +15 -4
  682. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  683. package/es/components/modal/ModalContent.js +4 -2
  684. package/es/components/modal/ModalContent.js.map +1 -1
  685. package/es/components/modal/parts/ModalHeader.d.ts +2 -1
  686. package/es/components/modal/parts/ModalHeader.js.map +1 -1
  687. package/es/components/section/Section.d.ts +5 -0
  688. package/es/components/section/Section.js +4 -3
  689. package/es/components/section/Section.js.map +1 -1
  690. package/es/components/section/SectionDocs.d.ts +2 -0
  691. package/es/components/section/SectionDocs.js +58 -0
  692. package/es/components/section/SectionDocs.js.map +1 -0
  693. package/es/components/section/style/dnb-section.css +12 -0
  694. package/es/components/section/style/dnb-section.min.css +3 -3
  695. package/es/components/section/style/dnb-section.scss +22 -0
  696. package/es/components/table/style/dnb-table.css +8 -0
  697. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  698. package/es/components/tabs/style/dnb-tabs.css +2 -0
  699. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  700. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  701. package/es/components/tag/style/dnb-tag.css +2 -0
  702. package/es/components/textarea/Textarea.js +1 -1
  703. package/es/components/textarea/Textarea.js.map +1 -1
  704. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  705. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  706. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  707. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  708. package/es/components/upload/style/dnb-upload.css +3 -2
  709. package/es/components/upload/style/dnb-upload.min.css +1 -1
  710. package/es/components/upload/style/dnb-upload.scss +3 -2
  711. package/es/core/jest/jestSetupScreenshots.css +11 -1
  712. package/es/elements/ElementDocs.d.ts +1 -0
  713. package/es/elements/ElementDocs.js +16 -11
  714. package/es/elements/ElementDocs.js.map +1 -1
  715. package/es/elements/lib.d.ts +14 -8
  716. package/es/elements/lists/Dl.d.ts +1 -1
  717. package/es/elements/lists/Dl.js.map +1 -1
  718. package/es/elements/lists/DlDocs.js +2 -2
  719. package/es/elements/lists/DlDocs.js.map +1 -1
  720. package/es/elements/lists/Li.d.ts +1 -1
  721. package/es/elements/lists/Li.js +4 -4
  722. package/es/elements/lists/Li.js.map +1 -1
  723. package/es/elements/lists/Ol.d.ts +2 -2
  724. package/es/elements/lists/Ol.js +3 -3
  725. package/es/elements/lists/Ol.js.map +1 -1
  726. package/es/elements/lists/OlDocs.js +2 -2
  727. package/es/elements/lists/OlDocs.js.map +1 -1
  728. package/es/elements/lists/Ul.d.ts +2 -2
  729. package/es/elements/lists/Ul.js +3 -3
  730. package/es/elements/lists/Ul.js.map +1 -1
  731. package/es/elements/lists/UlDocs.js +2 -2
  732. package/es/elements/lists/UlDocs.js.map +1 -1
  733. package/es/elements/span/Span.d.ts +13 -4
  734. package/es/elements/span/Span.js +3 -3
  735. package/es/elements/span/Span.js.map +1 -1
  736. package/es/elements/span/SpanDocs.d.ts +2 -0
  737. package/es/elements/span/SpanDocs.js +6 -0
  738. package/es/elements/span/SpanDocs.js.map +1 -0
  739. package/es/elements/typography/Ingress.js +1 -1
  740. package/es/elements/typography/Ingress.js.map +1 -1
  741. package/es/elements/typography/P.d.ts +18 -20
  742. package/es/elements/typography/P.js +57 -20
  743. package/es/elements/typography/P.js.map +1 -1
  744. package/es/elements/typography/PDocs.js +12 -23
  745. package/es/elements/typography/PDocs.js.map +1 -1
  746. package/es/elements/typography/Typography.d.ts +55 -0
  747. package/es/elements/typography/Typography.js +28 -0
  748. package/es/elements/typography/Typography.js.map +1 -0
  749. package/es/elements/typography/TypographyDocs.d.ts +2 -0
  750. package/es/elements/typography/TypographyDocs.js +48 -0
  751. package/es/elements/typography/TypographyDocs.js.map +1 -0
  752. package/es/elements/typography/style/_dnb-t.scss +93 -0
  753. package/es/elements/typography/style/dnb-typography.scss +2 -1
  754. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +0 -1
  755. package/es/elements/typography/style/typography-mixins.scss +25 -15
  756. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
  757. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  758. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  759. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  760. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  761. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  762. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  763. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  764. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  765. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  766. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  767. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  768. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  769. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  770. package/es/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  771. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  772. package/es/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
  773. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  774. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  775. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  776. package/es/extensions/forms/Field/Date/Date.d.ts +17 -4
  777. package/es/extensions/forms/Field/Date/Date.js +62 -35
  778. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  779. package/es/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  780. package/es/extensions/forms/Field/Date/DateDocs.js +47 -12
  781. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  782. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  783. package/es/extensions/forms/Field/Expiry/Expiry.js +2 -7
  784. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  785. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  786. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  787. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  788. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  789. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  790. package/es/extensions/forms/Field/Number/Number.js +3 -10
  791. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  792. package/es/extensions/forms/Field/Number/NumberDocs.js +0 -5
  793. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  794. package/es/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  795. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  796. package/es/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  797. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  798. package/es/extensions/forms/Field/Option/Option.js +1 -1
  799. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  800. package/es/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  801. package/es/extensions/forms/Field/Option/OptionDocs.js +30 -0
  802. package/es/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  803. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  804. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  805. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  806. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  807. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  808. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -2
  809. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  810. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  811. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  812. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  813. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +13 -14
  814. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  815. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  816. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  817. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -1
  818. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  819. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
  820. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  821. package/es/extensions/forms/Field/Selection/Selection.d.ts +13 -5
  822. package/es/extensions/forms/Field/Selection/Selection.js +25 -25
  823. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  824. package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  825. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  826. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  827. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  828. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  829. package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  830. package/es/extensions/forms/Field/Slider/Slider.js +0 -5
  831. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  832. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  833. package/es/extensions/forms/Field/String/String.js +1 -5
  834. package/es/extensions/forms/Field/String/String.js.map +1 -1
  835. package/es/extensions/forms/Field/String/StringDocs.js +0 -5
  836. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  837. package/es/extensions/forms/Field/String/style/dnb-string.css +11 -0
  838. package/es/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  839. package/es/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  840. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  841. package/es/extensions/forms/Field/Toggle/Toggle.js +2 -15
  842. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  843. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  844. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  845. package/es/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  846. package/es/extensions/forms/Field/Upload/Upload.js +47 -11
  847. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  848. package/es/extensions/forms/Field/Upload/UploadDocs.js +7 -1
  849. package/es/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  850. package/es/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  851. package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  852. package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  853. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  854. package/es/extensions/forms/FieldBlock/FieldBlock.js +48 -31
  855. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  856. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -2
  857. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  858. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  859. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  860. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +82 -42
  861. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  862. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +132 -74
  863. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  864. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  865. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  866. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  867. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  868. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  869. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +4 -6
  870. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  871. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +17 -9
  872. package/es/extensions/forms/Form/Card/Card.d.ts +3 -0
  873. package/es/extensions/forms/Form/Card/Card.js +11 -0
  874. package/es/extensions/forms/Form/Card/Card.js.map +1 -0
  875. package/es/extensions/forms/Form/Card/CardDocs.d.ts +2 -0
  876. package/es/extensions/forms/Form/Card/CardDocs.js +18 -0
  877. package/es/extensions/forms/Form/Card/CardDocs.js.map +1 -0
  878. package/es/extensions/forms/Form/Card/index.d.ts +2 -0
  879. package/es/extensions/forms/Form/Card/index.js +3 -0
  880. package/es/extensions/forms/Form/Card/index.js.map +1 -0
  881. package/es/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  882. package/es/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
  883. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  884. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  885. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  886. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  887. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  888. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  889. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  890. package/es/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  891. package/es/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
  892. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  893. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  894. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  895. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  896. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  897. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
  898. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  899. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  900. package/es/extensions/forms/Form/index.d.ts +1 -0
  901. package/es/extensions/forms/Form/index.js +1 -0
  902. package/es/extensions/forms/Form/index.js.map +1 -1
  903. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +1 -1
  904. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  905. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -1
  906. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  907. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  908. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +1 -1
  909. package/es/extensions/forms/Value/SummaryList/SummaryList.js +2 -1
  910. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  911. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +2 -1
  912. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js +2 -1
  913. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -1
  914. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  915. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  916. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  917. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  918. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  919. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  920. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  921. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  922. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  923. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  924. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -7
  925. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  926. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +4 -4
  927. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  928. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  929. package/es/extensions/forms/hooks/useFieldProps.js +61 -37
  930. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  931. package/es/extensions/forms/style/dnb-forms.css +127 -61
  932. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  933. package/es/extensions/forms/types.d.ts +5 -7
  934. package/es/extensions/forms/types.js.map +1 -1
  935. package/es/extensions/payment-card/style/dnb-payment-card.css +1 -1
  936. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  937. package/es/fragments/drawer-list/DrawerList.d.ts +22 -21
  938. package/es/fragments/drawer-list/DrawerList.js +14 -5
  939. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  940. package/es/fragments/drawer-list/DrawerListDocs.d.ts +1 -0
  941. package/es/fragments/drawer-list/DrawerListDocs.js +37 -5
  942. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  943. package/es/fragments/drawer-list/DrawerListHelpers.js +13 -6
  944. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  945. package/es/fragments/drawer-list/DrawerListProvider.js +3 -0
  946. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  947. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +11 -0
  948. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +26 -19
  949. package/es/shared/Context.d.ts +2 -2
  950. package/es/shared/Context.js.map +1 -1
  951. package/es/shared/Eufemia.d.ts +1 -1
  952. package/es/shared/Eufemia.js +2 -2
  953. package/es/shared/Eufemia.js.map +1 -1
  954. package/es/shared/VisibilityByTheme.d.ts +5 -2
  955. package/es/shared/VisibilityByTheme.js +12 -0
  956. package/es/shared/VisibilityByTheme.js.map +1 -1
  957. package/es/shared/component-helper.js.map +1 -1
  958. package/es/shared/locales/en-GB.d.ts +16 -16
  959. package/es/shared/locales/en-GB.js +16 -16
  960. package/es/shared/locales/en-GB.js.map +1 -1
  961. package/es/shared/locales/en-US.d.ts +17 -17
  962. package/es/shared/locales/en-US.js +3 -3
  963. package/es/shared/locales/en-US.js.map +1 -1
  964. package/es/shared/locales/index.d.ts +34 -32
  965. package/es/shared/locales/index.js.map +1 -1
  966. package/es/shared/locales/nb-NO.d.ts +16 -16
  967. package/es/shared/locales/nb-NO.js +16 -16
  968. package/es/shared/locales/nb-NO.js.map +1 -1
  969. package/es/style/core/scopes.scss +1 -1
  970. package/es/style/dnb-ui-basis.css +1 -1
  971. package/es/style/dnb-ui-basis.min.css +1 -1
  972. package/es/style/dnb-ui-body.css +1 -1
  973. package/es/style/dnb-ui-body.min.css +1 -1
  974. package/es/style/dnb-ui-components.css +397 -72
  975. package/es/style/dnb-ui-components.min.css +7 -5
  976. package/es/style/dnb-ui-components.scss +1 -0
  977. package/es/style/dnb-ui-core.css +1 -1
  978. package/es/style/dnb-ui-core.min.css +1 -1
  979. package/es/style/dnb-ui-elements.css +91 -6
  980. package/es/style/dnb-ui-elements.min.css +1 -1
  981. package/es/style/dnb-ui-extensions.css +128 -62
  982. package/es/style/dnb-ui-extensions.min.css +1 -1
  983. package/es/style/dnb-ui-forms.css +127 -61
  984. package/es/style/dnb-ui-forms.min.css +1 -1
  985. package/es/style/dnb-ui-forms.scss +2 -0
  986. package/es/style/dnb-ui-fragments.css +9 -0
  987. package/es/style/dnb-ui-fragments.min.css +3 -1
  988. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +92 -6
  989. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  990. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +544 -140
  991. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +12 -10
  992. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +91 -6
  993. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  994. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +130 -64
  995. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  996. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +129 -63
  997. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  998. package/es/style/themes/theme-eiendom/properties.d.ts +2 -1
  999. package/es/style/themes/theme-eiendom/properties.js +2 -1
  1000. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  1001. package/es/style/themes/theme-sbanken/fonts.scss +7 -3
  1002. package/es/style/themes/theme-sbanken/properties.d.ts +2 -1
  1003. package/es/style/themes/theme-sbanken/properties.js +2 -1
  1004. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  1005. package/es/style/themes/theme-sbanken/properties.scss +1 -1
  1006. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +101 -10
  1007. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  1008. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +577 -169
  1009. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -9
  1010. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  1011. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +91 -7
  1012. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1013. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +129 -63
  1014. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  1015. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +128 -62
  1016. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  1017. package/es/style/themes/theme-sbanken/theme-mapping.scss +1 -0
  1018. package/es/style/themes/theme-ui/properties.d.ts +2 -1
  1019. package/es/style/themes/theme-ui/properties.js +2 -1
  1020. package/es/style/themes/theme-ui/properties.js.map +1 -1
  1021. package/es/style/themes/theme-ui/properties.scss +1 -0
  1022. package/es/style/themes/theme-ui/ui-theme-basis.css +92 -6
  1023. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1024. package/es/style/themes/theme-ui/ui-theme-components.css +544 -140
  1025. package/es/style/themes/theme-ui/ui-theme-components.min.css +13 -11
  1026. package/es/style/themes/theme-ui/ui-theme-elements.css +91 -6
  1027. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1028. package/es/style/themes/theme-ui/ui-theme-extensions.css +130 -64
  1029. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  1030. package/es/style/themes/theme-ui/ui-theme-forms.css +129 -63
  1031. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  1032. package/es/style/themes/theme-ui/ui-theme-properties.css +1 -0
  1033. package/es/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  1034. package/es/style/themes/theme-ui/ui-theme-tags.css +12 -8
  1035. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1036. package/esm/dnb-ui-basis.min.mjs +1 -1
  1037. package/esm/dnb-ui-components.min.mjs +1 -1
  1038. package/esm/dnb-ui-elements.min.mjs +1 -1
  1039. package/esm/dnb-ui-extensions.min.mjs +3 -3
  1040. package/esm/dnb-ui-lib.min.mjs +1 -1
  1041. package/extensions/forms/DataContext/Provider/Provider.js +1 -1
  1042. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  1043. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  1044. package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  1045. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  1046. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  1047. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  1048. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  1049. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  1050. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  1051. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  1052. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  1053. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  1054. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  1055. package/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  1056. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  1057. package/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
  1058. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  1059. package/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  1060. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  1061. package/extensions/forms/Field/Date/Date.d.ts +17 -4
  1062. package/extensions/forms/Field/Date/Date.js +62 -35
  1063. package/extensions/forms/Field/Date/Date.js.map +1 -1
  1064. package/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  1065. package/extensions/forms/Field/Date/DateDocs.js +47 -12
  1066. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  1067. package/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  1068. package/extensions/forms/Field/Expiry/Expiry.js +2 -7
  1069. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  1070. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  1071. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  1072. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  1073. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  1074. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  1075. package/extensions/forms/Field/Number/Number.js +3 -10
  1076. package/extensions/forms/Field/Number/Number.js.map +1 -1
  1077. package/extensions/forms/Field/Number/NumberDocs.js +0 -5
  1078. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  1079. package/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  1080. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  1081. package/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  1082. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  1083. package/extensions/forms/Field/Option/Option.js +1 -1
  1084. package/extensions/forms/Field/Option/Option.js.map +1 -1
  1085. package/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  1086. package/extensions/forms/Field/Option/OptionDocs.js +30 -0
  1087. package/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  1088. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  1089. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  1090. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  1091. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  1092. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  1093. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -2
  1094. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  1095. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  1096. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  1097. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  1098. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +13 -14
  1099. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  1100. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  1101. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  1102. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -1
  1103. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  1104. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
  1105. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  1106. package/extensions/forms/Field/Selection/Selection.d.ts +13 -5
  1107. package/extensions/forms/Field/Selection/Selection.js +25 -25
  1108. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  1109. package/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  1110. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  1111. package/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  1112. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  1113. package/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  1114. package/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  1115. package/extensions/forms/Field/Slider/Slider.js +0 -5
  1116. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  1117. package/extensions/forms/Field/String/String.d.ts +2 -2
  1118. package/extensions/forms/Field/String/String.js +1 -5
  1119. package/extensions/forms/Field/String/String.js.map +1 -1
  1120. package/extensions/forms/Field/String/StringDocs.js +0 -5
  1121. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  1122. package/extensions/forms/Field/String/style/dnb-string.css +11 -0
  1123. package/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  1124. package/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  1125. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  1126. package/extensions/forms/Field/Toggle/Toggle.js +2 -15
  1127. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  1128. package/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  1129. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  1130. package/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  1131. package/extensions/forms/Field/Upload/Upload.js +48 -11
  1132. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  1133. package/extensions/forms/Field/Upload/UploadDocs.js +7 -1
  1134. package/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  1135. package/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  1136. package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  1137. package/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  1138. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  1139. package/extensions/forms/FieldBlock/FieldBlock.js +48 -32
  1140. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1141. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -2
  1142. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  1143. package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  1144. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  1145. package/extensions/forms/FieldBlock/style/dnb-field-block.css +82 -42
  1146. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1147. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +132 -74
  1148. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  1149. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  1150. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  1151. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  1152. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  1153. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  1154. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +4 -6
  1155. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  1156. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +17 -9
  1157. package/extensions/forms/Form/Card/Card.d.ts +3 -0
  1158. package/extensions/forms/Form/Card/Card.js +11 -0
  1159. package/extensions/forms/Form/Card/Card.js.map +1 -0
  1160. package/extensions/forms/Form/Card/CardDocs.d.ts +2 -0
  1161. package/extensions/forms/Form/Card/CardDocs.js +18 -0
  1162. package/extensions/forms/Form/Card/CardDocs.js.map +1 -0
  1163. package/extensions/forms/Form/Card/index.d.ts +2 -0
  1164. package/extensions/forms/Form/Card/index.js +3 -0
  1165. package/extensions/forms/Form/Card/index.js.map +1 -0
  1166. package/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  1167. package/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
  1168. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  1169. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  1170. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  1171. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  1172. package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  1173. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  1174. package/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  1175. package/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  1176. package/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
  1177. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  1178. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  1179. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  1180. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  1181. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  1182. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
  1183. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  1184. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  1185. package/extensions/forms/Form/index.d.ts +1 -0
  1186. package/extensions/forms/Form/index.js +1 -0
  1187. package/extensions/forms/Form/index.js.map +1 -1
  1188. package/extensions/forms/Iterate/Array/ArrayDocs.js +1 -1
  1189. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  1190. package/extensions/forms/Iterate/Array/types.d.ts +1 -1
  1191. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  1192. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  1193. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +1 -1
  1194. package/extensions/forms/Value/SummaryList/SummaryList.js +2 -1
  1195. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  1196. package/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +2 -1
  1197. package/extensions/forms/Value/SummaryList/useVerifyChildren.js +2 -1
  1198. package/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -1
  1199. package/extensions/forms/Value/ValueDocs.js +5 -0
  1200. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  1201. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  1202. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  1203. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  1204. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  1205. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  1206. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  1207. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  1208. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  1209. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -7
  1210. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  1211. package/extensions/forms/hooks/DataValueWritePropsDocs.js +4 -4
  1212. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  1213. package/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  1214. package/extensions/forms/hooks/useFieldProps.js +61 -37
  1215. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  1216. package/extensions/forms/style/dnb-forms.css +127 -61
  1217. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1218. package/extensions/forms/types.d.ts +5 -7
  1219. package/extensions/forms/types.js.map +1 -1
  1220. package/extensions/payment-card/style/dnb-payment-card.css +1 -1
  1221. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  1222. package/fragments/drawer-list/DrawerList.d.ts +22 -21
  1223. package/fragments/drawer-list/DrawerList.js +14 -5
  1224. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1225. package/fragments/drawer-list/DrawerListDocs.d.ts +1 -0
  1226. package/fragments/drawer-list/DrawerListDocs.js +37 -5
  1227. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  1228. package/fragments/drawer-list/DrawerListHelpers.js +13 -6
  1229. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  1230. package/fragments/drawer-list/DrawerListProvider.js +3 -0
  1231. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  1232. package/fragments/drawer-list/style/dnb-drawer-list.scss +11 -0
  1233. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +26 -19
  1234. package/package.json +1 -1
  1235. package/shared/Context.d.ts +2 -2
  1236. package/shared/Context.js.map +1 -1
  1237. package/shared/Eufemia.d.ts +1 -1
  1238. package/shared/Eufemia.js +2 -2
  1239. package/shared/Eufemia.js.map +1 -1
  1240. package/shared/VisibilityByTheme.d.ts +5 -2
  1241. package/shared/VisibilityByTheme.js +12 -0
  1242. package/shared/VisibilityByTheme.js.map +1 -1
  1243. package/shared/component-helper.js.map +1 -1
  1244. package/shared/locales/en-GB.d.ts +16 -16
  1245. package/shared/locales/en-GB.js +16 -16
  1246. package/shared/locales/en-GB.js.map +1 -1
  1247. package/shared/locales/en-US.d.ts +17 -17
  1248. package/shared/locales/en-US.js +3 -3
  1249. package/shared/locales/en-US.js.map +1 -1
  1250. package/shared/locales/index.d.ts +34 -32
  1251. package/shared/locales/index.js.map +1 -1
  1252. package/shared/locales/nb-NO.d.ts +16 -16
  1253. package/shared/locales/nb-NO.js +16 -16
  1254. package/shared/locales/nb-NO.js.map +1 -1
  1255. package/style/core/scopes.scss +1 -1
  1256. package/style/dnb-ui-basis.css +1 -1
  1257. package/style/dnb-ui-basis.min.css +1 -1
  1258. package/style/dnb-ui-body.css +1 -1
  1259. package/style/dnb-ui-body.min.css +1 -1
  1260. package/style/dnb-ui-components.css +397 -72
  1261. package/style/dnb-ui-components.min.css +7 -5
  1262. package/style/dnb-ui-components.scss +1 -0
  1263. package/style/dnb-ui-core.css +1 -1
  1264. package/style/dnb-ui-core.min.css +1 -1
  1265. package/style/dnb-ui-elements.css +91 -6
  1266. package/style/dnb-ui-elements.min.css +1 -1
  1267. package/style/dnb-ui-extensions.css +128 -62
  1268. package/style/dnb-ui-extensions.min.css +1 -1
  1269. package/style/dnb-ui-forms.css +127 -61
  1270. package/style/dnb-ui-forms.min.css +1 -1
  1271. package/style/dnb-ui-forms.scss +2 -0
  1272. package/style/dnb-ui-fragments.css +9 -0
  1273. package/style/dnb-ui-fragments.min.css +3 -1
  1274. package/style/themes/theme-eiendom/eiendom-theme-basis.css +92 -6
  1275. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1276. package/style/themes/theme-eiendom/eiendom-theme-components.css +544 -140
  1277. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +12 -10
  1278. package/style/themes/theme-eiendom/eiendom-theme-elements.css +91 -6
  1279. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1280. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +130 -64
  1281. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  1282. package/style/themes/theme-eiendom/eiendom-theme-forms.css +129 -63
  1283. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  1284. package/style/themes/theme-eiendom/properties.d.ts +2 -1
  1285. package/style/themes/theme-eiendom/properties.js +2 -1
  1286. package/style/themes/theme-eiendom/properties.js.map +1 -1
  1287. package/style/themes/theme-sbanken/fonts.scss +7 -3
  1288. package/style/themes/theme-sbanken/properties.d.ts +2 -1
  1289. package/style/themes/theme-sbanken/properties.js +2 -1
  1290. package/style/themes/theme-sbanken/properties.js.map +1 -1
  1291. package/style/themes/theme-sbanken/properties.scss +1 -1
  1292. package/style/themes/theme-sbanken/sbanken-theme-basis.css +101 -10
  1293. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  1294. package/style/themes/theme-sbanken/sbanken-theme-components.css +577 -169
  1295. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -9
  1296. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  1297. package/style/themes/theme-sbanken/sbanken-theme-elements.css +91 -7
  1298. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1299. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +129 -63
  1300. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  1301. package/style/themes/theme-sbanken/sbanken-theme-forms.css +128 -62
  1302. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  1303. package/style/themes/theme-sbanken/theme-mapping.scss +1 -0
  1304. package/style/themes/theme-ui/properties.d.ts +2 -1
  1305. package/style/themes/theme-ui/properties.js +2 -1
  1306. package/style/themes/theme-ui/properties.js.map +1 -1
  1307. package/style/themes/theme-ui/properties.scss +1 -0
  1308. package/style/themes/theme-ui/ui-theme-basis.css +92 -6
  1309. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1310. package/style/themes/theme-ui/ui-theme-components.css +544 -140
  1311. package/style/themes/theme-ui/ui-theme-components.min.css +13 -11
  1312. package/style/themes/theme-ui/ui-theme-elements.css +91 -6
  1313. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1314. package/style/themes/theme-ui/ui-theme-extensions.css +130 -64
  1315. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  1316. package/style/themes/theme-ui/ui-theme-forms.css +129 -63
  1317. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  1318. package/style/themes/theme-ui/ui-theme-properties.css +1 -0
  1319. package/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  1320. package/style/themes/theme-ui/ui-theme-tags.css +12 -8
  1321. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1322. package/umd/dnb-ui-basis.min.js +1 -1
  1323. package/umd/dnb-ui-components.min.js +1 -1
  1324. package/umd/dnb-ui-elements.min.js +1 -1
  1325. package/umd/dnb-ui-extensions.min.js +2 -2
  1326. package/umd/dnb-ui-lib.min.js +1 -1
  1327. package/cjs/components/date-picker/DatePickerOld.d.ts +0 -334
  1328. package/cjs/components/date-picker/DatePickerOld.js +0 -538
  1329. package/cjs/components/date-picker/DatePickerOld.js.map +0 -1
  1330. package/cjs/extensions/style/index.d.ts +0 -5
  1331. package/cjs/extensions/style/index.js +0 -6
  1332. package/cjs/extensions/style/index.js.map +0 -1
  1333. package/components/date-picker/DatePickerOld.d.ts +0 -334
  1334. package/components/date-picker/DatePickerOld.js +0 -528
  1335. package/components/date-picker/DatePickerOld.js.map +0 -1
  1336. package/es/components/date-picker/DatePickerOld.d.ts +0 -334
  1337. package/es/components/date-picker/DatePickerOld.js +0 -528
  1338. package/es/components/date-picker/DatePickerOld.js.map +0 -1
  1339. package/es/extensions/style/index.d.ts +0 -5
  1340. package/es/extensions/style/index.js +0 -4
  1341. package/es/extensions/style/index.js.map +0 -1
  1342. package/extensions/style/index.d.ts +0 -5
  1343. package/extensions/style/index.js +0 -4
  1344. package/extensions/style/index.js.map +0 -1
@@ -1 +1 @@
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","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","value","potentialSizeAsString","reduce","acc","isCustomSize","params","prepareIconParams","_ref","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'\nimport { FormStatusIconTypes } from '../FormStatus'\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 | FormStatusIconTypes | 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.\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":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SACEC,qBAAqB,EACrBC,eAAe,EACfC,sBAAsB,QACjB,+BAA+B;AACtC,OAAOC,OAAO,MAAwB,sBAAsB;AAC5D,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,QAAQ,QAAQ,eAAe;AAKxC,OAAO,MAAMC,eAAe,GAAG,EAAE;AACjC,OAAO,MAAMC,gBAAgB,GAAG;EAE9BC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AAEV,CAAU;AACV,OAAO,MAAMC,oBAEZ,GAAG,CACF,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf;AACD,OAAO,MAAMC,aAAa,GAAG,CAC3B,OAAO,EACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,CACF;AAkFV,eAAe,SAASC,IAAIA,CAACC,UAAwB,EAAE;EACrD,MAAMC,OAAO,GAAGlB,UAAU,CAACM,OAAO,CAAC;EAGnC,MAAMa,KAAK,GAAGd,sBAAsB,CAClCY,UAAU,EACV,CAAC,CAAC,EACF;IAAEG,QAAQ,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE;EAAS,CAAC,EAC/BF,OAAO,CAACF,IACV,CAAC;EAGD,MAAM;IACJK,IAAI,EAAEC,QAAQ;IACdC,IAAI;IACJC,aAAa;IACbC,UAAU;IACVC,GAAG;IACHC;EACF,CAAC,GAAGC,WAAW,CAACT,KAAK,EAAED,OAAO,CAAC;EAC/B,MAAMG,IAAI,GAAGC,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIK,QAAQ;EAEjC,IAAI,CAACN,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,MAAMQ,aAAa,GAAGC,aAAa,CAAC;IAAET,IAAI;IAAEE,IAAI;IAAEG;EAAI,CAAC,CAAC;EAGxD,IAAI,CAACG,aAAa,EAAE;IAClB,OAAO9B,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAiC,QAAA,MAAI,CAAC;EACd;EAEA,OACEjC,KAAA,CAAAgC,aAAA,SAAUP,aAAa,EACrBzB,KAAA,CAAAgC,aAAA,CAACF,aAAa,EAAKJ,UAAa,CAC5B,CAAC;AAEX;AAEA,OAAO,SAASQ,wBAAwBA,CAACZ,IAAuB,EAAU;EACxE,MAAMa,IAAI,GAAG,OAAOb,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACa,IAAI,GAAGC,MAAM,CAACd,IAAI,CAAC;EAClE,IAAI,eAAe,CAACe,IAAI,CAACF,IAAI,CAAC,EAAE;IAC9B,OAAO,IAAI;EACb;EACA,OAAOA,IAAI;AACb;AAEA,OAAO,SAASG,QAAQA,CAAClB,KAAgB,EAAE;EACzC,MAAM;IAAEE,IAAI;IAAEE,IAAI;IAAEe,KAAK;IAAEC;EAAO,CAAC,GAAGpB,KAGhB;EAEtB,IAAIqB,SAAoC,GAAG,IAAI;EAC/C,IAAIC,YAAY,GAAG,IAAI;EAGvB,IAAI,CAAClB,IAAI,IAAIA,IAAI,KAAKb,eAAe,EAAE;IAErC,MAAMwB,IAAI,GAAGD,wBAAwB,CAACZ,IAAI,CAAC;IAE3C,MAAMqB,SAAS,GAAGP,MAAM,CAACD,IAAI,IAAI,EAAE,CAAC,CAACS,KAAK,CAAC,GAAG,CAAC;IAE/C,IAAID,SAAS,CAACE,MAAM,GAAG,CAAC,EAAE;MAAA,IAAAC,qBAAA,EAAAC,sBAAA;MACxB,MAAMC,kBAAkB,GAAGL,SAAS,CAACM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAkB;MAClE,MAAMC,aAAa,IAAAJ,qBAAA,GAAG/B,oBAAoB,CAACoC,MAAM,CAC/C,CAAC,CAACC,GAAG,CAAC,KAAKA,GAAG,KAAKJ,kBACrB,CAAC,cAAAF,qBAAA,wBAAAC,sBAAA,GAFqBD,qBAAA,CAElB,CAAC,CAAC,cAAAC,sBAAA,uBAFgBA,sBAAA,CAEb,CAAC,CAAC;MACX,IAAIG,aAAa,EAAE;QACjBT,SAAS,GAAGS,aAAa;MAC3B;MACA,IAAIlC,aAAa,CAACqC,QAAQ,CAACL,kBAAkB,CAAC,EAAE;QAC9CN,YAAY,GAAGM,kBAAkB;MACnC;IACF,CAAC,MAAM;MACL,IAAI,OAAO1B,IAAI,KAAK,UAAU,EAAE;QAC9B,MAAMgC,IAAI,GAAGhC,IAAI,CAAC,CAAC;QACnB,IAAIgC,IAAI,CAAClC,KAAK,EAAE;UACd,IAAI8B,aAAwC,GAAG,IAAI;UACnD,IAAII,IAAI,CAAClC,KAAK,CAACmB,KAAK,EAAE;YACpBW,aAAa,GAAGI,IAAI,CAAClC,KAAK,CAACmB,KAAK;UAClC;UACA,IAAI,CAACW,aAAa,IAAII,IAAI,CAAClC,KAAK,CAACmC,OAAO,EAAE;YACxCL,aAAa,GAAGM,UAAU,CACxB,wBAAwB,CAACC,IAAI,CAACH,IAAI,CAAClC,KAAK,CAACmC,OAAO,CAAC,CAAC,CAAC,CACrD,CAAyB;UAC3B;UACA,IAAI,CAACG,KAAK,CAACR,aAAa,CAAC,EAAE;YACzBT,SAAS,GAAGS,aAAa;UAC3B;QACF;MACF;IACF;EACF,CAAC,MAGI,IAAI,OAAO1B,IAAI,KAAK,QAAQ,IAAI,EAAEgC,UAAU,CAAChC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;IAAA,IAAAmC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAC5DpB,SAAS,IAAAkB,sBAAA,IAAAC,sBAAA,GACP7C,oBAAoB,CAACoC,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KAAKA,GAAG,KAAK5B,IAAI,CAAC,cAAAoC,sBAAA,wBAAAC,sBAAA,GAApDD,sBAAA,CAAuD,CAAC,CAAC,cAAAC,sBAAA,uBAAzDA,sBAAA,CAA4D,CAAC,CAAC,cAAAF,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;IAGtE,IAAI3C,aAAa,CAACqC,QAAQ,CAAC7B,IAAqB,CAAC,EAAE;MACjDkB,YAAY,GAAGlB,IAAI;IACrB;EACF,CAAC,MAGI,IAAIgC,UAAU,CAACpB,MAAM,CAACZ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;IAAA,IAAAsC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACrCvB,SAAS,IAAAqB,sBAAA,IAAAC,sBAAA,GACPhD,oBAAoB,CAACoC,MAAM,CACzB,CAAC,CAACC,GAAG,EAAEa,KAAK,CAAC,KAAKb,GAAG,IAAIa,KAAK,KAAKT,UAAU,CAACpB,MAAM,CAACZ,IAAI,CAAC,CAC5D,CAAC,cAAAuC,sBAAA,wBAAAC,sBAAA,GAFDD,sBAAA,CAEI,CAAC,CAAC,cAAAC,sBAAA,uBAFNA,sBAAA,CAES,CAAC,CAAC,cAAAF,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;IAGnB,IAAIrB,SAAS,KAAK,CAAC,CAAC,EAAE;MACpBA,SAAS,GAAGe,UAAU,CAACpB,MAAM,CAACZ,IAAI,CAAC,CAAyB;MAC5DkB,YAAY,GAAG,aAAa;IAC9B;EACF;EAGA,IAAI,CAACA,YAAY,IAAID,SAAS,GAAG,CAAC,EAAE;IAClC,MAAMyB,qBAAqB,GAAGnD,oBAAoB,CAACoD,MAAM,CACvD,CAACC,GAAG,EAAE,CAAChB,GAAG,EAAEa,KAAK,CAAC,KAAK;MACrB,IAAIb,GAAG,IAAIa,KAAK,KAAKxB,SAAS,EAAE;QAC9B,OAAOW,GAAG;MACZ;MACA,OAAOgB,GAAG;IACZ,CAAC,EACD,IACF,CAAC;IAED,IAAIF,qBAAqB,EAAE;MACzBxB,YAAY,GAAGwB,qBAAqB;IACtC;EACF;EAGA,MAAM;IAAExB,YAAY,EAAE2B,YAAY;IAAEC,MAAM,EAAE5C;EAAW,CAAC,GACtD6C,iBAAiB,CAAC;IAChB7B,YAAY;IACZD,SAAS;IACTjB,IAAI;IACJe,KAAK;IACLC;EACF,CAAC,CAAC;EAEJ,IAAI6B,YAAY,EAAE;IAChB3B,YAAY,GAAG2B,YAAY;EAC7B;EAEA,IAAI,EAAE5B,SAAS,GAAG,CAAC,CAAC,EAAE;IACpBA,SAAS,GAAG9B,eAAe;EAC7B;EAEA,IAAIa,IAAI,KAAK,MAAM,EAAE;IACnBE,UAAU,CAACa,KAAK,GAAG,MAAM;IACzBb,UAAU,CAACc,MAAM,GAAG,MAAM;IAC1BE,YAAY,GAAG,MAAM;EACvB;EAEA,OAAO;IACLhB,UAAU;IACVe,SAAS;IACTC;EACF,CAAC;AACH;AAEA,SAAS6B,iBAAiBA,CAAAC,IAAA,EAMvB;EAAA,IANwB;MACzB9B;IAKF,CAAC,GAAA8B,IAAA;IAJIC,IAAI,GAAAC,wBAAA,CAAAF,IAAA,EAAAG,SAAA;EAKP,MAAM;IAAEnD,IAAI;IAAEe,KAAK;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGgC,IAAI;EAC/C,MAAMH,MAIL,GAAG,CAAC,CAAC;EAEN,IAAI,CAAC5B,YAAY,IAAI,EAAED,SAAS,GAAG,CAAC,CAAC,IAAIe,UAAU,CAACpB,MAAM,CAACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;IACtE8C,MAAM,CAAC/B,KAAK,GAAG+B,MAAM,CAAC9B,MAAM,GAAGgB,UAAU,CAACpB,MAAM,CAACZ,IAAI,CAAC,CAAC;EACzD,CAAC,MAAM,IAAIkB,YAAY,KAAK,aAAa,EAAE;IACzC4B,MAAM,CAAC/B,KAAK,GAAG+B,MAAM,CAAC9B,MAAM,GAAGgB,UAAU,CAACpB,MAAM,CAACK,SAAS,CAAC,CAAC;EAC9D;EACA,IAAIe,UAAU,CAACpB,MAAM,CAACG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;IAClCG,YAAY,GAAG,aAAa;IAC5B4B,MAAM,CAAC/B,KAAK,GAAGiB,UAAU,CAACpB,MAAM,CAACG,KAAK,CAAC,CAAC;EAC1C;EACA,IAAIiB,UAAU,CAACpB,MAAM,CAACI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;IACnCE,YAAY,GAAG,aAAa;IAC5B4B,MAAM,CAAC9B,MAAM,GAAGgB,UAAU,CAACpB,MAAM,CAACI,MAAM,CAAC,CAAC;EAC5C;EAEApC,qBAAqB,CAAC,CAAC,CAAC,EAAEkE,MAAM,CAAC;EAEjC,OAAO;IAAEA,MAAM;IAAE5B;EAAa,CAAC;AACjC;AAEA,OAAO,SAASb,WAAWA,CAACT,KAAmB,EAAED,OAAqB,EAAE;EACtE,MAAM;MACJG,IAAI;MACJE,IAAI;MACJe,KAAK;MACLC,MAAM;MACNoC,MAAM;MACNC,KAAK;MACLC,YAAY;MACZC,aAAa;MACbC,QAAQ;MACRrD,GAAG;MACHsD,KAAK;MACL5D,QAAQ;MACR6D;IAEF,CAAC,GAAG9D,KAAK;IADJ+D,UAAU,GAAAT,wBAAA,CACXtD,KAAK,EAAAgE,UAAA;EAET,MAAM;IAAE1C,YAAY;IAAEhB;EAAW,CAAC,GAAGY,QAAQ,CAAC;IAC5ChB,IAAI;IACJE,IAAI;IACJe,KAAK;IACLC;EACF,CAAC,CAAC;EAEF,IAAIqC,KAAK,EAAE;IACTnD,UAAU,CAACmD,KAAK,GAAGA,KAAK;EAC1B;EAEA,MAAMQ,KAAK,GAAG/D,IAAI,GAAGY,wBAAwB,CAACZ,IAAI,CAAC,GAAG,IAAI;EAI1D,MAAMG,aAAa,GAAGrB,qBAAqB,CAACgB,KAAK,EAAAkE,aAAA;IAC/CC,IAAI,EAAE5D,GAAG,GAAG,KAAK,GAAG,cAAc;IAClCA,GAAG;IACH,YAAY,EACV0D,KAAK,IAAI,CAACA,KAAK,CAAChC,QAAQ,CAAC,SAAS,CAAC,GAC/BgC,KAAK,CAACG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,GAClC,IAAI;IACVP;EAAK,GACFE,UAAU,CACd,CAAC;EACF,IAAI,CAACxD,GAAG,IAAI,OAAOF,aAAa,CAAC,aAAa,CAAC,KAAK,WAAW,EAAE;IAC/DA,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI;EACrC;EACA,IAAIA,aAAa,CAAC,aAAa,CAAC,EAAE;IAChC,IACE,CAACA,aAAa,CAAC,aAAa,CAAC,IAC7B,OAAOgE,OAAO,KAAK,WAAW,IAC9BA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAC/B;MACAlE,aAAa,CAAC,aAAa,CAAC,GAAGA,aAAa,CAAC,YAAY,CAAC;IAC5D;IACA,OAAOA,aAAa,CAAC,YAAY,CAAC;EACpC;EAEAA,aAAa,CAACyD,SAAS,GAAGhF,UAAU,CAClC,UAAU,EAIVwC,YAAY,GAAI,aAAYA,YAAa,EAAC,GAAG,mBAAmB,EAChEjC,mBAAmB,CAAC,IAAI,EAAEY,QAAQ,EAAEF,OAAO,CAAC,EAC5CX,oBAAoB,CAACY,KAAK,CAAC,EAC3B8D,SAAS,EANTF,QAAQ,IAAK,aAAYA,QAAS,EAAC,EACnCJ,MAAM,IAAI,kBAAkB,EAC5B,CAACE,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAIC,aAAa,MAAM,KAAK,IAAI,yBAK/C,CAAC;EAED,IAAIa,YAAY,GAAGC,OAAO,CAACzE,KAAK,CAAC;EAEjC,IAAIwE,YAAY,IAAI,OAAOA,YAAY,CAACE,YAAY,KAAK,WAAW,EAAE;IACpEF,YAAY,GAAG5F,KAAK,CAACgC,aAAa,CAChC4D,YAAY,EACZxF,qBAAqB,CACnB,CAAC,CAAC,EACF;MACEyE,KAAK;MACLvD,IAAI;MACJE,IAAI;MACJe,KAAK;MACLC;IACF,CACF,CACF,CAAC;EACH;EAEA,OAAA8C,aAAA,CAAAA,aAAA,KACKlE,KAAK;IACRE,IAAI,EAAEsE,YAAY;IAClBjE,GAAG;IACHD,UAAU;IACVD;EAAa;AAEjB;AAEA,OAAO,SAASM,aAAaA,CAC3BX,KAEC,EACD;EACA,MAAM;IAAEI,IAAI,GAAG,IAAI;IAAEuE,WAAW,GAAG,IAAI;IAAEpE,GAAG,GAAG;EAAK,CAAC,GAAGP,KAAK;EAC7D,IAAI;IAAEE;EAAK,CAAC,GAAGF,KAAqD;EAEpE,IAAI,OAAOE,IAAI,KAAK,QAAQ,IAAI,eAAe,CAACe,IAAI,CAACf,IAAI,CAAC,EAAE;IAC1D,OAAO,MAAMtB,KAAA,CAAAgC,aAAA;MAAKgE,GAAG,EAAE5D,MAAM,CAACd,IAAI,CAAE;MAACK,GAAG,EAAEA,GAAG,IAAI;IAAS,CAAE,CAAC;EAC/D;EAEA,IAAI,OAAOL,IAAI,KAAK,UAAU,EAAE;IAC9B,MAAMgC,IAAI,GAAGhC,IAAI,CAAC,CAAC;IACnB,IAAItB,KAAK,CAACiG,cAAc,CAAC3C,IAAI,CAAC,EAAE;MAC9B,OAAOhC,IAAI;IACb;IACA,OAAOgC,IAAI;EACb;EAEA,IAAItD,KAAK,CAACiG,cAAc,CAAC3E,IAAI,CAAC,IAAI4E,KAAK,CAACC,OAAO,CAAC7E,IAAI,CAAC,EAAE;IACrD,OAAO,MAAMA,IAAI;EACnB;EAGA,IAAI;IACFA,IAAI,GAAGZ,QAAQ,CAACY,IAAI,CAAC;IACrB,IACEE,IAAI,IACJZ,gBAAgB,CAACY,IAAI,CAAC,IACtBA,IAAI,KAAK,OAAO,IAChBA,IAAI,KAAK,SAAS,IAClB,EAAEgC,UAAU,CAACpB,MAAM,CAACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAC/B,CAACF,IAAI,CAAC+B,QAAQ,CAAC7B,IAAqB,CAAC,EACrC;MACAF,IAAI,GAAI,GAAEA,IAAK,IAAGE,IAAK,EAAC;IAC1B;IACA,MAAM4E,GAAG,GAAG,CACVL,WAAW,CAACM,QAAQ,GAAGN,WAAW,CAACM,QAAQ,GAAGN,WAAW,EACzDzE,IAAI,CAAC;IACP,OAAO8E,GAAG,IAAIA,GAAG,CAACvF,OAAO,GAAGuF,GAAG,CAACvF,OAAO,GAAGuF,GAAG;EAC/C,CAAC,CAAC,OAAOE,CAAC,EAAE;IACVnG,YAAY,CAAE,SAAQmB,IAAK,kBAAiB,CAAC;IAC7C,OAAO,IAAI;EACb;AACF;AAEA,SAASuE,OAAOA,CAACzE,KAAK,EAAE;EACtB,IAAIA,KAAK,CAACE,IAAI,EAAE;IACd,OAAOF,KAAK,CAACE,IAAI;EACnB;EACA,OAAOjB,eAAe,CAACe,KAAK,CAAC;AAC/B;AAEAH,IAAI,CAACsF,qBAAqB,GAAG,IAAI"}
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","_icon","isValidElement","type","_icon2","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","value","potentialSizeAsString","reduce","acc","isCustomSize","params","prepareIconParams","_ref","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","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'\nimport { FormStatusIconTypes } from '../FormStatus'\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 | FormStatusIconTypes | 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.\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 if (React.isValidElement(icon) && icon?.type) {\n icon = icon?.type as IconType\n }\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,13 +1,15 @@
1
1
  import React from 'react';
2
2
  import { InternalLocale } from '../../shared/Context';
3
+ import { UlAllProps } from '../../elements/Ul';
4
+ import { OlAllProps } from '../../elements/Ol';
3
5
  export type ListFormatProps = {
4
6
  /**
5
- * Formatting options for the value.
7
+ * Formatting options for the value when variant is `text`.
6
8
  * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat
7
9
  */
8
10
  format?: Intl.ListFormatOptions;
9
11
  /**
10
- * Defines if the value should be displayed in list format or regular text format on one line.
12
+ * Defines if the value should be displayed in list format (`ol`, `ul`) or regular text format in one line.
11
13
  * Default: `text`
12
14
  */
13
15
  variant?: 'ol' | 'ul' | 'text';
@@ -29,12 +31,12 @@ export type ListFormatProps = {
29
31
  */
30
32
  children?: React.ReactNode;
31
33
  };
32
- declare function ListFormat(localProps: ListFormatProps): string | any[] | import("react/jsx-runtime").JSX.Element;
34
+ declare function ListFormat(localProps: Omit<UlAllProps, 'value'> & Omit<OlAllProps, 'value'> & ListFormatProps): string | any[] | import("react/jsx-runtime").JSX.Element;
33
35
  declare namespace ListFormat {
34
36
  var _supportsSpacingProps: boolean;
35
37
  }
36
38
  export declare function listFormat(list: Array<React.ReactNode>, { locale, format, }?: {
37
39
  locale?: InternalLocale;
38
- format?: Intl.ListFormatOptions;
40
+ format?: ListFormatProps['format'];
39
41
  }): string | any[];
40
42
  export default ListFormat;
@@ -1,10 +1,14 @@
1
1
  "use client";
2
2
 
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ const _excluded = ["value", "format", "variant", "listType", "children", "className"];
3
6
  import React, { Fragment, useContext, useMemo } from 'react';
4
7
  import { LOCALE } from '../../shared/defaults';
5
8
  import { extendPropsWithContext } from '../../shared/component-helper';
6
9
  import SharedContext from '../../shared/Context';
7
10
  import { Li, Ol, Ul } from '../../elements';
11
+ import classNames from 'classnames';
8
12
  function ListFormat(localProps) {
9
13
  const {
10
14
  locale,
@@ -12,12 +16,14 @@ function ListFormat(localProps) {
12
16
  } = useContext(SharedContext);
13
17
  const allProps = extendPropsWithContext(localProps, {}, ListFormat);
14
18
  const {
15
- value,
16
- format,
17
- variant = 'text',
18
- listType,
19
- children
20
- } = allProps;
19
+ value,
20
+ format,
21
+ variant = 'text',
22
+ listType,
23
+ children,
24
+ className
25
+ } = allProps,
26
+ props = _objectWithoutProperties(allProps, _excluded);
21
27
  const list = useMemo(() => {
22
28
  const isListVariant = variant !== 'text';
23
29
  const valueToUse = replaceRootFragment(children) || value;
@@ -38,10 +44,10 @@ function ListFormat(localProps) {
38
44
  });
39
45
  }
40
46
  const ListElement = variant.startsWith('ol') ? Ol : Ul;
41
- return React.createElement(ListElement, {
47
+ return React.createElement(ListElement, _extends({
42
48
  type: listType !== 'unstyled' ? listType : null,
43
- className: listType === 'unstyled' && 'dnb-unstyled-list'
44
- }, list);
49
+ className: classNames('dnb-list-format', className, listType === 'unstyled' && 'dnb-unstyled-list')
50
+ }, props), list);
45
51
  }, [format, list, locale]);
46
52
  return result;
47
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListFormat.js","names":["React","Fragment","useContext","useMemo","LOCALE","extendPropsWithContext","SharedContext","Li","Ol","Ul","ListFormat","localProps","locale","allProps","value","format","variant","listType","children","list","isListVariant","valueToUse","replaceRootFragment","Array","isArray","Children","map","child","index","createElement","key","result","listFormat","ListElement","startsWith","type","className","style","filter","item","isNan","isNaN","undefined","buffer","Map","hasJSX","some","v","shadow","i","id","set","String","formatter","Intl","formattedList","split","element","get","error","join","_children$props","toArray","props","firstChild","count","_firstChild$props","_supportsSpacingProps"],"sources":["../../../../src/components/list-format/ListFormat.tsx"],"sourcesContent":["import React, { Fragment, useContext, useMemo } from 'react'\nimport { LOCALE } from '../../shared/defaults'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport SharedContext, { InternalLocale } from '../../shared/Context'\nimport { Li, Ol, Ul } from '../../elements'\n\nexport type ListFormatProps = {\n /**\n * Formatting options for the value.\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat\n */\n format?: Intl.ListFormatOptions\n /**\n * Defines if the value should be displayed in list format or regular text format on one line.\n * Default: `text`\n */\n variant?: 'ol' | 'ul' | 'text'\n /**\n * Defines the type of list styling used for list variants. Used together with variant `ol` and `ul`.\n * Variant `ol`: `a`, `A`, `i`, `I` and `1`.\n * Variant `ul`: `circle`, `disc` and `square`.\n * Default: `undefined`\n */\n listType?:\n | 'a'\n | 'A'\n | 'i'\n | 'I'\n | '1'\n | 'circle'\n | 'disc'\n | 'square'\n | 'unstyled'\n | undefined\n\n /**\n * The value to format as list.\n * Default: null\n */\n value?: Array<React.ReactNode>\n\n /**\n * The children to format as list.\n * Default: null\n */\n children?: React.ReactNode\n}\n\nfunction ListFormat(localProps: ListFormatProps) {\n const { locale, ListFormat } = useContext(SharedContext)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(localProps, {}, ListFormat)\n const { value, format, variant = 'text', listType, children } = allProps\n\n const list = useMemo(() => {\n const isListVariant = variant !== 'text'\n\n const valueToUse = replaceRootFragment(children) || value\n\n if (!Array.isArray(valueToUse)) {\n return [valueToUse]\n }\n\n return isListVariant\n ? React.Children.map(valueToUse, (child: React.ReactNode, index) => {\n return <Li key={index}>{child}</Li>\n })\n : valueToUse\n }, [value, children, variant, listType])\n\n const result = useMemo(() => {\n if (variant === 'text') {\n return listFormat(list, { locale, format })\n }\n\n const ListElement = variant.startsWith('ol') ? Ol : Ul\n\n return (\n <ListElement\n type={listType !== 'unstyled' ? listType : null}\n className={listType === 'unstyled' && 'dnb-unstyled-list'}\n >\n {list}\n </ListElement>\n )\n }, [format, list, locale])\n\n return result\n}\n\nexport function listFormat(\n list: Array<React.ReactNode>,\n {\n locale = LOCALE,\n format = {\n style: 'long',\n type: 'conjunction',\n },\n }: {\n locale?: InternalLocale\n format?: Intl.ListFormatOptions\n } = {}\n) {\n if (!Array.isArray(list)) {\n return list\n }\n\n list = replaceRootFragment(list).filter(function (item) {\n const isNan = typeof item === 'number' && isNaN(item)\n return item !== undefined && item !== false && item !== null && !isNan\n })\n\n const buffer = new Map()\n const hasJSX = list.some((v) => typeof v === 'object')\n const shadow = list.map((v, i) => {\n if (hasJSX) {\n const id = `id-${i}`\n buffer.set(id, v)\n return `{${id}}`\n }\n\n return String(v)\n })\n\n try {\n const formatter = new Intl.ListFormat(locale, format)\n const formattedList = formatter.format(shadow)\n\n if (hasJSX) {\n return formattedList.split(/\\{(id-[0-9]+)\\}/).map((v, i) => {\n if (v.startsWith('id-')) {\n const element = buffer.get(v)\n\n return element.key\n ? element\n : // Support lists without a key\n React.createElement(React.Fragment, { key: i }, element)\n }\n\n return v\n })\n }\n\n return formattedList\n } catch (error) {\n if (hasJSX) {\n return list\n }\n\n return list.join(', ')\n }\n}\n\nfunction replaceRootFragment(children) {\n if (children?.type === Fragment) {\n return React.Children.toArray(children?.props?.children)\n }\n if (Array.isArray(children)) {\n const firstChild = children[0]\n if (\n React.Children.count(children) === 1 &&\n firstChild?.type === Fragment\n ) {\n return React.Children.toArray(firstChild?.props?.children)\n }\n return children\n }\n\n return children\n}\n\nListFormat._supportsSpacingProps = true\n\nexport default ListFormat\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListFormat.js","names":["React","Fragment","useContext","useMemo","LOCALE","extendPropsWithContext","SharedContext","Li","Ol","Ul","classNames","ListFormat","localProps","locale","allProps","value","format","variant","listType","children","className","props","_objectWithoutProperties","_excluded","list","isListVariant","valueToUse","replaceRootFragment","Array","isArray","Children","map","child","index","createElement","key","result","listFormat","ListElement","startsWith","_extends","type","style","filter","item","isNan","isNaN","undefined","buffer","Map","hasJSX","some","v","shadow","i","id","set","String","formatter","Intl","formattedList","split","element","get","error","join","_children$props","toArray","firstChild","count","_firstChild$props","_supportsSpacingProps"],"sources":["../../../../src/components/list-format/ListFormat.tsx"],"sourcesContent":["import React, { Fragment, useContext, useMemo } from 'react'\nimport { LOCALE } from '../../shared/defaults'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport SharedContext, { InternalLocale } from '../../shared/Context'\nimport { Li, Ol, Ul } from '../../elements'\nimport { UlAllProps } from '../../elements/Ul'\nimport { OlAllProps } from '../../elements/Ol'\nimport classNames from 'classnames'\n\nexport type ListFormatProps = {\n /**\n * Formatting options for the value when variant is `text`.\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat\n */\n format?: Intl.ListFormatOptions\n /**\n * Defines if the value should be displayed in list format (`ol`, `ul`) or regular text format in one line.\n * Default: `text`\n */\n variant?: 'ol' | 'ul' | 'text'\n /**\n * Defines the type of list styling used for list variants. Used together with variant `ol` and `ul`.\n * Variant `ol`: `a`, `A`, `i`, `I` and `1`.\n * Variant `ul`: `circle`, `disc` and `square`.\n * Default: `undefined`\n */\n listType?:\n | 'a'\n | 'A'\n | 'i'\n | 'I'\n | '1'\n | 'circle'\n | 'disc'\n | 'square'\n | 'unstyled'\n | undefined\n\n /**\n * The value to format as list.\n * Default: null\n */\n value?: Array<React.ReactNode>\n\n /**\n * The children to format as list.\n * Default: null\n */\n children?: React.ReactNode\n}\n\nfunction ListFormat(\n localProps: Omit<UlAllProps, 'value'> &\n Omit<OlAllProps, 'value'> &\n ListFormatProps\n) {\n const { locale, ListFormat } = useContext(SharedContext)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(localProps, {}, ListFormat)\n const {\n value,\n format,\n variant = 'text',\n listType,\n children,\n className,\n ...props\n } = allProps\n\n const list = useMemo(() => {\n const isListVariant = variant !== 'text'\n\n const valueToUse = replaceRootFragment(children) || value\n\n if (!Array.isArray(valueToUse)) {\n return [valueToUse]\n }\n\n return isListVariant\n ? React.Children.map(valueToUse, (child: React.ReactNode, index) => {\n return <Li key={index}>{child}</Li>\n })\n : valueToUse\n }, [value, children, variant, listType])\n\n const result = useMemo(() => {\n if (variant === 'text') {\n return listFormat(list, { locale, format })\n }\n\n const ListElement = variant.startsWith('ol') ? Ol : Ul\n\n return (\n <ListElement\n type={listType !== 'unstyled' ? listType : null}\n className={classNames(\n 'dnb-list-format',\n listType === 'unstyled' && 'dnb-unstyled-list',\n className\n )}\n {...props}\n >\n {list}\n </ListElement>\n )\n }, [format, list, locale])\n\n return result\n}\n\nexport function listFormat(\n list: Array<React.ReactNode>,\n {\n locale = LOCALE,\n format = {\n style: 'long',\n type: 'conjunction',\n },\n }: {\n locale?: InternalLocale\n format?: ListFormatProps['format']\n } = {}\n) {\n if (!Array.isArray(list)) {\n return list\n }\n\n list = replaceRootFragment(list).filter(function (item) {\n const isNan = typeof item === 'number' && isNaN(item)\n return item !== undefined && item !== false && item !== null && !isNan\n })\n\n const buffer = new Map()\n const hasJSX = list.some((v) => typeof v === 'object')\n const shadow = list.map((v, i) => {\n if (hasJSX) {\n const id = `id-${i}`\n buffer.set(id, v)\n return `{${id}}`\n }\n\n return String(v)\n })\n\n try {\n const formatter = new Intl.ListFormat(locale, format)\n const formattedList = formatter.format(shadow)\n\n if (hasJSX) {\n return formattedList.split(/\\{(id-[0-9]+)\\}/).map((v, i) => {\n if (v.startsWith('id-')) {\n const element = buffer.get(v)\n\n return element.key\n ? element\n : // Support lists without a key\n React.createElement(React.Fragment, { key: i }, element)\n }\n\n return v\n })\n }\n\n return formattedList\n } catch (error) {\n if (hasJSX) {\n return list\n }\n\n return list.join(', ')\n }\n}\n\nfunction replaceRootFragment(children) {\n if (children?.type === Fragment) {\n return React.Children.toArray(children?.props?.children)\n }\n if (Array.isArray(children)) {\n const firstChild = children[0]\n if (\n React.Children.count(children) === 1 &&\n firstChild?.type === Fragment\n ) {\n return React.Children.toArray(firstChild?.props?.children)\n }\n return children\n }\n\n return children\n}\n\nListFormat._supportsSpacingProps = true\n\nexport default ListFormat\n"],"mappings":"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"}
@@ -1,4 +1,15 @@
1
- export const ListFormatProperties = {
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ 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; }
4
+ 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; }
5
+ import { UlProperties } from './../../elements/lists/UlDocs';
6
+ import { OlProperties } from './../../elements/lists/OlDocs';
7
+ const ListProperties = _objectSpread(_objectSpread({}, UlProperties), OlProperties);
8
+ const {
9
+ children
10
+ } = ListProperties,
11
+ ListPropertiesWithoutChildren = _objectWithoutProperties(ListProperties, ["children"]);
12
+ export const ListFormatProperties = _objectSpread({
2
13
  value: {
3
14
  doc: 'The value to format. Can be given as `children` instead.',
4
15
  type: ['Array<React.ReactNode>'],
@@ -10,12 +21,12 @@ export const ListFormatProperties = {
10
21
  status: 'optional'
11
22
  },
12
23
  format: {
13
- doc: 'Formatting options for the value. See the [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat) documentation.',
24
+ doc: 'Formatting options for the value when variant is `text`. See the [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat) documentation.',
14
25
  type: 'Intl.ListFormatOptions',
15
26
  status: 'optional'
16
27
  },
17
28
  variant: {
18
- doc: 'Defines if the value should be displayed in list format, or regular text format on one line. Defaults to `text`',
29
+ doc: 'Defines if the value should be displayed in list format (`ol`, `ul`) or regular text format in one line. Defaults to `text`',
19
30
  type: ['ol', 'ul', 'text'],
20
31
  status: 'optional'
21
32
  },
@@ -24,5 +35,5 @@ export const ListFormatProperties = {
24
35
  type: ['a', 'A', 'i', 'I', '1', 'circle', 'disc', 'square', 'unstyled', 'undefined'],
25
36
  status: 'optional'
26
37
  }
27
- };
38
+ }, ListPropertiesWithoutChildren);
28
39
  //# sourceMappingURL=ListFormatDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListFormatDocs.js","names":["ListFormatProperties","value","doc","type","status","children","format","variant","listType"],"sources":["../../../../src/components/list-format/ListFormatDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const ListFormatProperties: PropertiesTableProps = {\n value: {\n doc: 'The value to format. Can be given as `children` instead.',\n type: ['Array<React.ReactNode>'],\n status: 'optional',\n },\n children: {\n doc: 'The children to format.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n format: {\n doc: 'Formatting options for the value. See the [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat) documentation.',\n type: 'Intl.ListFormatOptions',\n status: 'optional',\n },\n variant: {\n doc: 'Defines if the value should be displayed in list format, or regular text format on one line. Defaults to `text`',\n type: ['ol', 'ul', 'text'],\n status: 'optional',\n },\n listType: {\n doc: 'Defines the type of list styling used for list variants. Used together with variant `ol` and `ul`. Variant `ol`: `a`, `A`, `i`, `I` and `1`. Variant `ul`: `circle`, `disc` and `square`. Defaults to `undefined`',\n type: [\n 'a',\n 'A',\n 'i',\n 'I',\n '1',\n 'circle',\n 'disc',\n 'square',\n 'unstyled',\n 'undefined',\n ],\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,KAAK,EAAE;IACLC,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,wBAAwB,CAAC;IAChCC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,yLAAyL;IAC9LC,IAAI,EAAE,wBAAwB;IAC9BC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,iHAAiH;IACtHC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,mNAAmN;IACxNC,IAAI,EAAE,CACJ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,UAAU,EACV,WAAW,CACZ;IACDC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"ListFormatDocs.js","names":["UlProperties","OlProperties","ListProperties","_objectSpread","children","ListPropertiesWithoutChildren","_objectWithoutProperties","ListFormatProperties","value","doc","type","status","format","variant","listType"],"sources":["../../../../src/components/list-format/ListFormatDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\nimport { UlProperties } from './../../elements/lists/UlDocs'\nimport { OlProperties } from './../../elements/lists/OlDocs'\n\nconst ListProperties = { ...UlProperties, ...OlProperties }\nconst { children, ...ListPropertiesWithoutChildren } = ListProperties\n\nexport const ListFormatProperties: PropertiesTableProps = {\n value: {\n doc: 'The value to format. Can be given as `children` instead.',\n type: ['Array<React.ReactNode>'],\n status: 'optional',\n },\n children: {\n doc: 'The children to format.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n format: {\n doc: 'Formatting options for the value when variant is `text`. See the [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat) documentation.',\n type: 'Intl.ListFormatOptions',\n status: 'optional',\n },\n variant: {\n doc: 'Defines if the value should be displayed in list format (`ol`, `ul`) or regular text format in one line. Defaults to `text`',\n type: ['ol', 'ul', 'text'],\n status: 'optional',\n },\n listType: {\n doc: 'Defines the type of list styling used for list variants. Used together with variant `ol` and `ul`. Variant `ol`: `a`, `A`, `i`, `I` and `1`. Variant `ul`: `circle`, `disc` and `square`. Defaults to `undefined`',\n type: [\n 'a',\n 'A',\n 'i',\n 'I',\n '1',\n 'circle',\n 'disc',\n 'square',\n 'unstyled',\n 'undefined',\n ],\n status: 'optional',\n },\n ...ListPropertiesWithoutChildren,\n}\n"],"mappings":";;;;AACA,SAASA,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,YAAY,QAAQ,+BAA+B;AAE5D,MAAMC,cAAc,GAAAC,aAAA,CAAAA,aAAA,KAAQH,YAAY,GAAKC,YAAY,CAAE;AAC3D,MAAM;IAAEG;EAA2C,CAAC,GAAGF,cAAc;EAAhDG,6BAA6B,GAAAC,wBAAA,CAAKJ,cAAc;AAErE,OAAO,MAAMK,oBAA0C,GAAAJ,aAAA;EACrDK,KAAK,EAAE;IACLC,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,wBAAwB,CAAC;IAChCC,MAAM,EAAE;EACV,CAAC;EACDP,QAAQ,EAAE;IACRK,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACDC,MAAM,EAAE;IACNH,GAAG,EAAE,gNAAgN;IACrNC,IAAI,EAAE,wBAAwB;IAC9BC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,6HAA6H;IAClIC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,mNAAmN;IACxNC,IAAI,EAAE,CACJ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,UAAU,EACV,WAAW,CACZ;IACDC,MAAM,EAAE;EACV;AAAC,GACEN,6BAA6B,CACjC"}
@@ -202,7 +202,7 @@ export default class ModalContent extends React.PureComponent {
202
202
  clearTimeout(this._focusTimeout);
203
203
  this._focusTimeout = setTimeout(() => {
204
204
  try {
205
- var _focusElement, _focusElement$focus, _focusElement2, _focusElement2$select;
205
+ var _focusElement, _focusElement$focus, _focusElement2, _focusElement2$select, _elem$parentElement, _elem$parentElement$q, _elem$parentElement2, _elem$parentElement2$;
206
206
  let focusElement = elem;
207
207
  if (typeof focus_selector === 'string') {
208
208
  focusElement = elem.querySelector(focus_selector);
@@ -210,7 +210,9 @@ export default class ModalContent extends React.PureComponent {
210
210
  (_focusElement = focusElement) === null || _focusElement === void 0 ? void 0 : (_focusElement$focus = _focusElement.focus) === null || _focusElement$focus === void 0 ? void 0 : _focusElement$focus.call(_focusElement);
211
211
  (_focusElement2 = focusElement) === null || _focusElement2 === void 0 ? void 0 : (_focusElement2$select = _focusElement2.select) === null || _focusElement2$select === void 0 ? void 0 : _focusElement2$select.call(_focusElement2);
212
212
  const noH1Elem = elem.querySelector('h1, h2, h3');
213
- if ((noH1Elem === null || noH1Elem === void 0 ? void 0 : noH1Elem.tagName) !== 'H1') {
213
+ const noH1ElemInDrawerHeader = (_elem$parentElement = elem.parentElement) === null || _elem$parentElement === void 0 ? void 0 : (_elem$parentElement$q = _elem$parentElement.querySelector('.dnb-drawer__header')) === null || _elem$parentElement$q === void 0 ? void 0 : _elem$parentElement$q.querySelector('h1, h2, h3');
214
+ const noH1ElemInDialogHeader = (_elem$parentElement2 = elem.parentElement) === null || _elem$parentElement2 === void 0 ? void 0 : (_elem$parentElement2$ = _elem$parentElement2.querySelector('.dnb-dialog__header')) === null || _elem$parentElement2$ === void 0 ? void 0 : _elem$parentElement2$.querySelector('h1, h2, h3');
215
+ if ((noH1Elem === null || noH1Elem === void 0 ? void 0 : noH1Elem.tagName) !== 'H1' && (noH1ElemInDrawerHeader === null || noH1ElemInDrawerHeader === void 0 ? void 0 : noH1ElemInDrawerHeader.tagName) !== 'H1' && (noH1ElemInDialogHeader === null || noH1ElemInDialogHeader === void 0 ? void 0 : noH1ElemInDialogHeader.tagName) !== 'H1') {
214
216
  warn('A Dialog or Drawer needs a h1 as its first element!');
215
217
  }
216
218
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContent.js","names":["React","classnames","disableBodyScroll","enableBodyScroll","clearAllBodyScrollLocks","warn","isTrue","makeUniqueId","InteractionInvalidation","combineLabelledBy","combineDescribedBy","dispatchCustomElementEvent","keycode","ModalContext","IS_IOS","IS_SAFARI","IS_MAC","isAndroid","getListOfModalRoots","getModalRoot","addToIndex","removeFromIndex","getThemeClasses","Context","ModalContent","PureComponent","constructor","props","_defineProperty","triggeredBy","triggeredByEvent","color","modalRoots","firstLevel","_this$props","_ii","setBypassSelector","root_id","bypass_invalidation_selectors","filter","Boolean","activate","forEach","modal","_iiLocal","_scrollRef","current","document","addEventListener","onKeyDownHandler","animation_duration","timeoutDuration","parseFloat","clearTimeout","_androidFocusTimeout","setTimeout","_document$activeEleme","_document$activeEleme2","activeElement","tagName","scrollIntoView","e","event","stopPropagation","closeModalContent","_overlayClickRef","target","currentTarget","prevent_overlay_close","ifIsLatest","mostCurrent","preventDefault","setState","_contentRef","content_ref","createRef","scroll_ref","_id","id","componentDidMount","no_animation","removeScrollPossibility","setFocus","setAndroidFocusHelper","process","env","NODE_ENV","lockBody","_lockTimeout","componentWillUnmount","_focusTimeout","removeLocks","_this$_ii","revert","revertScrollPossibility","length","removeAndroidFocusHelper","state","removeEventListener","window","_androidFocusHelper","focus_selector","elem","_focusElement","_focusElement$focus","_focusElement2","_focusElement2$select","focusElement","querySelector","focus","call","select","noH1Elem","_ref","_event$persist","params","_objectWithoutProperties","_excluded","persist","close","_objectSpread","render","_this$context","_this$props2","hide","title","labelled_by","close_title","dialog_title","hide_close_button","close_button_attributes","no_animation_on_mobile","fullscreen","container_placement","vertical_alignment","content_class","overlay_class","content_id","children","dialog_role","rest","_excluded2","contentId","useDialogRole","role","contentParams","undefined","className","context","theme","onMouseDown","onContentMouseDownHandler","onClick","onContentClickHandler","content","createElement","Provider","value","setBackgroundColor","onCloseClickHandler","preventClick","contentRef","scrollRef","_extends","style"],"sources":["../../../../src/components/modal/ModalContent.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from './bodyScrollLock'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n InteractionInvalidation,\n combineLabelledBy,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport ModalContext from './ModalContext'\nimport { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'\nimport { ModalContentProps } from './types'\nimport {\n getListOfModalRoots,\n getModalRoot,\n addToIndex,\n removeFromIndex,\n} from './helpers'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { Context } from '../../shared'\nimport { ContextProps } from '../../shared/Context'\n\ninterface ModalContentState {\n triggeredBy: string\n triggeredByEvent: Event\n color: string\n}\n\ndeclare global {\n interface Window {\n __modalStack: any[]\n }\n}\n\ninterface CSSPropertiesWithVars extends React.CSSProperties {\n '--modal-background-color': string\n}\n\nexport default class ModalContent extends React.PureComponent<\n ModalContentProps,\n ModalContentState\n> {\n state = { triggeredBy: null, triggeredByEvent: null, color: null }\n\n _contentRef: React.RefObject<HTMLElement>\n _scrollRef: React.RefObject<HTMLElement>\n _overlayClickRef: { current: null | HTMLElement }\n _id: string\n _lockTimeout: NodeJS.Timeout\n _focusTimeout: NodeJS.Timeout\n _androidFocusTimeout: NodeJS.Timeout\n _ii: InteractionInvalidation\n _iiLocal: InteractionInvalidation\n\n static contextType = Context\n\n context!: ContextProps\n\n constructor(props: ModalContentProps) {\n super(props)\n this._contentRef = this.props.content_ref || React.createRef()\n this._scrollRef = this.props.scroll_ref || React.createRef()\n this._overlayClickRef = React.createRef()\n\n // NB: The \"\"._id\" is used in the __modalStack as \"last._id\"\n this._id = props.id\n }\n\n componentDidMount() {\n const {\n id = null,\n no_animation = false,\n animation_duration = null,\n } = this.props\n\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n // Add it to the index at first\n // we use it later with getListOfModalRoots\n addToIndex(this)\n\n // Because of nested modals/drawers, we run this regardless\n // has to be run at first – so the scrollbar gets removed\n this.removeScrollPossibility() // forces browser to re-paint\n\n this.setFocus()\n this.setAndroidFocusHelper()\n\n dispatchCustomElementEvent(this, 'on_open', {\n id,\n })\n\n if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {\n this.lockBody() // forces browser to re-paint\n } else {\n this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n clearTimeout(this._lockTimeout)\n this.removeLocks()\n }\n\n lockBody = () => {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n if (firstLevel === this) {\n this._ii = new InteractionInvalidation()\n this._ii.setBypassSelector(\n [\n // Bypass modal content\n '.dnb-modal__content *',\n `#dnb-modal-${this.props.root_id || 'root'}`,\n `#dnb-modal-${this.props.root_id || 'root'} *`,\n\n // TODO: Eventually in future, make it possible to bypass invalidation from outside\n // '.dnb-modal--bypass_invalidation',\n // '.dnb-modal--bypass_invalidation_deep *',\n\n ...(this.props?.bypass_invalidation_selectors || []),\n ].filter(Boolean)\n )\n this._ii.activate()\n } else {\n modalRoots.forEach((modal) => {\n if (\n modal !== this &&\n typeof modal._iiLocal === 'undefined' &&\n typeof modal._scrollRef !== 'undefined'\n ) {\n modal._iiLocal = new InteractionInvalidation()\n modal._iiLocal.activate(modal._scrollRef.current)\n }\n })\n }\n\n if (typeof document !== 'undefined') {\n /** To ensure, we have always a working keydown, we call it both on the element and document */\n document.addEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n removeLocks() {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n removeFromIndex(this)\n\n if (firstLevel === this) {\n this._ii?.revert()\n this.revertScrollPossibility()\n } else {\n try {\n const modal = modalRoots[modalRoots.length - 2]\n if (modal !== this && modal._iiLocal) {\n modal._iiLocal.revert()\n delete modal._iiLocal\n }\n } catch (e) {\n warn(e)\n }\n }\n\n this.removeAndroidFocusHelper()\n\n const id = this.props.id\n const { triggeredBy, triggeredByEvent } = this.state\n dispatchCustomElementEvent(this, 'on_close', {\n id,\n event: triggeredByEvent,\n triggeredBy: triggeredBy || 'unmount',\n })\n\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n setAndroidFocusHelper() {\n if (typeof window !== 'undefined' && isAndroid()) {\n window.addEventListener('resize', this._androidFocusHelper)\n }\n }\n\n removeAndroidFocusHelper() {\n window.removeEventListener('resize', this._androidFocusHelper)\n clearTimeout(this._androidFocusTimeout)\n }\n\n _androidFocusHelper = () => {\n const { animation_duration = null } = this.props\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n clearTimeout(this._androidFocusTimeout)\n this._androidFocusTimeout = setTimeout(() => {\n try {\n if (\n document.activeElement?.tagName == 'INPUT' ||\n document.activeElement?.tagName == 'TEXTAREA'\n ) {\n document.activeElement.scrollIntoView()\n }\n } catch (e) {\n //\n }\n }, timeoutDuration / 2) // Older Android needs a delay here\n }\n\n setFocus() {\n const {\n focus_selector = null,\n no_animation = null,\n animation_duration = null,\n } = this.props\n const elem = this._contentRef.current\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n if (elem) {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(\n () => {\n try {\n let focusElement = elem as HTMLInputElement\n\n // Try to use the \"first-focus\" method first\n if (typeof focus_selector === 'string') {\n focusElement = elem.querySelector(focus_selector)\n }\n\n focusElement?.focus?.()\n focusElement?.select?.()\n\n const noH1Elem = elem.querySelector('h1, h2, h3')\n if (noH1Elem?.tagName !== 'H1') {\n warn('A Dialog or Drawer needs a h1 as its first element!')\n }\n } catch (e) {\n warn(e)\n }\n },\n isTrue(no_animation) ? 0 : timeoutDuration || 0\n ) // with this delay, the user can press esc without an focus action first\n }\n }\n\n removeScrollPossibility() {\n if (this._scrollRef.current) {\n disableBodyScroll(this._scrollRef.current)\n }\n }\n\n revertScrollPossibility() {\n enableBodyScroll(this._scrollRef.current)\n clearAllBodyScrollLocks()\n }\n\n preventClick = (event) => {\n if (event) {\n event.stopPropagation()\n }\n }\n\n onCloseClickHandler = (event: React.SyntheticEvent) => {\n this.closeModalContent(event, { triggeredBy: 'button' })\n }\n\n onContentMouseDownHandler = (event: React.SyntheticEvent) => {\n this._overlayClickRef.current =\n event.target === event.currentTarget\n ? (event.target as HTMLElement)\n : null\n }\n\n onContentClickHandler = (event: React.SyntheticEvent) => {\n /**\n * Prevent false-positive Modal close,\n * when e.g. selecting text inside and moving the mouse outside,\n * we would still get this event fired. There we check if the current click,\n * has the same target as where the click got initiated.\n */\n if (this._overlayClickRef.current !== event.target) {\n return // stop here\n }\n this._overlayClickRef.current = null\n\n const { prevent_overlay_close } = this.props\n\n if (!isTrue(prevent_overlay_close)) {\n this.closeModalContent(event, {\n triggeredBy: 'overlay',\n ifIsLatest: false,\n })\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'esc': {\n const mostCurrent = getModalRoot(-1)\n\n if (mostCurrent === this) {\n event.preventDefault()\n this.closeModalContent(event, {\n triggeredBy: 'keyboard',\n })\n }\n\n break\n }\n }\n }\n\n closeModalContent(event, { triggeredBy, ...params }) {\n event?.persist?.()\n this.setState({ triggeredBy, triggeredByEvent: event }, () => {\n this.props.close(event, {\n triggeredBy,\n ...params,\n })\n })\n }\n\n setBackgroundColor = (color: string) => {\n this.setState({ color })\n }\n\n render() {\n const {\n hide,\n title,\n labelled_by,\n id: _id, // eslint-disable-line\n close_title = 'Lukk',\n dialog_title = 'Vindu',\n hide_close_button = false,\n close_button_attributes,\n no_animation = false,\n no_animation_on_mobile = false,\n fullscreen = 'auto',\n container_placement = 'right',\n vertical_alignment = 'center',\n close,\n content_class,\n overlay_class,\n content_id,\n children, // eslint-disable-line\n dialog_role = null,\n ...rest\n } = this.props\n const { color } = this.state\n\n const contentId = content_id || makeUniqueId('modal-')\n\n const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)\n let role = dialog_role || 'dialog'\n if (!useDialogRole && role === 'dialog') {\n role = 'region'\n }\n\n const contentParams = {\n /**\n * Do not use role=\"dialog\" on Safari\n *\n * VoiceOver has troubles with role=\"dialog\" and \"Modal in Modal\",\n * the result is, only the first Modal gets focus (set by Safari)\n *\n * Tests have shown: Both VoiceOver are working fine with the:\n * \"aria-labelledby\" and \"aria-describedby\" approach\n *\n */\n role,\n 'aria-modal': useDialogRole ? true : undefined,\n\n /**\n * ARIA references\n */\n 'aria-labelledby': combineLabelledBy(\n this.props,\n title ? contentId + '-title' : null,\n labelled_by\n ),\n 'aria-describedby': combineDescribedBy(\n this.props,\n contentId + '-content'\n ),\n\n /**\n * If no labelled_by and no title is given,\n * set a fallback \"dialog_title\"\n */\n 'aria-label': !title && !labelled_by ? dialog_title : undefined,\n\n className: classnames(\n 'dnb-modal__content',\n isTrue(fullscreen)\n ? 'dnb-modal__content--fullscreen'\n : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',\n container_placement\n ? `dnb-modal__content--${container_placement || 'right'}`\n : null,\n `dnb-modal__vertical-alignment--${vertical_alignment}`,\n getThemeClasses(this.context?.theme),\n content_class\n ),\n onMouseDown: this.onContentMouseDownHandler,\n onClick: this.onContentClickHandler,\n }\n\n const content =\n typeof children === 'function'\n ? children({ ...rest, close })\n : children\n\n return (\n <ModalContext.Provider\n value={{\n id: this.props.id,\n title,\n hide_close_button,\n close_button_attributes,\n close_title,\n hide,\n setBackgroundColor: this.setBackgroundColor,\n onCloseClickHandler: this.onCloseClickHandler,\n preventClick: this.preventClick,\n onKeyDownHandler: this.onKeyDownHandler,\n contentRef: this._contentRef,\n scrollRef: this._scrollRef,\n contentId,\n close,\n }}\n >\n <div\n id={contentId}\n /** Sets the color on scroll overflow (at the bottom) */\n style={\n (color\n ? { '--modal-background-color': `var(--color-${color})` }\n : null) as CSSPropertiesWithVars\n }\n {...contentParams}\n >\n {content}\n </div>\n\n <span\n className={classnames(\n 'dnb-modal__overlay',\n hide && 'dnb-modal__overlay--hide',\n isTrue(no_animation) && 'dnb-modal__overlay--no-animation',\n isTrue(no_animation_on_mobile) &&\n 'dnb-modal__overlay--no-animation-on-mobile',\n overlay_class\n )}\n aria-hidden={true}\n />\n </ModalContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalContent.js","names":["React","classnames","disableBodyScroll","enableBodyScroll","clearAllBodyScrollLocks","warn","isTrue","makeUniqueId","InteractionInvalidation","combineLabelledBy","combineDescribedBy","dispatchCustomElementEvent","keycode","ModalContext","IS_IOS","IS_SAFARI","IS_MAC","isAndroid","getListOfModalRoots","getModalRoot","addToIndex","removeFromIndex","getThemeClasses","Context","ModalContent","PureComponent","constructor","props","_defineProperty","triggeredBy","triggeredByEvent","color","modalRoots","firstLevel","_this$props","_ii","setBypassSelector","root_id","bypass_invalidation_selectors","filter","Boolean","activate","forEach","modal","_iiLocal","_scrollRef","current","document","addEventListener","onKeyDownHandler","animation_duration","timeoutDuration","parseFloat","clearTimeout","_androidFocusTimeout","setTimeout","_document$activeEleme","_document$activeEleme2","activeElement","tagName","scrollIntoView","e","event","stopPropagation","closeModalContent","_overlayClickRef","target","currentTarget","prevent_overlay_close","ifIsLatest","mostCurrent","preventDefault","setState","_contentRef","content_ref","createRef","scroll_ref","_id","id","componentDidMount","no_animation","removeScrollPossibility","setFocus","setAndroidFocusHelper","process","env","NODE_ENV","lockBody","_lockTimeout","componentWillUnmount","_focusTimeout","removeLocks","_this$_ii","revert","revertScrollPossibility","length","removeAndroidFocusHelper","state","removeEventListener","window","_androidFocusHelper","focus_selector","elem","_focusElement","_focusElement$focus","_focusElement2","_focusElement2$select","_elem$parentElement","_elem$parentElement$q","_elem$parentElement2","_elem$parentElement2$","focusElement","querySelector","focus","call","select","noH1Elem","noH1ElemInDrawerHeader","parentElement","noH1ElemInDialogHeader","_ref","_event$persist","params","_objectWithoutProperties","_excluded","persist","close","_objectSpread","render","_this$context","_this$props2","hide","title","labelled_by","close_title","dialog_title","hide_close_button","close_button_attributes","no_animation_on_mobile","fullscreen","container_placement","vertical_alignment","content_class","overlay_class","content_id","children","dialog_role","rest","_excluded2","contentId","useDialogRole","role","contentParams","undefined","className","context","theme","onMouseDown","onContentMouseDownHandler","onClick","onContentClickHandler","content","createElement","Provider","value","setBackgroundColor","onCloseClickHandler","preventClick","contentRef","scrollRef","_extends","style"],"sources":["../../../../src/components/modal/ModalContent.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from './bodyScrollLock'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n InteractionInvalidation,\n combineLabelledBy,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport ModalContext from './ModalContext'\nimport { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'\nimport { ModalContentProps } from './types'\nimport {\n getListOfModalRoots,\n getModalRoot,\n addToIndex,\n removeFromIndex,\n} from './helpers'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { Context } from '../../shared'\nimport { ContextProps } from '../../shared/Context'\n\ninterface ModalContentState {\n triggeredBy: string\n triggeredByEvent: Event\n color: string\n}\n\ndeclare global {\n interface Window {\n __modalStack: any[]\n }\n}\n\ninterface CSSPropertiesWithVars extends React.CSSProperties {\n '--modal-background-color': string\n}\n\nexport default class ModalContent extends React.PureComponent<\n ModalContentProps,\n ModalContentState\n> {\n state = { triggeredBy: null, triggeredByEvent: null, color: null }\n\n _contentRef: React.RefObject<HTMLElement>\n _scrollRef: React.RefObject<HTMLElement>\n _overlayClickRef: { current: null | HTMLElement }\n _id: string\n _lockTimeout: NodeJS.Timeout\n _focusTimeout: NodeJS.Timeout\n _androidFocusTimeout: NodeJS.Timeout\n _ii: InteractionInvalidation\n _iiLocal: InteractionInvalidation\n\n static contextType = Context\n\n context!: ContextProps\n\n constructor(props: ModalContentProps) {\n super(props)\n this._contentRef = this.props.content_ref || React.createRef()\n this._scrollRef = this.props.scroll_ref || React.createRef()\n this._overlayClickRef = React.createRef()\n\n // NB: The \"\"._id\" is used in the __modalStack as \"last._id\"\n this._id = props.id\n }\n\n componentDidMount() {\n const {\n id = null,\n no_animation = false,\n animation_duration = null,\n } = this.props\n\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n // Add it to the index at first\n // we use it later with getListOfModalRoots\n addToIndex(this)\n\n // Because of nested modals/drawers, we run this regardless\n // has to be run at first – so the scrollbar gets removed\n this.removeScrollPossibility() // forces browser to re-paint\n\n this.setFocus()\n this.setAndroidFocusHelper()\n\n dispatchCustomElementEvent(this, 'on_open', {\n id,\n })\n\n if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {\n this.lockBody() // forces browser to re-paint\n } else {\n this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n clearTimeout(this._lockTimeout)\n this.removeLocks()\n }\n\n lockBody = () => {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n if (firstLevel === this) {\n this._ii = new InteractionInvalidation()\n this._ii.setBypassSelector(\n [\n // Bypass modal content\n '.dnb-modal__content *',\n `#dnb-modal-${this.props.root_id || 'root'}`,\n `#dnb-modal-${this.props.root_id || 'root'} *`,\n\n // TODO: Eventually in future, make it possible to bypass invalidation from outside\n // '.dnb-modal--bypass_invalidation',\n // '.dnb-modal--bypass_invalidation_deep *',\n\n ...(this.props?.bypass_invalidation_selectors || []),\n ].filter(Boolean)\n )\n this._ii.activate()\n } else {\n modalRoots.forEach((modal) => {\n if (\n modal !== this &&\n typeof modal._iiLocal === 'undefined' &&\n typeof modal._scrollRef !== 'undefined'\n ) {\n modal._iiLocal = new InteractionInvalidation()\n modal._iiLocal.activate(modal._scrollRef.current)\n }\n })\n }\n\n if (typeof document !== 'undefined') {\n /** To ensure, we have always a working keydown, we call it both on the element and document */\n document.addEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n removeLocks() {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n removeFromIndex(this)\n\n if (firstLevel === this) {\n this._ii?.revert()\n this.revertScrollPossibility()\n } else {\n try {\n const modal = modalRoots[modalRoots.length - 2]\n if (modal !== this && modal._iiLocal) {\n modal._iiLocal.revert()\n delete modal._iiLocal\n }\n } catch (e) {\n warn(e)\n }\n }\n\n this.removeAndroidFocusHelper()\n\n const id = this.props.id\n const { triggeredBy, triggeredByEvent } = this.state\n dispatchCustomElementEvent(this, 'on_close', {\n id,\n event: triggeredByEvent,\n triggeredBy: triggeredBy || 'unmount',\n })\n\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n setAndroidFocusHelper() {\n if (typeof window !== 'undefined' && isAndroid()) {\n window.addEventListener('resize', this._androidFocusHelper)\n }\n }\n\n removeAndroidFocusHelper() {\n window.removeEventListener('resize', this._androidFocusHelper)\n clearTimeout(this._androidFocusTimeout)\n }\n\n _androidFocusHelper = () => {\n const { animation_duration = null } = this.props\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n clearTimeout(this._androidFocusTimeout)\n this._androidFocusTimeout = setTimeout(() => {\n try {\n if (\n document.activeElement?.tagName == 'INPUT' ||\n document.activeElement?.tagName == 'TEXTAREA'\n ) {\n document.activeElement.scrollIntoView()\n }\n } catch (e) {\n //\n }\n }, timeoutDuration / 2) // Older Android needs a delay here\n }\n\n setFocus() {\n const {\n focus_selector = null,\n no_animation = null,\n animation_duration = null,\n } = this.props\n const elem = this._contentRef.current\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n if (elem) {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(\n () => {\n try {\n let focusElement = elem as HTMLInputElement\n\n // Try to use the \"first-focus\" method first\n if (typeof focus_selector === 'string') {\n focusElement = elem.querySelector(focus_selector)\n }\n\n focusElement?.focus?.()\n focusElement?.select?.()\n\n const noH1Elem = elem.querySelector('h1, h2, h3')\n // Check if there's a header in a Drawer.Header\n const noH1ElemInDrawerHeader = elem.parentElement\n ?.querySelector('.dnb-drawer__header')\n ?.querySelector('h1, h2, h3')\n\n // Check if there's a header in a Dialog.Header\n const noH1ElemInDialogHeader = elem.parentElement\n ?.querySelector('.dnb-dialog__header')\n ?.querySelector('h1, h2, h3')\n\n if (\n noH1Elem?.tagName !== 'H1' &&\n noH1ElemInDrawerHeader?.tagName !== 'H1' &&\n noH1ElemInDialogHeader?.tagName !== 'H1'\n ) {\n warn('A Dialog or Drawer needs a h1 as its first element!')\n }\n } catch (e) {\n warn(e)\n }\n },\n isTrue(no_animation) ? 0 : timeoutDuration || 0\n ) // with this delay, the user can press esc without an focus action first\n }\n }\n\n removeScrollPossibility() {\n if (this._scrollRef.current) {\n disableBodyScroll(this._scrollRef.current)\n }\n }\n\n revertScrollPossibility() {\n enableBodyScroll(this._scrollRef.current)\n clearAllBodyScrollLocks()\n }\n\n preventClick = (event) => {\n if (event) {\n event.stopPropagation()\n }\n }\n\n onCloseClickHandler = (event: React.SyntheticEvent) => {\n this.closeModalContent(event, { triggeredBy: 'button' })\n }\n\n onContentMouseDownHandler = (event: React.SyntheticEvent) => {\n this._overlayClickRef.current =\n event.target === event.currentTarget\n ? (event.target as HTMLElement)\n : null\n }\n\n onContentClickHandler = (event: React.SyntheticEvent) => {\n /**\n * Prevent false-positive Modal close,\n * when e.g. selecting text inside and moving the mouse outside,\n * we would still get this event fired. There we check if the current click,\n * has the same target as where the click got initiated.\n */\n if (this._overlayClickRef.current !== event.target) {\n return // stop here\n }\n this._overlayClickRef.current = null\n\n const { prevent_overlay_close } = this.props\n\n if (!isTrue(prevent_overlay_close)) {\n this.closeModalContent(event, {\n triggeredBy: 'overlay',\n ifIsLatest: false,\n })\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'esc': {\n const mostCurrent = getModalRoot(-1)\n\n if (mostCurrent === this) {\n event.preventDefault()\n this.closeModalContent(event, {\n triggeredBy: 'keyboard',\n })\n }\n\n break\n }\n }\n }\n\n closeModalContent(event, { triggeredBy, ...params }) {\n event?.persist?.()\n this.setState({ triggeredBy, triggeredByEvent: event }, () => {\n this.props.close(event, {\n triggeredBy,\n ...params,\n })\n })\n }\n\n setBackgroundColor = (color: string) => {\n this.setState({ color })\n }\n\n render() {\n const {\n hide,\n title,\n labelled_by,\n id: _id, // eslint-disable-line\n close_title = 'Lukk',\n dialog_title = 'Vindu',\n hide_close_button = false,\n close_button_attributes,\n no_animation = false,\n no_animation_on_mobile = false,\n fullscreen = 'auto',\n container_placement = 'right',\n vertical_alignment = 'center',\n close,\n content_class,\n overlay_class,\n content_id,\n children, // eslint-disable-line\n dialog_role = null,\n ...rest\n } = this.props\n const { color } = this.state\n\n const contentId = content_id || makeUniqueId('modal-')\n\n const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)\n let role = dialog_role || 'dialog'\n if (!useDialogRole && role === 'dialog') {\n role = 'region'\n }\n\n const contentParams = {\n /**\n * Do not use role=\"dialog\" on Safari\n *\n * VoiceOver has troubles with role=\"dialog\" and \"Modal in Modal\",\n * the result is, only the first Modal gets focus (set by Safari)\n *\n * Tests have shown: Both VoiceOver are working fine with the:\n * \"aria-labelledby\" and \"aria-describedby\" approach\n *\n */\n role,\n 'aria-modal': useDialogRole ? true : undefined,\n\n /**\n * ARIA references\n */\n 'aria-labelledby': combineLabelledBy(\n this.props,\n title ? contentId + '-title' : null,\n labelled_by\n ),\n 'aria-describedby': combineDescribedBy(\n this.props,\n contentId + '-content'\n ),\n\n /**\n * If no labelled_by and no title is given,\n * set a fallback \"dialog_title\"\n */\n 'aria-label': !title && !labelled_by ? dialog_title : undefined,\n\n className: classnames(\n 'dnb-modal__content',\n isTrue(fullscreen)\n ? 'dnb-modal__content--fullscreen'\n : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',\n container_placement\n ? `dnb-modal__content--${container_placement || 'right'}`\n : null,\n `dnb-modal__vertical-alignment--${vertical_alignment}`,\n getThemeClasses(this.context?.theme),\n content_class\n ),\n onMouseDown: this.onContentMouseDownHandler,\n onClick: this.onContentClickHandler,\n }\n\n const content =\n typeof children === 'function'\n ? children({ ...rest, close })\n : children\n\n return (\n <ModalContext.Provider\n value={{\n id: this.props.id,\n title,\n hide_close_button,\n close_button_attributes,\n close_title,\n hide,\n setBackgroundColor: this.setBackgroundColor,\n onCloseClickHandler: this.onCloseClickHandler,\n preventClick: this.preventClick,\n onKeyDownHandler: this.onKeyDownHandler,\n contentRef: this._contentRef,\n scrollRef: this._scrollRef,\n contentId,\n close,\n }}\n >\n <div\n id={contentId}\n /** Sets the color on scroll overflow (at the bottom) */\n style={\n (color\n ? { '--modal-background-color': `var(--color-${color})` }\n : null) as CSSPropertiesWithVars\n }\n {...contentParams}\n >\n {content}\n </div>\n\n <span\n className={classnames(\n 'dnb-modal__overlay',\n hide && 'dnb-modal__overlay--hide',\n isTrue(no_animation) && 'dnb-modal__overlay--no-animation',\n isTrue(no_animation_on_mobile) &&\n 'dnb-modal__overlay--no-animation-on-mobile',\n overlay_class\n )}\n aria-hidden={true}\n />\n </ModalContext.Provider>\n )\n }\n}\n"],"mappings":";;;;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,iBAAiB,EACjBC,gBAAgB,EAChBC,uBAAuB,QAClB,kBAAkB;AACzB,SACEC,IAAI,EACJC,MAAM,EACNC,YAAY,EACZC,uBAAuB,EACvBC,iBAAiB,EACjBC,kBAAkB,EAClBC,0BAA0B,EAC1BC,OAAO,QACF,+BAA+B;AACtC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,SAAS,QAAQ,sBAAsB;AAE3E,SACEC,mBAAmB,EACnBC,YAAY,EACZC,UAAU,EACVC,eAAe,QACV,WAAW;AAClB,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,OAAO,QAAQ,cAAc;AAmBtC,eAAe,MAAMC,YAAY,SAASxB,KAAK,CAACyB,aAAa,CAG3D;EAiBAC,WAAWA,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,CAAC;IAAAC,eAAA,gBAjBN;MAAEC,WAAW,EAAE,IAAI;MAAEC,gBAAgB,EAAE,IAAI;MAAEC,KAAK,EAAE;IAAK,CAAC;IAAAH,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAkEvD,MAAM;MACf,MAAMI,UAAU,GAAGd,mBAAmB,CAAC,CAAC;MACxC,MAAMe,UAAU,GAAGD,UAAU,CAAC,CAAC,CAAC;MAEhC,IAAIC,UAAU,KAAK,IAAI,EAAE;QAAA,IAAAC,WAAA;QACvB,IAAI,CAACC,GAAG,GAAG,IAAI3B,uBAAuB,CAAC,CAAC;QACxC,IAAI,CAAC2B,GAAG,CAACC,iBAAiB,CACxB,CAEE,uBAAuB,EACtB,cAAa,IAAI,CAACT,KAAK,CAACU,OAAO,IAAI,MAAO,EAAC,EAC3C,cAAa,IAAI,CAACV,KAAK,CAACU,OAAO,IAAI,MAAO,IAAG,EAM9C,IAAI,EAAAH,WAAA,OAAI,CAACP,KAAK,cAAAO,WAAA,uBAAVA,WAAA,CAAYI,6BAA6B,KAAI,EAAE,CAAC,CACrD,CAACC,MAAM,CAACC,OAAO,CAClB,CAAC;QACD,IAAI,CAACL,GAAG,CAACM,QAAQ,CAAC,CAAC;MACrB,CAAC,MAAM;QACLT,UAAU,CAACU,OAAO,CAAEC,KAAK,IAAK;UAC5B,IACEA,KAAK,KAAK,IAAI,IACd,OAAOA,KAAK,CAACC,QAAQ,KAAK,WAAW,IACrC,OAAOD,KAAK,CAACE,UAAU,KAAK,WAAW,EACvC;YACAF,KAAK,CAACC,QAAQ,GAAG,IAAIpC,uBAAuB,CAAC,CAAC;YAC9CmC,KAAK,CAACC,QAAQ,CAACH,QAAQ,CAACE,KAAK,CAACE,UAAU,CAACC,OAAO,CAAC;UACnD;QACF,CAAC,CAAC;MACJ;MAEA,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;QAEnCA,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,gBAAgB,CAAC;MAC7D;IACF,CAAC;IAAArB,eAAA,8BAiDqB,MAAM;MAC1B,MAAM;QAAEsB,kBAAkB,GAAG;MAAK,CAAC,GAAG,IAAI,CAACvB,KAAK;MAChD,MAAMwB,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;MAExBG,YAAY,CAAC,IAAI,CAACC,oBAAoB,CAAC;MACvC,IAAI,CAACA,oBAAoB,GAAGC,UAAU,CAAC,MAAM;QAC3C,IAAI;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UACF,IACE,EAAAD,qBAAA,GAAAT,QAAQ,CAACW,aAAa,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBG,OAAO,KAAI,OAAO,IAC1C,EAAAF,sBAAA,GAAAV,QAAQ,CAACW,aAAa,cAAAD,sBAAA,uBAAtBA,sBAAA,CAAwBE,OAAO,KAAI,UAAU,EAC7C;YACAZ,QAAQ,CAACW,aAAa,CAACE,cAAc,CAAC,CAAC;UACzC;QACF,CAAC,CAAC,OAAOC,CAAC,EAAE,CAEZ;MACF,CAAC,EAAEV,eAAe,GAAG,CAAC,CAAC;IACzB,CAAC;IAAAvB,eAAA,uBAmEekC,KAAK,IAAK;MACxB,IAAIA,KAAK,EAAE;QACTA,KAAK,CAACC,eAAe,CAAC,CAAC;MACzB;IACF,CAAC;IAAAnC,eAAA,8BAEsBkC,KAA2B,IAAK;MACrD,IAAI,CAACE,iBAAiB,CAACF,KAAK,EAAE;QAAEjC,WAAW,EAAE;MAAS,CAAC,CAAC;IAC1D,CAAC;IAAAD,eAAA,oCAE4BkC,KAA2B,IAAK;MAC3D,IAAI,CAACG,gBAAgB,CAACnB,OAAO,GAC3BgB,KAAK,CAACI,MAAM,KAAKJ,KAAK,CAACK,aAAa,GAC/BL,KAAK,CAACI,MAAM,GACb,IAAI;IACZ,CAAC;IAAAtC,eAAA,gCAEwBkC,KAA2B,IAAK;MAOvD,IAAI,IAAI,CAACG,gBAAgB,CAACnB,OAAO,KAAKgB,KAAK,CAACI,MAAM,EAAE;QAClD;MACF;MACA,IAAI,CAACD,gBAAgB,CAACnB,OAAO,GAAG,IAAI;MAEpC,MAAM;QAAEsB;MAAsB,CAAC,GAAG,IAAI,CAACzC,KAAK;MAE5C,IAAI,CAACrB,MAAM,CAAC8D,qBAAqB,CAAC,EAAE;QAClC,IAAI,CAACJ,iBAAiB,CAACF,KAAK,EAAE;UAC5BjC,WAAW,EAAE,SAAS;UACtBwC,UAAU,EAAE;QACd,CAAC,CAAC;MACJ;IACF,CAAC;IAAAzC,eAAA,2BAEmBkC,KAAK,IAAK;MAC5B,QAAQlD,OAAO,CAACkD,KAAK,CAAC;QACpB,KAAK,KAAK;UAAE;YACV,MAAMQ,WAAW,GAAGnD,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAImD,WAAW,KAAK,IAAI,EAAE;cACxBR,KAAK,CAACS,cAAc,CAAC,CAAC;cACtB,IAAI,CAACP,iBAAiB,CAACF,KAAK,EAAE;gBAC5BjC,WAAW,EAAE;cACf,CAAC,CAAC;YACJ;YAEA;UACF;MACF;IACF,CAAC;IAAAD,eAAA,6BAYqBG,KAAa,IAAK;MACtC,IAAI,CAACyC,QAAQ,CAAC;QAAEzC;MAAM,CAAC,CAAC;IAC1B,CAAC;IAlSC,IAAI,CAAC0C,WAAW,GAAG,IAAI,CAAC9C,KAAK,CAAC+C,WAAW,IAAI1E,KAAK,CAAC2E,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC9B,UAAU,GAAG,IAAI,CAAClB,KAAK,CAACiD,UAAU,IAAI5E,KAAK,CAAC2E,SAAS,CAAC,CAAC;IAC5D,IAAI,CAACV,gBAAgB,GAAGjE,KAAK,CAAC2E,SAAS,CAAC,CAAC;IAGzC,IAAI,CAACE,GAAG,GAAGlD,KAAK,CAACmD,EAAE;EACrB;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MACJD,EAAE,GAAG,IAAI;MACTE,YAAY,GAAG,KAAK;MACpB9B,kBAAkB,GAAG;IACvB,CAAC,GAAG,IAAI,CAACvB,KAAK;IAEd,MAAMwB,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;IAIxB9B,UAAU,CAAC,IAAI,CAAC;IAIhB,IAAI,CAAC6D,uBAAuB,CAAC,CAAC;IAE9B,IAAI,CAACC,QAAQ,CAAC,CAAC;IACf,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAE5BxE,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE;MAC1CmE;IACF,CAAC,CAAC;IAEF,IAAIxE,MAAM,CAAC0E,YAAY,CAAC,IAAII,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MAC3D,IAAI,CAACC,QAAQ,CAAC,CAAC;IACjB,CAAC,MAAM;MACL,IAAI,CAACC,YAAY,GAAGjC,UAAU,CAAC,IAAI,CAACgC,QAAQ,EAAEpC,eAAe,GAAG,GAAG,CAAC;IACtE;EACF;EAEAsC,oBAAoBA,CAAA,EAAG;IACrBpC,YAAY,CAAC,IAAI,CAACqC,aAAa,CAAC;IAChCrC,YAAY,CAAC,IAAI,CAACmC,YAAY,CAAC;IAC/B,IAAI,CAACG,WAAW,CAAC,CAAC;EACpB;EA0CAA,WAAWA,CAAA,EAAG;IACZ,MAAM3D,UAAU,GAAGd,mBAAmB,CAAC,CAAC;IACxC,MAAMe,UAAU,GAAGD,UAAU,CAAC,CAAC,CAAC;IAEhCX,eAAe,CAAC,IAAI,CAAC;IAErB,IAAIY,UAAU,KAAK,IAAI,EAAE;MAAA,IAAA2D,SAAA;MACvB,CAAAA,SAAA,OAAI,CAACzD,GAAG,cAAAyD,SAAA,uBAARA,SAAA,CAAUC,MAAM,CAAC,CAAC;MAClB,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAChC,CAAC,MAAM;MACL,IAAI;QACF,MAAMnD,KAAK,GAAGX,UAAU,CAACA,UAAU,CAAC+D,MAAM,GAAG,CAAC,CAAC;QAC/C,IAAIpD,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACC,QAAQ,EAAE;UACpCD,KAAK,CAACC,QAAQ,CAACiD,MAAM,CAAC,CAAC;UACvB,OAAOlD,KAAK,CAACC,QAAQ;QACvB;MACF,CAAC,CAAC,OAAOiB,CAAC,EAAE;QACVxD,IAAI,CAACwD,CAAC,CAAC;MACT;IACF;IAEA,IAAI,CAACmC,wBAAwB,CAAC,CAAC;IAE/B,MAAMlB,EAAE,GAAG,IAAI,CAACnD,KAAK,CAACmD,EAAE;IACxB,MAAM;MAAEjD,WAAW;MAAEC;IAAiB,CAAC,GAAG,IAAI,CAACmE,KAAK;IACpDtF,0BAA0B,CAAC,IAAI,EAAE,UAAU,EAAE;MAC3CmE,EAAE;MACFhB,KAAK,EAAEhC,gBAAgB;MACvBD,WAAW,EAAEA,WAAW,IAAI;IAC9B,CAAC,CAAC;IAEF,IAAI,OAAOkB,QAAQ,KAAK,WAAW,EAAE;MACnCA,QAAQ,CAACmD,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACjD,gBAAgB,CAAC;IAChE;EACF;EAEAkC,qBAAqBA,CAAA,EAAG;IACtB,IAAI,OAAOgB,MAAM,KAAK,WAAW,IAAIlF,SAAS,CAAC,CAAC,EAAE;MAChDkF,MAAM,CAACnD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACoD,mBAAmB,CAAC;IAC7D;EACF;EAEAJ,wBAAwBA,CAAA,EAAG;IACzBG,MAAM,CAACD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACE,mBAAmB,CAAC;IAC9D/C,YAAY,CAAC,IAAI,CAACC,oBAAoB,CAAC;EACzC;EAwBA4B,QAAQA,CAAA,EAAG;IACT,MAAM;MACJmB,cAAc,GAAG,IAAI;MACrBrB,YAAY,GAAG,IAAI;MACnB9B,kBAAkB,GAAG;IACvB,CAAC,GAAG,IAAI,CAACvB,KAAK;IACd,MAAM2E,IAAI,GAAG,IAAI,CAAC7B,WAAW,CAAC3B,OAAO;IACrC,MAAMK,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;IAExB,IAAIoD,IAAI,EAAE;MACRjD,YAAY,CAAC,IAAI,CAACqC,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAGnC,UAAU,CAC7B,MAAM;QACJ,IAAI;UAAA,IAAAgD,aAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA;UACF,IAAIC,YAAY,GAAGT,IAAwB;UAG3C,IAAI,OAAOD,cAAc,KAAK,QAAQ,EAAE;YACtCU,YAAY,GAAGT,IAAI,CAACU,aAAa,CAACX,cAAc,CAAC;UACnD;UAEA,CAAAE,aAAA,GAAAQ,YAAY,cAAAR,aAAA,wBAAAC,mBAAA,GAAZD,aAAA,CAAcU,KAAK,cAAAT,mBAAA,uBAAnBA,mBAAA,CAAAU,IAAA,CAAAX,aAAsB,CAAC;UACvB,CAAAE,cAAA,GAAAM,YAAY,cAAAN,cAAA,wBAAAC,qBAAA,GAAZD,cAAA,CAAcU,MAAM,cAAAT,qBAAA,uBAApBA,qBAAA,CAAAQ,IAAA,CAAAT,cAAuB,CAAC;UAExB,MAAMW,QAAQ,GAAGd,IAAI,CAACU,aAAa,CAAC,YAAY,CAAC;UAEjD,MAAMK,sBAAsB,IAAAV,mBAAA,GAAGL,IAAI,CAACgB,aAAa,cAAAX,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAC3BK,aAAa,CAAC,qBAAqB,CAAC,cAAAJ,qBAAA,uBADTA,qBAAA,CAE3BI,aAAa,CAAC,YAAY,CAAC;UAG/B,MAAMO,sBAAsB,IAAAV,oBAAA,GAAGP,IAAI,CAACgB,aAAa,cAAAT,oBAAA,wBAAAC,qBAAA,GAAlBD,oBAAA,CAC3BG,aAAa,CAAC,qBAAqB,CAAC,cAAAF,qBAAA,uBADTA,qBAAA,CAE3BE,aAAa,CAAC,YAAY,CAAC;UAE/B,IACE,CAAAI,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzD,OAAO,MAAK,IAAI,IAC1B,CAAA0D,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAE1D,OAAO,MAAK,IAAI,IACxC,CAAA4D,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAE5D,OAAO,MAAK,IAAI,EACxC;YACAtD,IAAI,CAAC,qDAAqD,CAAC;UAC7D;QACF,CAAC,CAAC,OAAOwD,CAAC,EAAE;UACVxD,IAAI,CAACwD,CAAC,CAAC;QACT;MACF,CAAC,EACDvD,MAAM,CAAC0E,YAAY,CAAC,GAAG,CAAC,GAAG7B,eAAe,IAAI,CAChD,CAAC;IACH;EACF;EAEA8B,uBAAuBA,CAAA,EAAG;IACxB,IAAI,IAAI,CAACpC,UAAU,CAACC,OAAO,EAAE;MAC3B5C,iBAAiB,CAAC,IAAI,CAAC2C,UAAU,CAACC,OAAO,CAAC;IAC5C;EACF;EAEAgD,uBAAuBA,CAAA,EAAG;IACxB3F,gBAAgB,CAAC,IAAI,CAAC0C,UAAU,CAACC,OAAO,CAAC;IACzC1C,uBAAuB,CAAC,CAAC;EAC3B;EA0DA4D,iBAAiBA,CAACF,KAAK,EAAA0D,IAAA,EAA8B;IAAA,IAAAC,cAAA;IAAA,IAA5B;QAAE5F;MAAuB,CAAC,GAAA2F,IAAA;MAARE,MAAM,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;IAC/C9D,KAAK,aAALA,KAAK,wBAAA2D,cAAA,GAAL3D,KAAK,CAAE+D,OAAO,cAAAJ,cAAA,uBAAdA,cAAA,CAAAP,IAAA,CAAApD,KAAiB,CAAC;IAClB,IAAI,CAACU,QAAQ,CAAC;MAAE3C,WAAW;MAAEC,gBAAgB,EAAEgC;IAAM,CAAC,EAAE,MAAM;MAC5D,IAAI,CAACnC,KAAK,CAACmG,KAAK,CAAChE,KAAK,EAAAiE,aAAA;QACpBlG;MAAW,GACR6F,MAAM,CACV,CAAC;IACJ,CAAC,CAAC;EACJ;EAMAM,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA;IACP,MAAAC,YAAA,GAqBI,IAAI,CAACvG,KAAK;MArBR;QACJwG,IAAI;QACJC,KAAK;QACLC,WAAW;QACXvD,EAAE,EAAED,GAAG;QACPyD,WAAW,GAAG,MAAM;QACpBC,YAAY,GAAG,OAAO;QACtBC,iBAAiB,GAAG,KAAK;QACzBC,uBAAuB;QACvBzD,YAAY,GAAG,KAAK;QACpB0D,sBAAsB,GAAG,KAAK;QAC9BC,UAAU,GAAG,MAAM;QACnBC,mBAAmB,GAAG,OAAO;QAC7BC,kBAAkB,GAAG,QAAQ;QAC7Bf,KAAK;QACLgB,aAAa;QACbC,aAAa;QACbC,UAAU;QACVC,QAAQ;QACRC,WAAW,GAAG;MAEhB,CAAC,GAAAhB,YAAA;MADIiB,IAAI,GAAAxB,wBAAA,CAAAO,YAAA,EAAAkB,UAAA;IAET,MAAM;MAAErH;IAAM,CAAC,GAAG,IAAI,CAACkE,KAAK;IAE5B,MAAMoD,SAAS,GAAGL,UAAU,IAAIzI,YAAY,CAAC,QAAQ,CAAC;IAEtD,MAAM+I,aAAa,GAAG,EAAEtI,MAAM,IAAID,SAAS,IAAID,MAAM,CAAC;IACtD,IAAIyI,IAAI,GAAGL,WAAW,IAAI,QAAQ;IAClC,IAAI,CAACI,aAAa,IAAIC,IAAI,KAAK,QAAQ,EAAE;MACvCA,IAAI,GAAG,QAAQ;IACjB;IAEA,MAAMC,aAAa,GAAG;MAWpBD,IAAI;MACJ,YAAY,EAAED,aAAa,GAAG,IAAI,GAAGG,SAAS;MAK9C,iBAAiB,EAAEhJ,iBAAiB,CAClC,IAAI,CAACkB,KAAK,EACVyG,KAAK,GAAGiB,SAAS,GAAG,QAAQ,GAAG,IAAI,EACnChB,WACF,CAAC;MACD,kBAAkB,EAAE3H,kBAAkB,CACpC,IAAI,CAACiB,KAAK,EACV0H,SAAS,GAAG,UACd,CAAC;MAMD,YAAY,EAAE,CAACjB,KAAK,IAAI,CAACC,WAAW,GAAGE,YAAY,GAAGkB,SAAS;MAE/DC,SAAS,EAAEzJ,UAAU,sDAQe4I,kBAAmB,IANrDvI,MAAM,CAACqI,UAAU,CAAC,GACd,gCAAgC,GAChCA,UAAU,KAAK,MAAM,IAAI,qCAAqC,EAKlErH,eAAe,EAAA2G,aAAA,GAAC,IAAI,CAAC0B,OAAO,cAAA1B,aAAA,uBAAZA,aAAA,CAAc2B,KAAK,CAAC,EACpCd,aAAa,EALbF,mBAAmB,IACd,uBAAsBA,mBAAmB,IAAI,OAAQ,EAK5D,CAAC;MACDiB,WAAW,EAAE,IAAI,CAACC,yBAAyB;MAC3CC,OAAO,EAAE,IAAI,CAACC;IAChB,CAAC;IAED,MAAMC,OAAO,GACX,OAAOhB,QAAQ,KAAK,UAAU,GAC1BA,QAAQ,CAAAlB,aAAA,CAAAA,aAAA,KAAMoB,IAAI;MAAErB;IAAK,EAAE,CAAC,GAC5BmB,QAAQ;IAEd,OACEjJ,KAAA,CAAAkK,aAAA,CAACrJ,YAAY,CAACsJ,QAAQ;MACpBC,KAAK,EAAE;QACLtF,EAAE,EAAE,IAAI,CAACnD,KAAK,CAACmD,EAAE;QACjBsD,KAAK;QACLI,iBAAiB;QACjBC,uBAAuB;QACvBH,WAAW;QACXH,IAAI;QACJkC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;QAC7CC,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BtH,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;QACvCuH,UAAU,EAAE,IAAI,CAAC/F,WAAW;QAC5BgG,SAAS,EAAE,IAAI,CAAC5H,UAAU;QAC1BwG,SAAS;QACTvB;MACF;IAAE,GAEF9H,KAAA,CAAAkK,aAAA,QAAAQ,QAAA;MACE5F,EAAE,EAAEuE,SAAU;MAEdsB,KAAK,EACF5I,KAAK,GACF;QAAE,0BAA0B,EAAG,eAAcA,KAAM;MAAG,CAAC,GACvD;IACL,GACGyH,aAAa,GAEhBS,OACE,CAAC,EAENjK,KAAA,CAAAkK,aAAA;MACER,SAAS,EAAEzJ,UAAU,CACnB,oBAAoB,EAKpB8I,aAAa,EAJbZ,IAAI,IAAI,0BAA0B,EAClC7H,MAAM,CAAC0E,YAAY,CAAC,IAAI,kCAAkC,EAC1D1E,MAAM,CAACoI,sBAAsB,CAAC,IAC5B,4CAEJ,CAAE;MACF,eAAa;IAAK,CACnB,CACoB,CAAC;EAE5B;AACF;AAAC9G,eAAA,CA/boBJ,YAAY,iBAgBVD,OAAO"}
@@ -24,7 +24,8 @@ export interface ModalHeaderProps extends Omit<SectionProps, 'children'> {
24
24
  */
25
25
  title_class?: string;
26
26
  /**
27
- * Font size of the title (maps to `dnb-p--<size>`)
27
+ * Font size of the title (maps to `dnb-h--<size>`)
28
+ * Default is `large`
28
29
  */
29
30
  size?: 'medium' | 'large' | 'x-large' | 'xx-large';
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","names":["React","classnames","findElementInChildren","Section","ModalContext","H1","ModalHeader","PureComponent","constructor","args","_defineProperty","render","_this$props","props","title","className","children","title_class","size","ref","sectionProps","_objectWithoutProperties","_excluded","customHeader","cur","type","usedTitle","context","showTitle","fontSize","createElement","_extends","style_type","id","undefined"],"sources":["../../../../../src/components/modal/parts/ModalHeader.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { findElementInChildren } from '../../../shared/component-helper'\nimport Section, { SectionProps } from '../../section/Section'\nimport ModalContext from '../ModalContext'\nimport H1 from '../../../elements/H1'\nimport { ReactChildType } from '../types'\n\nexport interface ModalHeaderProps extends Omit<SectionProps, 'children'> {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * The modal/drawer title. Displays on the very top of the content.\n */\n title?: React.ReactNode\n\n /**\n * Give the inner content wrapper a class name (maps to `dnb-modal__content__inner`).\n */\n className?: string\n\n /**\n * Give the h1 component a classname (maps to `dnb-modal__title`)\n */\n title_class?: string\n\n /**\n * Font size of the title (maps to `dnb-p--<size>`)\n */\n size?: 'medium' | 'large' | 'x-large' | 'xx-large'\n}\n\nexport default class ModalHeader extends React.PureComponent<\n ModalHeaderProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'title' | 'children'>\n> {\n static contextType = ModalContext\n\n context!: React.ContextType<typeof ModalContext>\n\n render() {\n const {\n title = null,\n className = null,\n children = null,\n title_class = null,\n size = null,\n ref, // eslint-disable-line\n ...sectionProps\n } = this.props\n\n const customHeader = findElementInChildren(children, (cur) => {\n return cur.type === 'h1' || cur.type === H1\n })\n\n const usedTitle = title || this.context.title\n const showTitle = !customHeader && usedTitle\n const fontSize = size || 'large'\n\n return (\n <Section\n style_type=\"white\"\n className={classnames(className)}\n id={\n showTitle ? 'dnb-modal-' + this.context.id + '-title' : undefined\n }\n {...sectionProps}\n >\n {showTitle && (\n <h1\n className={classnames(\n 'dnb-modal__title', // for tests\n 'dnb-space__top--zero',\n 'dnb-space__bottom--small',\n `dnb-h--${fontSize}`,\n title_class\n )}\n >\n {usedTitle}\n </h1>\n )}\n <div>{children as React.ReactNode}</div>\n </Section>\n )\n }\n}\n"],"mappings":";;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,OAAOC,OAAO,MAAwB,uBAAuB;AAC7D,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,EAAE,MAAM,sBAAsB;AA8BrC,eAAe,MAAMC,WAAW,SAASN,KAAK,CAACO,aAAa,CAG1D;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;EAAA;EAKAC,MAAMA,CAAA,EAAG;IACP,MAAAC,WAAA,GAQI,IAAI,CAACC,KAAK;MARR;QACJC,KAAK,GAAG,IAAI;QACZC,SAAS,GAAG,IAAI;QAChBC,QAAQ,GAAG,IAAI;QACfC,WAAW,GAAG,IAAI;QAClBC,IAAI,GAAG,IAAI;QACXC;MAEF,CAAC,GAAAP,WAAA;MADIQ,YAAY,GAAAC,wBAAA,CAAAT,WAAA,EAAAU,SAAA;IAGjB,MAAMC,YAAY,GAAGrB,qBAAqB,CAACc,QAAQ,EAAGQ,GAAG,IAAK;MAC5D,OAAOA,GAAG,CAACC,IAAI,KAAK,IAAI,IAAID,GAAG,CAACC,IAAI,KAAKpB,EAAE;IAC7C,CAAC,CAAC;IAEF,MAAMqB,SAAS,GAAGZ,KAAK,IAAI,IAAI,CAACa,OAAO,CAACb,KAAK;IAC7C,MAAMc,SAAS,GAAG,CAACL,YAAY,IAAIG,SAAS;IAC5C,MAAMG,QAAQ,GAAGX,IAAI,IAAI,OAAO;IAEhC,OACElB,KAAA,CAAA8B,aAAA,CAAC3B,OAAO,EAAA4B,QAAA;MACNC,UAAU,EAAC,OAAO;MAClBjB,SAAS,EAAEd,UAAU,CAACc,SAAS,CAAE;MACjCkB,EAAE,EACAL,SAAS,GAAG,YAAY,GAAG,IAAI,CAACD,OAAO,CAACM,EAAE,GAAG,QAAQ,GAAGC;IACzD,GACGd,YAAY,GAEfQ,SAAS,IACR5B,KAAA,CAAA8B,aAAA;MACEf,SAAS,EAAEd,UAAU,0EAIT4B,QAAS,IACnBZ,WACF;IAAE,GAEDS,SACC,CACL,EACD1B,KAAA,CAAA8B,aAAA,cAAMd,QAAiC,CAChC,CAAC;EAEd;AACF;AAACN,eAAA,CArDoBJ,WAAW,iBAITF,YAAY"}
1
+ {"version":3,"file":"ModalHeader.js","names":["React","classnames","findElementInChildren","Section","ModalContext","H1","ModalHeader","PureComponent","constructor","args","_defineProperty","render","_this$props","props","title","className","children","title_class","size","ref","sectionProps","_objectWithoutProperties","_excluded","customHeader","cur","type","usedTitle","context","showTitle","fontSize","createElement","_extends","style_type","id","undefined"],"sources":["../../../../../src/components/modal/parts/ModalHeader.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { findElementInChildren } from '../../../shared/component-helper'\nimport Section, { SectionProps } from '../../section/Section'\nimport ModalContext from '../ModalContext'\nimport H1 from '../../../elements/H1'\nimport { ReactChildType } from '../types'\n\nexport interface ModalHeaderProps extends Omit<SectionProps, 'children'> {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * The modal/drawer title. Displays on the very top of the content.\n */\n title?: React.ReactNode\n\n /**\n * Give the inner content wrapper a class name (maps to `dnb-modal__content__inner`).\n */\n className?: string\n\n /**\n * Give the h1 component a classname (maps to `dnb-modal__title`)\n */\n title_class?: string\n\n /**\n * Font size of the title (maps to `dnb-h--<size>`)\n * Default is `large`\n */\n size?: 'medium' | 'large' | 'x-large' | 'xx-large'\n}\n\nexport default class ModalHeader extends React.PureComponent<\n ModalHeaderProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'title' | 'children'>\n> {\n static contextType = ModalContext\n\n context!: React.ContextType<typeof ModalContext>\n\n render() {\n const {\n title = null,\n className = null,\n children = null,\n title_class = null,\n size = null,\n ref, // eslint-disable-line\n ...sectionProps\n } = this.props\n\n const customHeader = findElementInChildren(children, (cur) => {\n return cur.type === 'h1' || cur.type === H1\n })\n\n const usedTitle = title || this.context.title\n const showTitle = !customHeader && usedTitle\n const fontSize = size || 'large'\n\n return (\n <Section\n style_type=\"white\"\n className={classnames(className)}\n id={\n showTitle ? 'dnb-modal-' + this.context.id + '-title' : undefined\n }\n {...sectionProps}\n >\n {showTitle && (\n <h1\n className={classnames(\n 'dnb-modal__title', // for tests\n 'dnb-space__top--zero',\n 'dnb-space__bottom--small',\n `dnb-h--${fontSize}`,\n title_class\n )}\n >\n {usedTitle}\n </h1>\n )}\n <div>{children as React.ReactNode}</div>\n </Section>\n )\n }\n}\n"],"mappings":";;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,OAAOC,OAAO,MAAwB,uBAAuB;AAC7D,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,EAAE,MAAM,sBAAsB;AA+BrC,eAAe,MAAMC,WAAW,SAASN,KAAK,CAACO,aAAa,CAG1D;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;EAAA;EAKAC,MAAMA,CAAA,EAAG;IACP,MAAAC,WAAA,GAQI,IAAI,CAACC,KAAK;MARR;QACJC,KAAK,GAAG,IAAI;QACZC,SAAS,GAAG,IAAI;QAChBC,QAAQ,GAAG,IAAI;QACfC,WAAW,GAAG,IAAI;QAClBC,IAAI,GAAG,IAAI;QACXC;MAEF,CAAC,GAAAP,WAAA;MADIQ,YAAY,GAAAC,wBAAA,CAAAT,WAAA,EAAAU,SAAA;IAGjB,MAAMC,YAAY,GAAGrB,qBAAqB,CAACc,QAAQ,EAAGQ,GAAG,IAAK;MAC5D,OAAOA,GAAG,CAACC,IAAI,KAAK,IAAI,IAAID,GAAG,CAACC,IAAI,KAAKpB,EAAE;IAC7C,CAAC,CAAC;IAEF,MAAMqB,SAAS,GAAGZ,KAAK,IAAI,IAAI,CAACa,OAAO,CAACb,KAAK;IAC7C,MAAMc,SAAS,GAAG,CAACL,YAAY,IAAIG,SAAS;IAC5C,MAAMG,QAAQ,GAAGX,IAAI,IAAI,OAAO;IAEhC,OACElB,KAAA,CAAA8B,aAAA,CAAC3B,OAAO,EAAA4B,QAAA;MACNC,UAAU,EAAC,OAAO;MAClBjB,SAAS,EAAEd,UAAU,CAACc,SAAS,CAAE;MACjCkB,EAAE,EACAL,SAAS,GAAG,YAAY,GAAG,IAAI,CAACD,OAAO,CAACM,EAAE,GAAG,QAAQ,GAAGC;IACzD,GACGd,YAAY,GAEfQ,SAAS,IACR5B,KAAA,CAAA8B,aAAA;MACEf,SAAS,EAAEd,UAAU,0EAIT4B,QAAS,IACnBZ,WACF;IAAE,GAEDS,SACC,CACL,EACD1B,KAAA,CAAA8B,aAAA,cAAMd,QAAiC,CAChC,CAAC;EAEd;AACF;AAACN,eAAA,CArDoBJ,WAAW,iBAITF,YAAY"}
@@ -40,6 +40,11 @@ export type SectionProps = {
40
40
  * Define if the background color should break-out to a fullscreen view. Defaults to `true`.
41
41
  */
42
42
  breakout?: boolean | ResponsiveProp<boolean>;
43
+ /**
44
+ * Define if the Card should break out negatively on larger screens. You can not use `breakout` and `outset` together.
45
+ * Defaults to `false`
46
+ */
47
+ outset?: boolean | ResponsiveProp<boolean>;
43
48
  /**
44
49
  * Define if the section should have rounded corners. Defaults to `false`.
45
50
  */
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["variant", "breakout", "roundedCorner", "textColor", "backgroundColor", "dropShadow", "outline", "innerRef", "className", "children", "spacing", "style_type", "inner_ref"];
5
+ const _excluded = ["variant", "breakout", "outset", "roundedCorner", "textColor", "backgroundColor", "dropShadow", "outline", "innerRef", "className", "children", "spacing", "style_type", "inner_ref"];
6
6
  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; }
7
7
  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; }
8
8
  import React from 'react';
@@ -21,7 +21,8 @@ export function SectionParams(localProps) {
21
21
  const props = extendPropsWithContext(localProps, defaultProps, context.Section);
22
22
  const {
23
23
  variant,
24
- breakout = true,
24
+ breakout = !props.outset,
25
+ outset,
25
26
  roundedCorner,
26
27
  textColor,
27
28
  backgroundColor,
@@ -39,7 +40,7 @@ export function SectionParams(localProps) {
39
40
  const elementRef = innerRef || inner_ref || internalRef;
40
41
  return Object.freeze(_objectSpread(_objectSpread({}, attributes), {}, {
41
42
  className: classnames(`dnb-section dnb-section--${variant ? variant : style_type || 'default'}`, className, spacing && `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`),
42
- style: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, computeStyle(breakout, 'breakout', value => `var(--breakout--${value ? 'on' : 'off'})`)), computeStyle(roundedCorner, 'rounded-corner', value => value && 'var(--rounded-corner--value)')), computeStyle(textColor, 'text-color', value => getColor(value))), computeStyle(backgroundColor, 'background-color', value => getColor(value))), computeStyle(dropShadow, 'drop-shadow', value => value && 'var(--shadow-default)')), computeStyle(outline, 'outline-color', value => String(value) === 'true' ? 'var(--outline-color--value)' : getColor(value))), attributes === null || attributes === void 0 ? void 0 : attributes.style),
43
+ style: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, computeStyle(breakout, 'breakout', value => `var(--breakout--${value ? 'on' : 'off'})`)), computeStyle(outset, 'outset', value => value ? '1' : '0')), computeStyle(roundedCorner, 'rounded-corner', value => value && 'var(--rounded-corner--value)')), computeStyle(textColor, 'text-color', value => getColor(value))), computeStyle(backgroundColor, 'background-color', value => getColor(value))), computeStyle(dropShadow, 'drop-shadow', value => value && 'var(--shadow-default)')), computeStyle(outline, 'outline-color', value => String(value) === 'true' ? 'var(--outline-color--value)' : getColor(value))), attributes === null || attributes === void 0 ? void 0 : attributes.style),
43
44
  innerRef: elementRef,
44
45
  children
45
46
  }));