@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
@@ -16,25 +16,25 @@ import useViews from './hooks/useViews';
16
16
  import useDates from './hooks/useDates';
17
17
  import useLastEventCallCache from './hooks/useLastEventCallCache';
18
18
  const defaultProps = {
19
- return_format: 'yyyy-MM-dd'
19
+ returnFormat: 'yyyy-MM-dd'
20
20
  };
21
21
  function DatePickerProvider(externalProps) {
22
22
  const props = _objectSpread(_objectSpread({}, defaultProps), externalProps);
23
23
  const {
24
24
  date,
25
- start_date,
26
- end_date,
27
- start_month,
28
- end_month,
29
- min_date,
30
- max_date,
31
- date_format,
25
+ startDate,
26
+ endDate,
27
+ startMonth,
28
+ endMonth,
29
+ minDate,
30
+ maxDate,
31
+ dateFormat,
32
32
  range,
33
- correct_invalid_date,
33
+ correctInvalidDate,
34
34
  attributes,
35
- return_format,
35
+ returnFormat: returnFormatProp,
36
36
  children,
37
- on_change,
37
+ onChange,
38
38
  setReturnObject,
39
39
  hidePicker
40
40
  } = props;
@@ -45,17 +45,17 @@ function DatePickerProvider(externalProps) {
45
45
  hasHadValidDate,
46
46
  previousDates
47
47
  } = useDates({
48
- date: date,
49
- startDate: start_date,
50
- endDate: end_date,
51
- startMonth: start_month,
52
- endMonth: end_month,
53
- minDate: min_date,
54
- maxDate: max_date
48
+ date,
49
+ startDate,
50
+ endDate,
51
+ startMonth,
52
+ endMonth,
53
+ minDate,
54
+ maxDate
55
55
  }, {
56
- dateFormat: date_format,
56
+ dateFormat: dateFormat,
57
57
  isRange: range,
58
- shouldCorrectDate: correct_invalid_date
58
+ shouldCorrectDate: correctInvalidDate
59
59
  });
60
60
  const {
61
61
  views,
@@ -81,10 +81,10 @@ function DatePickerProvider(externalProps) {
81
81
  partialStartDate,
82
82
  partialEndDate
83
83
  } = _objectSpread(_objectSpread(_objectSpread({}, views), dates), rest);
84
- const returnFormat = correctV1Format(return_format);
84
+ const returnFormat = correctV1Format(returnFormatProp);
85
85
  const startDateIsValid = Boolean(startDate && isValid(startDate));
86
86
  const endDateIsValid = Boolean(endDate && isValid(endDate));
87
- const hasMinOrMaxDates = min_date || max_date;
87
+ const hasMinOrMaxDates = minDate || maxDate;
88
88
  const returnObject = {
89
89
  event,
90
90
  attributes: attributes || {},
@@ -104,17 +104,17 @@ function DatePickerProvider(externalProps) {
104
104
  date: startDateIsValid ? format(startDate, returnFormat) : null,
105
105
  is_valid: hasMinOrMaxDates && startDateIsValid && isDisabled(startDate, dates.minDate, dates.maxDate) ? false : startDateIsValid
106
106
  });
107
- }, [dates, views, attributes, max_date, min_date, range, return_format]);
107
+ }, [dates, views, attributes, maxDate, minDate, range, returnFormatProp]);
108
108
  const callOnChangeHandler = useCallback(event => {
109
109
  if (lastEventCallCache && lastEventCallCache.startDate === event.startDate && lastEventCallCache.endDate === event.endDate) {
110
110
  return;
111
111
  }
112
- on_change === null || on_change === void 0 ? void 0 : on_change(getReturnObject(_objectSpread(_objectSpread({}, dates), event)));
112
+ onChange === null || onChange === void 0 ? void 0 : onChange(getReturnObject(_objectSpread(_objectSpread({}, dates), event)));
113
113
  setLastEventCallCache({
114
114
  startDate: event.startDate,
115
115
  endDate: event.endDate
116
116
  });
117
- }, [getReturnObject, dates, on_change, lastEventCallCache, setLastEventCallCache]);
117
+ }, [getReturnObject, dates, onChange, lastEventCallCache, setLastEventCallCache]);
118
118
  if (typeof setReturnObject === 'function') {
119
119
  setReturnObject(getReturnObject);
120
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","defaultProps","return_format","DatePickerProvider","externalProps","props","_objectSpread","date","start_date","end_date","start_month","end_month","min_date","max_date","date_format","range","correct_invalid_date","attributes","children","on_change","setReturnObject","hidePicker","sharedContext","dates","updateDates","hasHadValidDate","previousDates","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","lastEventCallCache","setLastEventCallCache","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","returnFormat","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","is_valid_start_date","is_valid_end_date","is_valid","callOnChangeHandler","createElement","Provider","value","translation"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\n\ntype DatePickerProviderProps = DatePickerProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n}\n\nexport type GetReturnObjectParams<E> = DatePickerDates & {\n event?: E\n}\nexport type ReturnObject<E> = {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string\n start_date?: string\n end_date?: string\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n partialStartDate?: string\n partialEndDate?: string\n}\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps = {\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n start_date,\n end_date,\n start_month,\n end_month,\n min_date,\n max_date,\n date_format,\n range,\n correct_invalid_date,\n attributes,\n return_format,\n children,\n on_change,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDates } = useDates(\n {\n date: date,\n startDate: start_date,\n endDate: end_date,\n startMonth: start_month,\n endMonth: end_month,\n minDate: min_date,\n maxDate: max_date,\n },\n {\n dateFormat: date_format,\n isRange: range,\n shouldCorrectDate: correct_invalid_date,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const { startDate, endDate, partialStartDate, partialEndDate } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = min_date || max_date\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n partialStartDate,\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, max_date, min_date, range, return_format]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n on_change?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n on_change,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDates,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AAMtD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,OAAOC,wBAAwB,MAAM,mCAAmC;AAExE,OAAOC,aAAa,MAAM,sBAAsB;AAChD,SAASC,eAAe,EAAEC,UAAU,QAAQ,kBAAkB;AAC9D,OAAOC,iBAAiB,MAEjB,qBAAqB;AAC5B,OAAOC,QAAQ,MAAwB,kBAAkB;AACzD,OAAOC,QAAQ,MAA2B,kBAAkB;AAC5D,OAAOC,qBAAqB,MAErB,+BAA+B;AAsCtC,MAAMC,YAAY,GAAG;EACnBC,aAAa,EAAE;AACjB,CAAC;AAED,SAASC,kBAAkBA,CAACC,aAAsC,EAAE;EAClE,MAAMC,KAAK,GAAAC,aAAA,CAAAA,aAAA,KAAQL,YAAY,GAAKG,aAAa,CAAE;EAEnD,MAAM;IACJG,IAAI;IACJC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,KAAK;IACLC,oBAAoB;IACpBC,UAAU;IACVf,aAAa;IACbgB,QAAQ;IACRC,SAAS;IACTC,eAAe;IACfC;EACF,CAAC,GAAGhB,KAAK;EAET,MAAMiB,aAAa,GAAGhC,UAAU,CAACI,aAAa,CAAC;EAE/C,MAAM;IAAE6B,KAAK;IAAEC,WAAW;IAAEC,eAAe;IAAEC;EAAc,CAAC,GAAG3B,QAAQ,CACrE;IACEQ,IAAI,EAAEA,IAAI;IACVoB,SAAS,EAAEnB,UAAU;IACrBoB,OAAO,EAAEnB,QAAQ;IACjBoB,UAAU,EAAEnB,WAAW;IACvBoB,QAAQ,EAAEnB,SAAS;IACnBoB,OAAO,EAAEnB,QAAQ;IACjBoB,OAAO,EAAEnB;EACX,CAAC,EACD;IACEoB,UAAU,EAAEnB,WAAW;IACvBoB,OAAO,EAAEnB,KAAK;IACdoB,iBAAiB,EAAEnB;EACrB,CACF,CAAC;EAED,MAAM;IAAEoB,KAAK;IAAEC,QAAQ;IAAEC;EAAqB,CAAC,GAAGxC,QAAQ,CAAC;IACzD+B,UAAU,EAAEN,KAAK,CAACM,UAAU;IAC5BC,QAAQ,EAAEP,KAAK,CAACO,QAAQ;IACxBI,OAAO,EAAEnB;EACX,CAAC,CAAC;EAEF,MAAM,CAACwB,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/CxC,qBAAqB,CAAC;IACpB2B,SAAS,EAAEJ,KAAK,CAACI,SAAS;IAC1BC,OAAO,EAAEL,KAAK,CAACK;EACjB,CAAC,CAAC;EAEJ,MAAMa,eAAe,GAAGpD,WAAW,CACjC,CAAKqD,IAAA,GAAsD,CAAC,CAAC,KAAK;IAAA,IAA7D;QAAEC,KAAK,GAAG;MAAwC,CAAC,GAAAD,IAAA;MAAhCE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;IAC1B,MAAM;MAAEnB,SAAS;MAAEC,OAAO;MAAEmB,gBAAgB;MAAEC;IAAe,CAAC,GAAA1C,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACzD8B,KAAK,GACLb,KAAK,GACLqB,IAAI,CACR;IAED,MAAMK,YAAY,GAAGtD,eAAe,CAACO,aAAa,CAAC;IACnD,MAAMgD,gBAAgB,GAAGC,OAAO,CAACxB,SAAS,IAAIpC,OAAO,CAACoC,SAAS,CAAC,CAAC;IACjE,MAAMyB,cAAc,GAAGD,OAAO,CAACvB,OAAO,IAAIrC,OAAO,CAACqC,OAAO,CAAC,CAAC;IAC3D,MAAMyB,gBAAgB,GAAGzC,QAAQ,IAAIC,QAAQ;IAE7C,MAAMyC,YAA6B,GAAG;MACpCX,KAAK;MACL1B,UAAU,EAAEA,UAAU,IAAI,CAAC,CAAC;MAC5B8B;IACF,CAAC;IAGD,IAAIhC,KAAK,EAAE;MACT,OAAAT,aAAA,CAAAA,aAAA,KACKgD,YAAY;QACfC,YAAY,EACVL,gBAAgB,IAAIE,cAAc,GAC9B3D,wBAAwB,CAACmC,OAAO,EAAED,SAAS,CAAC,GAC5C,IAAI;QACVnB,UAAU,EAAE0C,gBAAgB,GACxB1D,MAAM,CAACmC,SAAS,EAAEsB,YAAY,CAAC,GAC/B,IAAI;QACRxC,QAAQ,EAAE2C,cAAc,GAAG5D,MAAM,CAACoC,OAAO,EAAEqB,YAAY,CAAC,GAAG,IAAI;QAC/DO,mBAAmB,EACjBH,gBAAgB,IAChBH,gBAAgB,IAChBtD,UAAU,CAAC+B,SAAS,EAAEJ,KAAK,CAACQ,OAAO,EAAER,KAAK,CAACS,OAAO,CAAC,GAC/C,KAAK,GACLkB,gBAAgB;QACtBO,iBAAiB,EACfJ,gBAAgB,IAChBD,cAAc,IACdxD,UAAU,CAACgC,OAAO,EAAEL,KAAK,CAACQ,OAAO,EAAER,KAAK,CAACS,OAAO,CAAC,GAC7C,KAAK,GACLoB,cAAc;QACpBJ;MAAc;IAElB;IAEA,OAAA1C,aAAA,CAAAA,aAAA,KACKgD,YAAY;MACf/C,IAAI,EAAE2C,gBAAgB,GAAG1D,MAAM,CAACmC,SAAS,EAAEsB,YAAY,CAAC,GAAG,IAAI;MAC/DS,QAAQ,EACNL,gBAAgB,IAChBH,gBAAgB,IAChBtD,UAAU,CAAC+B,SAAS,EAAEJ,KAAK,CAACQ,OAAO,EAAER,KAAK,CAACS,OAAO,CAAC,GAC/C,KAAK,GACLkB;IAAgB;EAE1B,CAAC,EACD,CAAC3B,KAAK,EAAEa,KAAK,EAAEnB,UAAU,EAAEJ,QAAQ,EAAED,QAAQ,EAAEG,KAAK,EAAEb,aAAa,CACrE,CAAC;EAED,MAAMyD,mBAAmB,GAAGtE,WAAW,CAChCsD,KAA0B,IAAK;IAIlC,IACEJ,kBAAkB,IAClBA,kBAAkB,CAACZ,SAAS,KAAKgB,KAAK,CAAChB,SAAS,IAChDY,kBAAkB,CAACX,OAAO,KAAKe,KAAK,CAACf,OAAO,EAC5C;MACA;IACF;IAEAT,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGsB,eAAe,CAAAnC,aAAA,CAAAA,aAAA,KAAMiB,KAAK,GAAKoB,KAAK,CAAE,CAAC,CAAC;IAEpDH,qBAAqB,CAAC;MACpBb,SAAS,EAAEgB,KAAK,CAAChB,SAAS;MAC1BC,OAAO,EAAEe,KAAK,CAACf;IACjB,CAAC,CAAC;EACJ,CAAC,EACD,CACEa,eAAe,EACflB,KAAK,EACLJ,SAAS,EACToB,kBAAkB,EAClBC,qBAAqB,CAEzB,CAAC;EAGD,IAAI,OAAOpB,eAAe,KAAK,UAAU,EAAE;IACzCA,eAAe,CAACqB,eAAe,CAAC;EAClC;EAEA,OACErD,KAAA,CAAAwE,aAAA,CAAC/D,iBAAiB,CAACgE,QAAQ;IACzBC,KAAK,EAAAxD,aAAA,CAAAA,aAAA;MACHyD,WAAW,EAAEzC,aAAa,CAACyC,WAAW;MACtCvC,WAAW;MACXiB,eAAe;MACfkB,mBAAmB;MACnBtC,UAAU,EAAEA,UAAU;MACtBhB;IAAK,GACFkB,KAAK;MACRG,aAAa;MACbD,eAAe;MACfW,KAAK;MACLC,QAAQ;MACRC;IAAoB;EACpB,GAEDpB,QACyB,CAAC;AAEjC;AAEA,eAAef,kBAAkB"}
1
+ {"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","defaultProps","returnFormat","DatePickerProvider","externalProps","props","_objectSpread","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","dates","updateDates","hasHadValidDate","previousDates","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","lastEventCallCache","setLastEventCallCache","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","start_date","end_date","is_valid_start_date","is_valid_end_date","is_valid","callOnChangeHandler","createElement","Provider","value","translation"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n}\n\nexport type GetReturnObjectParams<E> = DatePickerDates & {\n event?: E\n}\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string\n start_date?: string\n end_date?: string\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n partialStartDate?: string\n partialEndDate?: string\n}\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDates } = useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const { startDate, endDate, partialStartDate, partialEndDate } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n partialStartDate,\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDates,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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"}
@@ -85,19 +85,19 @@ function mapDates(dateProps, previousDates, {
85
85
  const date = previousDates.date !== dateProps.date ? dateProps.date : previousDates.date;
86
86
  const startDate = typeof (dateProps === null || dateProps === void 0 ? void 0 : dateProps.startDate) !== 'undefined' ? getDate(dateProps.startDate, dateFormat) : typeof date !== 'undefined' ? getDate(date, dateFormat) : undefined;
87
87
  const endDate = !isRange ? startDate : convertStringToDate(dateProps === null || dateProps === void 0 ? void 0 : dateProps.endDate, {
88
- date_format: dateFormat
88
+ dateFormat
89
89
  }) || undefined;
90
90
  const startMonth = (_ref = (_convertStringToDate = convertStringToDate(dateProps.startMonth, {
91
- date_format: dateFormat
91
+ dateFormat
92
92
  })) !== null && _convertStringToDate !== void 0 ? _convertStringToDate : startDate) !== null && _ref !== void 0 ? _ref : new Date();
93
- const endMonth = ((_convertStringToDate2 = convertStringToDate(dateProps.endMonth, {
94
- date_format: dateFormat
95
- })) !== null && _convertStringToDate2 !== void 0 ? _convertStringToDate2 : !isRange) ? startMonth : endDate !== null && endDate !== void 0 ? endDate : addMonths(startMonth, 1);
93
+ const endMonth = (_convertStringToDate2 = convertStringToDate(dateProps.endMonth, {
94
+ dateFormat: dateFormat
95
+ })) !== null && _convertStringToDate2 !== void 0 ? _convertStringToDate2 : isRange ? endDate !== null && endDate !== void 0 ? endDate : addMonths(startMonth, 1) : startMonth;
96
96
  const minDate = convertStringToDate(dateProps.minDate, {
97
- date_format: dateFormat
97
+ dateFormat
98
98
  });
99
99
  const maxDate = convertStringToDate(dateProps.maxDate, {
100
- date_format: dateFormat
100
+ dateFormat
101
101
  });
102
102
  const hasValidStartDate = isValid(startDate);
103
103
  const hasValidEndDate = isValid(endDate);
@@ -159,7 +159,7 @@ function updateMonths({
159
159
  }
160
160
  function getDate(date, dateFormat) {
161
161
  return date instanceof Date ? date : convertStringToDate(date !== null && date !== void 0 ? date : '', {
162
- date_format: dateFormat
162
+ dateFormat
163
163
  });
164
164
  }
165
165
  export function pad(date, size) {
@@ -1 +1 @@
1
- {"version":3,"file":"useDates.js","names":["useCallback","useEffect","useMemo","useRef","useState","convertStringToDate","isDisabled","isValid","format","addMonths","useDates","dateProps","dateFormat","isRange","shouldCorrectDate","previousDates","setPreviousDates","dates","setDates","_objectSpread","mapDates","hasDatePropChanges","Object","keys","some","date","hasHadValidDate","updateDates","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","currentDates","startDates","updateInputDates","endDates","current","type","updatedDates","pad","undefined","_ref","_convertStringToDate","_convertStringToDate2","getDate","date_format","startMonth","Date","endMonth","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref2","_newDates$startMonth","_ref3","_newDates$endMonth","size","dateWithPadding","substring","length"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDates, setPreviousDates] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n return dateProps[date] !== previousDates[date]\n }),\n [dateProps, previousDates]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n setDates({\n ...mapDates({ ...dates, ...dateProps }, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n setPreviousDates(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates)\n const endDates = updateInputDates('end', dates)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDates,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', dates: DatePickerDates) {\n const updatedDates = {}\n const date = dates[`${type}Date`]\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n previousDates: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date =\n previousDates.date !== dateProps.date\n ? dateProps.date\n : previousDates.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n date_format: dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n date_format: dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n date_format: dateFormat,\n }) ?? !isRange\n ? startMonth\n : endDate ?? addMonths(startMonth, 1)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n date_format: dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n date_format: dateFormat,\n })\n\n const hasValidStartDate = isValid(startDate)\n const hasValidEndDate = isValid(endDate)\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n date_format: dateFormat,\n })\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDates.js","names":["useCallback","useEffect","useMemo","useRef","useState","convertStringToDate","isDisabled","isValid","format","addMonths","useDates","dateProps","dateFormat","isRange","shouldCorrectDate","previousDates","setPreviousDates","dates","setDates","_objectSpread","mapDates","hasDatePropChanges","Object","keys","some","date","hasHadValidDate","updateDates","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","currentDates","startDates","updateInputDates","endDates","current","type","updatedDates","pad","undefined","_ref","_convertStringToDate","_convertStringToDate2","getDate","startMonth","Date","endMonth","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref2","_newDates$startMonth","_ref3","_newDates$endMonth","size","dateWithPadding","substring","length"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDates, setPreviousDates] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n return dateProps[date] !== previousDates[date]\n }),\n [dateProps, previousDates]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n setDates({\n ...mapDates({ ...dates, ...dateProps }, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n setPreviousDates(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates)\n const endDates = updateInputDates('end', dates)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDates,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', dates: DatePickerDates) {\n const updatedDates = {}\n const date = dates[`${type}Date`]\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n previousDates: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date =\n previousDates.date !== dateProps.date\n ? dateProps.date\n : previousDates.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const hasValidStartDate = isValid(startDate)\n const hasValidEndDate = isValid(endDate)\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","keycode","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","args","setHidden","hidden","isOpen","e","preventDefault","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","length","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","forId","text","labelDirection","srOnly","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class={classnames(\n 'dnb-dropdown__list',\n variant === 'tertiary' && 'dnb-dropdown__list--tertiary'\n )}\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","keycode","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","args","setHidden","hidden","isOpen","e","preventDefault","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","length","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","forId","text","labelDirection","srOnly","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class={classnames(\n 'dnb-dropdown__list',\n variant === 'tertiary' && 'dnb-dropdown__list--tertiary'\n )}\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,MAAM,EACNC,YAAY,EACZC,sCAAsC,EACtCC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,EAC1BC,OAAO,QACF,+BAA+B;AACtC,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAC/B,SAASC,oBAAoB,QAAQ,uCAAuC;AAE5E,OAAOC,MAAM,MAAM,6BAA6B;AAChD,OAAOC,IAAI,MAAM,6BAA6B;AAC9C,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,UAAU,MAAM,2BAA2B;AAClD,OAAOC,MAAM,IAAIC,qBAAqB,QAAQ,kBAAkB;AAChE,OAAOC,UAAU,MAAM,wCAAwC;AAC/D,OAAOC,iBAAiB,MAAM,+CAA+C;AAC7E,OAAOC,kBAAkB,MAAM,gDAAgD;AAC/E,SACEC,mBAAmB,EACnBC,2BAA2B,EAC3BC,iBAAiB,EACjBC,cAAc,QACT,+CAA+C;AAEtD,eAAe,MAAMC,QAAQ,SAAS7B,KAAK,CAAC8B,aAAa,CAAC;EA6LxDC,MAAMA,CAAA,EAAG;IAEP,MAAMC,EAAE,GAAG,IAAI,CAACC,KAAK,CAACD,EAAE,IAAI5B,YAAY,CAAC,CAAC;IAC1C,MAAM;MAAE8B,SAAS;MAAEC,WAAW;MAAEC,iBAAiB;MAAEC,QAAQ;MAAEC;IAAK,CAAC,GACjE,IAAI,CAACL,KAAK;IAEZ,OACEjC,KAAA,CAAAuC,aAAA,CAACf,kBAAkB,EAAAgB,QAAA,KACb,IAAI,CAACP,KAAK;MACdD,EAAE,EAAEA,EAAG;MACPM,IAAI,EAAEA,IAAI,IAAID,QAAS;MACvBI,MAAM,EAAE,IAAK;MACbC,OAAO,EAAC,cAAc;MACtBC,aAAa,EAAE,KAAM;MACrBP,iBAAiB,EACfjC,MAAM,CAAC+B,SAAS,CAAC,IACjB/B,MAAM,CAACgC,WAAW,CAAC,IACnBhC,MAAM,CAACiC,iBAAiB;IACzB,IAEDpC,KAAA,CAAAuC,aAAA,CAACK,gBAAgB,EAAAJ,QAAA,KAAK,IAAI,CAACP,KAAK;MAAED,EAAE,EAAEA;IAAG,EAAE,CACzB,CAAC;EAEzB;AACF;AAACa,eAAA,CArNoBhB,QAAQ,kBAqIL;EACpBG,EAAE,EAAE,IAAI;EACRc,KAAK,EAAE,aAAa;EACpBC,OAAO,EAAE,WAAW;EACpBC,IAAI,EAAE,IAAI;EACVC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,iBAAiB,EAAE,IAAI;EACvBC,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,QAAQ,EAAE,IAAI;EACdC,SAAS,EAAE,IAAI;EACfC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,IAAI;EAChBC,SAAS,EAAE,KAAK;EAChBC,UAAU,EAAE,IAAI;EAChBC,SAAS,EAAE,MAAM;EACjBC,WAAW,EAAE,IAAI;EACjBC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,KAAK;EACnBC,mBAAmB,EAAE,KAAK;EAC1BlC,iBAAiB,EAAE,KAAK;EACxBF,SAAS,EAAE,KAAK;EAChBC,WAAW,EAAE,KAAK;EAClBoC,iBAAiB,EAAE,KAAK;EACxBC,IAAI,EAAE,SAAS;EACfC,cAAc,EAAE,IAAI;EACpBC,eAAe,EAAE,IAAI;EACrBpC,IAAI,EAAE,IAAI;EACVqC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,SAAS;EAChBC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,KAAK;EACpBC,SAAS,EAAE,KAAK;EAChBtC,MAAM,EAAE,KAAK;EACbuC,QAAQ,EAAE,IAAI;EACdC,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE,IAAI;EACf9C,QAAQ,EAAE,IAAI;EAEd+C,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EAEbC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE;AACnB,CAAC;AAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBA3LkB9D,QAAQ,CACpB+D,SAAS,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACXhF,gBAAgB,GAChBY,mBAAmB,GACnBC,2BAA2B;EAE9BM,EAAE,EAAE/B,SAAS,CAAC6F,MAAM;EACpBhD,KAAK,EAAE7C,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAAC+F,IAAI,CAAC,CAAC;EAC9DjD,OAAO,EAAE1B,qBAAqB,CAAC0B,OAAO;EACtCC,IAAI,EAAE/C,SAAS,CAAC8F,SAAS,CAAC,CACxB9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACgG,IAAI,CACf,CAAC;EACFhD,SAAS,EAAEhD,SAAS,CAAC6F,MAAM;EAC3B5C,aAAa,EAAEjD,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACjD/C,iBAAiB,EAAElD,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACrD9C,KAAK,EAAEnD,SAAS,CAAC8F,SAAS,CAAC,CACzB9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,CACf,CAAC;EACF3C,eAAe,EAAEpD,SAAS,CAACiG,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5D5C,aAAa,EAAErD,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACtE5C,MAAM,EAAEtD,SAAS,CAAC8F,SAAS,CAAC,CAC1B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,EACdlG,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,CACf,CAAC;EACFxC,YAAY,EAAEvD,SAAS,CAAC6F,MAAM;EAC9BrC,YAAY,EAAExD,SAAS,CAACmG,MAAM;EAC9B1C,mBAAmB,EAAEzD,SAAS,CAAC8F,SAAS,CAAC,CACvC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACFvC,QAAQ,EAAE3D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACgG,IAAI,CAAC,CAAC;EACjEpC,SAAS,EAAE5D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACgG,IAAI,CAAC,CAAC;EAClEtC,YAAY,EAAE1D,SAAS,CAACoG,KAAK,CAAC;IAC5BrE,EAAE,EAAE/B,SAAS,CAAC6F,MAAM;IACpBQ,OAAO,EAAErG,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAAC+F,IAAI,CAAC;EACjE,CAAC,CAAC;EACFlC,MAAM,EAAE7D,SAAS,CAAC8F,SAAS,CAAC,CAC1B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,CACf,CAAC;EACFjC,UAAU,EAAE9D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACnEnC,SAAS,EAAE/D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAClEjC,SAAS,EAAEjE,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EACrDjC,UAAU,EAAEhE,SAAS,CAACsG,MAAM;EAC5BpC,WAAW,EAAElE,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACpE/B,YAAY,EAAEnE,SAAS,CAAC6F,MAAM;EAC9BzB,YAAY,EAAEpE,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACrE7B,mBAAmB,EAAErE,SAAS,CAAC8F,SAAS,CAAC,CACvC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACF/D,iBAAiB,EAAEnC,SAAS,CAAC8F,SAAS,CAAC,CACrC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACFjE,SAAS,EAAEjC,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAClEhE,WAAW,EAAElC,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACpE5B,iBAAiB,EAAEtE,SAAS,CAAC8F,SAAS,CAAC,CACrC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACF3B,IAAI,EAAEvE,SAAS,CAACiG,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC9DzB,cAAc,EAAExE,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAClDxB,eAAe,EAAEzE,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAACgG,IAAI,EAAEhG,SAAS,CAAC+F,IAAI,CAAC,CAAC;EACtE1D,IAAI,EAAErC,SAAS,CAAC8F,SAAS,CAAC,CACxB9F,SAAS,CAAC8F,SAAS,CAAC,CAClB9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACmG,MAAM,CACjB,CAAC,EACFnG,SAAS,CAACuG,OAAO,CACfvG,SAAS,CAAC8F,SAAS,CAAC,CAClB9F,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAAC+F,IAAI,CAAC,CAAC,EACvD/F,SAAS,CAACoG,KAAK,CAAC;IACdI,WAAW,EAAExG,SAAS,CAAC8F,SAAS,CAAC,CAC/B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACsG,MAAM,CACjB,CAAC;IAEFG,YAAY,EAAEzG,SAAS,CAAC8F,SAAS,CAAC,CAChC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACsG,MAAM,CACjB,CAAC;IACFI,cAAc,EAAE1G,SAAS,CAAC8F,SAAS,CAAC,CAClC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAAC+F,IAAI,CACf,CAAC;IACFY,OAAO,EAAE3G,SAAS,CAAC8F,SAAS,CAAC,CAC3B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACuG,OAAO,CAACvG,SAAS,CAAC6F,MAAM,CAAC,CACpC;EACH,CAAC,CAAC,CACH,CACH,CAAC,CACF,CAAC;EACFnB,aAAa,EAAE1E,SAAS,CAAC8F,SAAS,CAAC,CACjC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACsG,MAAM,CACjB,CAAC;EACF3B,KAAK,EAAE3E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACsG,MAAM,CAAC,CAAC;EAChE1B,aAAa,EAAE5E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACtErB,aAAa,EAAE7E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACtEpB,SAAS,EAAE9E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAClE1D,MAAM,EAAExC,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAC/DnB,QAAQ,EAAE/E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACjElB,OAAO,EAAEhF,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAChEjB,QAAQ,EAAEjF,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAEjEhB,SAAS,EAAElF,SAAS,CAAC6F,MAAM;EAC3BzD,QAAQ,EAAEpC,SAAS,CAAC8F,SAAS,CAAC,CAC5B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAAC4G,KAAK,CAChB,CAAC;EAEFzB,OAAO,EAAEnF,SAAS,CAACgG,IAAI;EACvBZ,OAAO,EAAEpF,SAAS,CAACgG,IAAI;EACvBX,SAAS,EAAErF,SAAS,CAACgG,IAAI;EACzBV,SAAS,EAAEtF,SAAS,CAACgG,IAAI;EACzBT,eAAe,EAAEvF,SAAS,CAACgG;AAAI;AAqFnC,MAAMrD,gBAAgB,SAAS5C,KAAK,CAAC8B,aAAa,CAAC;EAKjDgF,WAAWA,CAAC7E,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAY,eAAA,qBAsBD,MAAM;MACjB,IAAI,CAACkE,OAAO,CAACC,UAAU,CACpBC,iBAAiB,CAAC,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,CAC3CC,UAAU,CAAC,CAAC;IACjB,CAAC;IAAAvE,eAAA,oBAEW,CAAC,GAAGwE,IAAI,KAAK;MACvB,IAAI,CAACN,OAAO,CAACC,UAAU,CAACM,SAAS,CAAC,GAAGD,IAAI,CAAC;IAC5C,CAAC;IAAAxE,eAAA,yBAEgB,MAAM;MACrB,IAAI1C,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAAC4C,aAAa,CAAC,EAAE;QACpC,IAAI,CAACuC,UAAU,CAAC,CAAC;MACnB;IACF,CAAC;IAAAvE,eAAA,wBAEe,MAAM;MACpB,IAAI1C,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAAC4C,aAAa,CAAC,EAAE;QACpC,IAAI,CAACyC,SAAS,CAAC,CAAC;MAClB;IACF,CAAC;IAAAzE,eAAA,yBAEgB,MAAM;MACrB,IAAI1C,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAAC+C,QAAQ,CAAC,EAAE;QAC/B;MACF;MACA,IACE,CAAC,IAAI,CAAC+B,OAAO,CAACC,UAAU,CAACO,MAAM,IAC/B,IAAI,CAACR,OAAO,CAACC,UAAU,CAACQ,MAAM,EAC9B;QACA,IAAI,CAACF,SAAS,CAAC,CAAC;MAClB,CAAC,MAAM;QACL,IAAI,CAACF,UAAU,CAAC,CAAC;MACnB;IACF,CAAC;IAAAvE,eAAA,kCAE0B4E,CAAC,IAAK;MAC/B,QAAQ9G,OAAO,CAAC8G,CAAC,CAAC;QAChB,KAAK,OAAO;QACZ,KAAK,OAAO;UACVA,CAAC,CAACC,cAAc,CAAC,CAAC;UAClB,IAAI,CAACN,UAAU,CAAC,CAAC;UACjB;QAEF,KAAK,IAAI;QACT,KAAK,MAAM;UACTK,CAAC,CAACC,cAAc,CAAC,CAAC;UAClB,IAAI,CAACN,UAAU,CAAC,CAAC;UAEjB;QAEF,KAAK,KAAK;UACR,IAAI,CAACE,SAAS,CAAC,CAAC;UAChB;QAEF,KAAK,MAAM;QACX,KAAK,KAAK;QACV,KAAK,WAAW;QAChB,KAAK,SAAS;UACZG,CAAC,CAACC,cAAc,CAAC,CAAC;UAClB;MACJ;IACF,CAAC;IAAA7E,eAAA,wBAEe,CAACwE,IAAI,GAAG,CAAC,CAAC,KAAK;MAC7B,MAAMM,UAAU,GAAG,IAAI,CAACA,UAAU,IAAI,CAAC,CAAC;MACxC,MAAMC,GAAG,GAAGlH,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAAmF,aAAA,CAAAA,aAAA,KACjDwB,IAAI;QACPM;MAAU,EACX,CAAC;MAEF,IAAIC,GAAG,KAAK,KAAK,EAAE;QACjB,IAAI,CAACC,QAAQ,CAACR,IAAI,CAAC;MACrB;MAEA,OAAOO,GAAG;IACZ,CAAC;IAAA/E,eAAA,mBAEWwE,IAAI,IAAK;MACnBS,YAAY,CAAC,IAAI,CAACC,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAGC,UAAU,CAAC,MAAM;QACpC,IAAI;UACF,MAAMC,OAAO,GAAG,IAAI,CAACC,UAAU,CAACf,OAAO;UACvC,IAAIc,OAAO,IAAI,OAAOA,OAAO,CAACE,KAAK,KAAK,UAAU,EAAE;YAClD,IAAId,IAAI,CAACe,gBAAgB,KAAK,IAAI,EAAE;cAClCH,OAAO,CAACE,KAAK,CAAC;gBAAEE,aAAa,EAAE;cAAK,CAAC,CAAC;YACxC;YACA3H,0BAA0B,CAAC,IAAI,EAAE,eAAe,EAAE;cAAEuH;YAAQ,CAAC,CAAC;UAChE;QACF,CAAC,CAAC,OAAOR,CAAC,EAAE,CAEZ;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAAA5E,eAAA,0BAEkBwE,IAAI,IAAK;MAC1B,IAAIiB,UAAU,CAACjB,IAAI,CAACkB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QACrC,MAAMZ,UAAU,GAAG,IAAI,CAACA,UAAU,IAAI,CAAC,CAAC;QACxCjH,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAAmF,aAAA,CAAAA,aAAA,KACvCwB,IAAI;UACPM;QAAU,EACX,CAAC;MACJ;IACF,CAAC;IAAA9E,eAAA,0BAEkBwE,IAAI,IAAK;MAC1B,MAAMM,UAAU,GAAG,IAAI,CAACA,UAAU,IAAI,CAAC,CAAC;MACxCjH,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAAmF,aAAA,CAAAA,aAAA,KACvCwB,IAAI;QACPM;MAAU,EACX,CAAC;IACJ,CAAC;IAnIC,IAAI,CAACa,GAAG,GAAGvG,KAAK,CAACD,EAAE,IAAI5B,YAAY,CAAC,CAAC;IAErC,IAAI,CAACuH,UAAU,GAAG,CAAC,CAAC;IACpB,IAAI,CAACc,KAAK,GAAG,IAAI,CAACA,KAAK,IAAI,CAAC,CAAC;IAE7B,IAAI,CAACC,IAAI,GAAGzG,KAAK,CAAC2B,QAAQ,IAAI5D,KAAK,CAAC2I,SAAS,CAAC,CAAC;IAC/C,IAAI,CAACzB,WAAW,GAAGlH,KAAK,CAAC2I,SAAS,CAAC,CAAC;IACpC,IAAI,CAACT,UAAU,GAAGjG,KAAK,CAAC4B,SAAS,IAAI7D,KAAK,CAAC2I,SAAS,CAAC,CAAC;EACxD;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAIzI,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAACQ,MAAM,CAAC,EAAE;MAC7B,IAAI,CAAC2E,UAAU,CAAC,CAAC;IACnB;EACF;EAEAyB,oBAAoBA,CAAA,EAAG;IACrBf,YAAY,CAAC,IAAI,CAACC,aAAa,CAAC;EAClC;EAmHAe,QAAQA,CAAChG,KAAK,GAAG,IAAI,EAAE;IACrB,MAAM;MAAER;IAAK,CAAC,GAAG,IAAI,CAACyE,OAAO,CAACC,UAAU;IACxC,IAAI1E,IAAI,IAAIA,IAAI,CAACyG,MAAM,GAAG,CAAC,EAAE;MAC3B,MAAMC,iBAAiB,GAAGpH,cAAc,CACtC,IAAI,CAACmF,OAAO,CAACC,UAAU,CAACiC,aAAa,EACrC3G,IACF,CAAC;MACD,IAAI0G,iBAAiB,EAAE;QACrBlG,KAAK,GACHkG,iBAAiB,CAACrC,cAAc,IAChChF,iBAAiB,CAACqH,iBAAiB,CAAC;MACxC;IACF;IACA,OAAOlG,KAAK;EACd;EAEAf,MAAMA,CAAA,EAAG;IAAA,IAAAmH,aAAA,EAAAC,cAAA,EAAAC,cAAA;IAEP,MAAMnH,KAAK,GAAG5B,sCAAsC,CAClD,IAAI,CAAC4B,KAAK,EACVJ,QAAQ,CAACwH,YAAY,EACrB;MAAEnE,QAAQ,GAAAgE,aAAA,GAAE,IAAI,CAACnC,OAAO,cAAAmC,aAAA,uBAAZA,aAAA,CAAchE;IAAS,CAAC,EACpC,IAAI,CAAC6B,OAAO,CAACuC,cAAc,CAAC,IAAI,CAACrH,KAAK,CAAC,CAACJ,QAAQ,EAEhDd,oBAAoB,EAAAoI,cAAA,GAAC,IAAI,CAACpC,OAAO,cAAAoC,cAAA,uBAAZA,cAAA,CAAcI,OAAO,CAAC,EAC3CxI,oBAAoB,EAAAqI,cAAA,GAAC,IAAI,CAACrC,OAAO,cAAAqC,cAAA,uBAAZA,cAAA,CAAcI,WAAW,CAAC,EAC/C,IAAI,CAACzC,OAAO,CAAClF,QACf,CAAC;IAED,MAAM;QACJuB,KAAK;QACLC,eAAe;QACfC,aAAa;QACbL,SAAS;QACTuB,IAAI;QACJiF,cAAc;QACdC,gBAAgB;QAChBnG,MAAM;QACNC,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,YAAY;QACZG,MAAM;QACNC,UAAU;QACVC,SAAS;QACTe,SAAS;QACTD,aAAa;QACbT,YAAY;QACZC,mBAAmB;QACnBnB,iBAAiB;QACjBgB,WAAW;QACXC,YAAY;QACZM,eAAe,EAAEiF,aAAa;QAC9BzH,SAAS;QACTC,WAAW;QACXoC,iBAAiB;QACjBnC,iBAAiB;QACjB6B,UAAU;QACVU,aAAa;QACbQ,SAAS;QACTH,QAAQ;QACRC,OAAO;QACPC,QAAQ;QACRnC,OAAO;QAEPD,KAAK,EAAE8G,MAAM;QACb5G,IAAI,EAAE6G,KAAK;QACXpF,cAAc,EAAEqF,eAAe;QAC/B5G,aAAa,EAAE6G,cAAc;QAC7BzH,IAAI,EAAE0H,KAAK;QACX3H,QAAQ,EAAE4H,SAAS;QACnB/F,SAAS,EAAEgG,UAAU;QACrBlI,EAAE,EAAEwG,GAAG;QACP/F,MAAM,EAAE0H,OAAO;QACfvF,KAAK,EAAEwF,MAAM;QACbvG,SAAS;QACTD;MAGF,CAAC,GAAG3B,KAAK;MADJ0F,UAAU,GAAA0C,wBAAA,CACXpI,KAAK,EAAAqI,SAAA;IAET,IAAI;MAAEtH,IAAI;MAAEE,aAAa;MAAEuB;IAAe,CAAC,GAAGxC,KAAK;IACnD,MAAMD,EAAE,GAAG,IAAI,CAACwG,GAAG;IAEnB,MAAM+B,YAAY,GAChBpK,MAAM,CAACgC,WAAW,CAAC,IAAIhC,MAAM,CAAC+B,SAAS,CAAC,IAAI/B,MAAM,CAACiC,iBAAiB,CAAC;IACvE,MAAMoI,WAAW,GAAGrK,MAAM,CAAC+B,SAAS,CAAC,IAAI,EAAE0H,MAAM,IAAIA,MAAM,CAACb,MAAM,GAAG,CAAC,CAAC;IACvE,IAAIyB,WAAW,EAAE;MACfxH,IAAI,GAAGA,IAAI,KAAK7C,MAAM,CAAC+B,SAAS,CAAC,GAAG,MAAM,GAAG,cAAc,CAAC;IAC9D;IACA,IAAIsI,WAAW,IAAIrK,MAAM,CAACgC,WAAW,CAAC,EAAE;MACtC,IAAIe,aAAa,KAAK,OAAO,IAAIuB,cAAc,KAAK,OAAO,EAAE;QAC3DvB,aAAa,GAAG,MAAM;QACtBuB,cAAc,GAAG,MAAM;MACzB;IACF;IAEA,MAAM;MAAEwE,aAAa;MAAE/E,SAAS;MAAEzB;IAAO,CAAC,GAAG,IAAI,CAACsE,OAAO,CAACC,UAAU;IACpE,MAAMyD,UAAU,GAAGlK,cAAc,CAACgD,MAAM,CAAC;IACzC,MAAMT,KAAK,GAAG,IAAI,CAACgG,QAAQ,CAACc,MAAM,CAAC;IAGnCc,MAAM,CAACC,MAAM,CACX,IAAI,CAAC5D,OAAO,CAACC,UAAU,CAACW,UAAU,EAClCrH,qBAAqB,CAAC,IAAI,EAAEqH,UAAU,CACxC,CAAC;IAED,MAAMiD,UAAU,GAAG;MACjBzF,SAAS,EAAEjF,UAAU,+BAEFgE,SAAS,gCAGKhB,aAAa,IAAI,OAAO,kBAOtCuB,cAAc,IAAI,OAAO,uBAJ1C,CAACtE,MAAM,CAACoE,iBAAiB,CAAC,IAAIpE,MAAM,CAACgC,WAAW,CAAC,KAC/C,iCAAiC,EAOnCrB,oBAAoB,CAACmB,KAAK,CAAC,EAC3BkD,SAAS,EAdT1C,MAAM,IAAI,sBAAsB,EAChCY,eAAe,IAAK,iBAAgBA,eAAgB,EAAC,EAErDmH,WAAW,IAAI,wBAAwB,EACvCrK,MAAM,CAACgC,WAAW,CAAC,IAAK,2BAA0B,EAGlDqC,IAAI,IAAK,iBAAgBA,IAAK,EAAC,EAC/BrE,MAAM,CAAC8E,OAAO,CAAC,IAAK,uBAAsB,EAE1C1B,MAAM,IAAK,yBAAwBC,YAAa,EAAC,EACjDiH,UAAU,IAAI,2BAIhB;IACF,CAAC;IAED,MAAMI,aAAa,GAAAhF,aAAA,CAAAA,aAAA;MACjBV,SAAS,EACP,uBAAuB,IACvB1C,MAAM,8BACP;MACDT,EAAE;MACFgD,QAAQ;MACR,eAAe,EAAEuF,YAAY,GAAG,IAAI,GAAG,SAAS;MAChD,eAAe,EAAE9H;IAAM,GACpBkF,UAAU;MACbmD,OAAO,EAAE,IAAI,CAACC,cAAc;MAC5BC,MAAM,EAAE,IAAI,CAACC,aAAa;MAC1BC,OAAO,EAAE,IAAI,CAACC,cAAc;MAC5BC,SAAS,EAAE,IAAI,CAACC;IAAuB,EACxC;IAED,IAAI5I,MAAM,EAAE;MACVoI,aAAa,CAAC,eAAe,CAAC,GAAI,GAAE7I,EAAG,KAAI;IAC7C;IAEA,IAAIyI,UAAU,IAAI3G,MAAM,EAAE;MACxB+G,aAAa,CAAC,kBAAkB,CAAC,GAAGrK,kBAAkB,CACpDqK,aAAa,EACbJ,UAAU,GAAGzI,EAAE,GAAG,SAAS,GAAG,IAAI,EAClC8B,MAAM,GAAG9B,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IAEA,IAAIoB,KAAK,EAAE;MACTyH,aAAa,CAAC,iBAAiB,CAAC,GAAGpK,iBAAiB,CAClDoK,aAAa,EACb7I,EAAE,GAAG,QAAQ,EACbA,EACF,CAAC;IACH;IAGA1B,qBAAqB,CAAC,IAAI,EAAEsK,UAAU,CAAC;IACvCtK,qBAAqB,CAAC,IAAI,CAAC2B,KAAK,EAAE4I,aAAa,CAAC;IAGhD,IAAI,CAAClD,UAAU,GAAGrH,qBAAqB,CAAC,IAAI,EAAEqH,UAAU,CAAC;IAEzD,OACE3H,KAAA,CAAAuC,aAAA,SAAAC,QAAA;MAAM8I,GAAG,EAAE,IAAI,CAAC5C;IAAK,GAAKkC,UAAU,GACjCxH,KAAK,IACJpD,KAAA,CAAAuC,aAAA,CAACrB,SAAS;MACRc,EAAE,EAAEA,EAAE,GAAG,QAAS;MAClBuJ,KAAK,EAAEvJ,EAAG;MACVwJ,IAAI,EAAEpI,KAAM;MACZqI,cAAc,EAAEpI,eAAgB;MAChCqI,MAAM,EAAEpI,aAAc;MACtB0B,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA,QAAS;MACnBgG,OAAO,EAAE,IAAI,CAACC;IAAe,CAC9B,CACF,EAEDnL,KAAA,CAAAuC,aAAA;MAAM4C,SAAS,EAAC,qBAAqB;MAACmG,GAAG,EAAE,IAAI,CAACpE;IAAY,GAAAyE,gBAAA,KAAAA,gBAAA,GAC1D3L,KAAA,CAAAuC,aAAA,CAAC3B,eAAe,MAAE,CAAC,GAEnBZ,KAAA,CAAAuC,aAAA,CAACpB,UAAU,EAAAqB,QAAA;MACToJ,IAAI,EAAEnB,UAAW;MACjBzI,EAAE,EAAEA,EAAE,GAAG,cAAe;MACxB2B,YAAY,EAAEA,YAAa;MAC3BP,KAAK,EAAEA,KAAM;MACbyI,OAAO,EAAE7J,EAAE,GAAG,SAAU;MACxBwJ,IAAI,EAAEjI,MAAO;MACbkF,KAAK,EAAEjF,YAAa;MACpBa,YAAY,EAAEX,mBAAoB;MAClCwB,QAAQ,EAAEA;IAAS,GACfzB,YAAY,CACjB,CAAC,EAEFzD,KAAA,CAAAuC,aAAA;MAAM4C,SAAS,EAAC;IAAmB,GACjCnF,KAAA,CAAAuC,aAAA;MAAM4C,SAAS,EAAC;IAAqB,GAClCwE,aAAa,GACZ3J,KAAA,CAAAuC,aAAA,CAACoH,aAAa,EAAKkB,aAAgB,CAAC,GAEpC7K,KAAA,CAAAuC,aAAA,CAACnB,MAAM,EAAAoB,QAAA;MACLO,OAAO,EAAEA,OAAQ;MACjBC,IAAI,EAAE,KAAM;MACZwB,IAAI,EAAEA,IAAI,KAAK,SAAS,GAAG,QAAQ,GAAGA,IAAK;MAC3CZ,QAAQ,EAAE,IAAI,CAACsE,UAAW;MAC1B4D,cAAc,EACZ9L,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAA+L,QAAA,QACG,CAACvB,WAAW,IACXxK,KAAA,CAAAuC,aAAA;QAAM4C,SAAS,EAAC;MAAqC,GACnDnF,KAAA,CAAAuC,aAAA;QAAM4C,SAAS,EAAC;MAA2B,GACxCrC,KACG,CACF,CACP,EACD9C,KAAA,CAAAuC,aAAA;QACE,mBAAW;QACX4C,SAAS,EACP,oBAAoB,IACpBmD,UAAU,CAACW,aAAa,CAAC,KAAK,CAAC;MAE/B,GAEDjG,IAAI,KAAK,KAAK,IACbhD,KAAA,CAAAuC,aAAA,CAACtB,IAAI;QACH+B,IAAI,EAAEA,IAAI,IAAI,cAAe;QAC7BwB,IAAI,EACFvB,SAAS,KACRuB,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG,SAAS;MACzC,CACF,CAEC,CACN;IACH,GACGqG,aAAa,CAClB,CACF,EAED7K,KAAA,CAAAuC,aAAA,CAACjB,UAAU;MACTU,EAAE,EAAEA,EAAG;MACPgK,IAAI,EAAEzB,YAAY,GAAG,MAAM,GAAG,SAAU;MACxCnG,YAAY,EAAEA,YAAa;MAC3B6H,UAAU,EACR,oBAAoB,IACpBlJ,OAAO,KAAK,UAAU,wCACtB;MACF6B,KAAK,EAAEqE,aAAc;MACrBtE,aAAa,EAAEA,aAAc;MAC7BZ,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA,SAAU;MACrBK,YAAY,EAAEA,YAAa;MAC3BC,mBAAmB,EAAEA,mBAAoB;MACzCH,WAAW,EAAEA,WAAY;MACzB/B,iBAAiB,EAAEmI,YAAa;MAChCpI,WAAW,EAAEA,WAAY;MACzBgB,iBAAiB,EACfA,iBAAiB,IAAID,aAAa,IAAI,OACvC;MACD6B,SAAS,EAAEA,SAAU;MACrBD,aAAa,EAAEA,aAAc;MAC7BP,iBAAiB,EACfpE,MAAM,CAACoE,iBAAiB,CAAC,IAAIiG,WAAW,IAAIrI,WAC7C;MACD+J,QAAQ,EAAE1B,WAAW,IAAIrI,WAAY;MACrCgK,YAAY,EAAE1H,cAAc,IAAI,MAAO;MACvCgF,cAAc,EAAEA,cAAe;MAC/BC,gBAAgB,EAAEA,gBAAiB;MACnC1E,QAAQ,EAAEA,QAAS;MACnBf,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA,SAAU;MACrBM,IAAI,EAAEA,IAAK;MACXc,SAAS,EAAE,IAAI,CAAC8G,eAAgB;MAChC7G,SAAS,EAAE,IAAI,CAAC8G,eAAgB;MAChChH,OAAO,EAAE,IAAI,CAACiH;IAAc,CAC7B,CACG,CAAC,EAENxI,MAAM,IACL9D,KAAA,CAAAuC,aAAA,CAACvB,MAAM;MACLmE,SAAS,EAAC,sBAAsB;MAChCnD,EAAE,EAAEA,EAAE,GAAG,SAAU;MACnB+E,OAAO,EAAE9E,KAAM;MACfiJ,OAAO,EAAE,IAAI,CAAC5D;IAAU,GAEvBxD,MACK,CAEN,CACF,CACF,CAAC;EAEX;AACF;AAACjB,eAAA,CAzbKD,gBAAgB,kBAEEf,QAAQ,CAACwH,YAAY;AAAAxG,eAAA,CAFvCD,gBAAgB,iBAGCrB,iBAAiB;AAAAkE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAHlC/C,gBAAgB,CACbgD,SAAS,GAAG/D,QAAQ,CAAC+D,SAAS;AA0bvC/D,QAAQ,CAAC0K,cAAc,GAAGjL,UAAU,CAACiL,cAAc;AACnD1K,QAAQ,CAAC2K,YAAY,GAAG,IAAI;AAC5B3K,QAAQ,CAAC4K,qBAAqB,GAAG,IAAI"}
@@ -6,6 +6,8 @@
6
6
  * Utilities
7
7
  */
8
8
  /*
9
+ * Utilities
10
+ */ /*
9
11
  * Button mixins
10
12
  *
11
13
  */
@@ -57,15 +57,38 @@ export default function FormLabel(localProps) {
57
57
  const target = (forElem === null || forElem === void 0 ? void 0 : forElem.closest('.dnb-input__border--root')) || (forElem === null || forElem === void 0 ? void 0 : forElem.closest('.dnb-input__border'));
58
58
  if (target) {
59
59
  var _elem$addEventListene, _elem$addEventListene2;
60
- const enter = () => target.classList.add('hover');
61
- const leave = () => target.classList.remove('hover');
62
60
  const elem = ref.current;
61
+ const buttonEnter = () => {
62
+ target.classList.add('no-hover');
63
+ leave();
64
+ };
65
+ const buttonLeave = () => {
66
+ target.classList.remove('no-hover');
67
+ enter();
68
+ };
69
+ const enter = () => {
70
+ var _button$addEventListe, _button$addEventListe2;
71
+ target.classList.add('hover');
72
+ const button = elem.querySelector('button');
73
+ button === null || button === void 0 ? void 0 : (_button$addEventListe = button.addEventListener) === null || _button$addEventListe === void 0 ? void 0 : _button$addEventListe.call(button, 'mouseenter', buttonEnter, {
74
+ once: true
75
+ });
76
+ button === null || button === void 0 ? void 0 : (_button$addEventListe2 = button.addEventListener) === null || _button$addEventListe2 === void 0 ? void 0 : _button$addEventListe2.call(button, 'mouseleave', buttonLeave, {
77
+ once: true
78
+ });
79
+ };
80
+ const leave = () => {
81
+ var _elem$querySelector, _elem$querySelector$r;
82
+ target.classList.remove('hover');
83
+ (_elem$querySelector = elem.querySelector('button')) === null || _elem$querySelector === void 0 ? void 0 : (_elem$querySelector$r = _elem$querySelector.removeEventListener) === null || _elem$querySelector$r === void 0 ? void 0 : _elem$querySelector$r.call(_elem$querySelector, 'mouseenter', buttonEnter);
84
+ };
63
85
  elem === null || elem === void 0 ? void 0 : (_elem$addEventListene = elem.addEventListener) === null || _elem$addEventListene === void 0 ? void 0 : _elem$addEventListene.call(elem, 'mouseenter', enter);
64
86
  elem === null || elem === void 0 ? void 0 : (_elem$addEventListene2 = elem.addEventListener) === null || _elem$addEventListene2 === void 0 ? void 0 : _elem$addEventListene2.call(elem, 'mouseleave', leave);
65
87
  return () => {
66
- var _elem$removeEventList, _elem$removeEventList2;
88
+ var _elem$removeEventList, _elem$removeEventList2, _elem$querySelector2, _elem$querySelector2$;
67
89
  elem === null || elem === void 0 ? void 0 : (_elem$removeEventList = elem.removeEventListener) === null || _elem$removeEventList === void 0 ? void 0 : _elem$removeEventList.call(elem, 'mouseenter', enter);
68
90
  elem === null || elem === void 0 ? void 0 : (_elem$removeEventList2 = elem.removeEventListener) === null || _elem$removeEventList2 === void 0 ? void 0 : _elem$removeEventList2.call(elem, 'mouseleave', leave);
91
+ (_elem$querySelector2 = elem.querySelector('button')) === null || _elem$querySelector2 === void 0 ? void 0 : (_elem$querySelector2$ = _elem$querySelector2.removeEventListener) === null || _elem$querySelector2$ === void 0 ? void 0 : _elem$querySelector2$.call(_elem$querySelector2, 'mouseleave', buttonLeave);
69
92
  };
70
93
  }
71
94
  }, [forId, ref]);
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.js","names":["React","useEffect","useRef","classnames","extendPropsWithContext","isTrue","validateDOMAttributes","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","pickFormElementProps","convertSnakeCaseProps","omitSpacingProps","Context","FormLabel","localProps","context","useContext","props","skeleton","FormRow","formElement","nestedContent","text","children","nestedNode","nestedElement","createElement","forId","srOnly","vertical","labelDirection","size","element","Element","innerRef","className","attributes","_objectWithoutProperties","_excluded","content","isInteractive","Boolean","disabled","onClick","params","_objectSpread","right","htmlFor","labelRef","ref","forElem","document","querySelector","target","closest","_elem$addEventListene","_elem$addEventListene2","enter","classList","add","leave","remove","elem","current","addEventListener","call","_elem$removeEventList","_elem$removeEventList2","removeEventListener","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/form-label/FormLabel.tsx"],"sourcesContent":["/**\n * Web FormLabel Component\n *\n */\n\nimport React, { useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContext,\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport {\n FormElementProps,\n pickFormElementProps,\n} from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport { omitSpacingProps } from '../flex/utils'\nimport Context from '../../shared/Context'\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\n\nexport type FormLabelProps = {\n forId?: string\n element?: DynamicElement<HTMLLabelElement>\n text?: React.ReactNode\n size?: 'basis' | 'medium' | 'large'\n id?: string\n skeleton?: boolean\n label?: React.ReactNode\n vertical?: boolean\n srOnly?: boolean\n innerRef?: React.RefObject<HTMLElement>\n\n /** Is not a part of HTMLLabelElement and not documented as of now */\n disabled?: boolean\n\n /**\n * For internal use only\n */\n labelDirection?: FormElementProps['labelDirection']\n\n /** @deprecated use forId instead */\n for_id?: string\n /** @deprecated use srOnly instead */\n sr_only?: boolean\n /** @deprecated use \"vertical\" (or \"labelDirection\" for internal use) instead (was not documented before) */\n label_direction?: FormElementProps['label_direction']\n}\n\nexport type FormLabelAllProps = FormLabelProps &\n React.HTMLAttributes<HTMLLabelElement> &\n SpacingProps\n\nexport default function FormLabel(localProps: FormLabelAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = convertSnakeCaseProps(\n extendPropsWithContext(\n localProps,\n null,\n { skeleton: context?.skeleton },\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context?.FormLabel\n )\n )\n\n const nestedContent = props?.text || props?.children\n const nestedNode =\n nestedContent?.['type'] === FormLabel ? nestedContent?.['type'] : null\n const nestedElement = nestedNode\n ? () => React.createElement(nestedNode, nestedContent['props'])\n : null\n\n const {\n forId,\n text,\n srOnly,\n vertical,\n labelDirection,\n size,\n skeleton,\n element: Element = nestedElement || 'label',\n innerRef,\n className,\n children,\n ...attributes\n } = props\n\n const content = text || children\n\n const isInteractive = Boolean(\n !props.disabled &&\n !srOnly &&\n (typeof props.onClick === 'function' || forId)\n )\n\n const params = {\n className: classnames(\n 'dnb-form-label',\n (isTrue(vertical) || labelDirection === 'vertical') &&\n `dnb-form-label--vertical`,\n srOnly && 'dnb-sr-only',\n size && `dnb-h--${size}`,\n isInteractive && 'dnb-form-label--interactive',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(\n content ? { right: 'small', ...props } : omitSpacingProps(props)\n ),\n className\n ),\n htmlFor: forId,\n ...(attributes as DynamicElementParams),\n }\n\n const labelRef = useRef<HTMLLabelElement>(null)\n const ref = innerRef || labelRef\n if (!nestedNode) {\n params['ref'] = ref\n }\n\n useEffect(() => {\n if (!forId) {\n return\n }\n\n const forElem = document.querySelector(`#${forId}`)\n const target =\n forElem?.closest('.dnb-input__border--root') ||\n forElem?.closest('.dnb-input__border')\n\n if (target) {\n const enter = () => target.classList.add('hover')\n const leave = () => target.classList.remove('hover')\n\n const elem = ref.current\n elem?.addEventListener?.('mouseenter', enter)\n elem?.addEventListener?.('mouseleave', leave)\n\n return () => {\n elem?.removeEventListener?.('mouseenter', enter)\n elem?.removeEventListener?.('mouseleave', leave)\n }\n }\n }, [forId, ref])\n\n skeletonDOMAttributes(params, skeleton, context)\n validateDOMAttributes(localProps, params)\n\n return <Element {...params}>{content}</Element>\n}\n\nFormLabel._formElement = true\nFormLabel._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormLabel.js","names":["React","useEffect","useRef","classnames","extendPropsWithContext","isTrue","validateDOMAttributes","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","pickFormElementProps","convertSnakeCaseProps","omitSpacingProps","Context","FormLabel","localProps","context","useContext","props","skeleton","FormRow","formElement","nestedContent","text","children","nestedNode","nestedElement","createElement","forId","srOnly","vertical","labelDirection","size","element","Element","innerRef","className","attributes","_objectWithoutProperties","_excluded","content","isInteractive","Boolean","disabled","onClick","params","_objectSpread","right","htmlFor","labelRef","ref","forElem","document","querySelector","target","closest","_elem$addEventListene","_elem$addEventListene2","elem","current","buttonEnter","classList","add","leave","buttonLeave","remove","enter","_button$addEventListe","_button$addEventListe2","button","addEventListener","call","once","_elem$querySelector","_elem$querySelector$r","removeEventListener","_elem$removeEventList","_elem$removeEventList2","_elem$querySelector2","_elem$querySelector2$","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/form-label/FormLabel.tsx"],"sourcesContent":["/**\n * Web FormLabel Component\n *\n */\n\nimport React, { useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContext,\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport {\n FormElementProps,\n pickFormElementProps,\n} from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport { omitSpacingProps } from '../flex/utils'\nimport Context from '../../shared/Context'\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\n\nexport type FormLabelProps = {\n forId?: string\n element?: DynamicElement<HTMLLabelElement>\n text?: React.ReactNode\n size?: 'basis' | 'medium' | 'large'\n id?: string\n skeleton?: boolean\n label?: React.ReactNode\n vertical?: boolean\n srOnly?: boolean\n innerRef?: React.RefObject<HTMLElement>\n\n /** Is not a part of HTMLLabelElement and not documented as of now */\n disabled?: boolean\n\n /**\n * For internal use only\n */\n labelDirection?: FormElementProps['labelDirection']\n\n /** @deprecated use forId instead */\n for_id?: string\n /** @deprecated use srOnly instead */\n sr_only?: boolean\n /** @deprecated use \"vertical\" (or \"labelDirection\" for internal use) instead (was not documented before) */\n label_direction?: FormElementProps['label_direction']\n}\n\nexport type FormLabelAllProps = FormLabelProps &\n React.HTMLAttributes<HTMLLabelElement> &\n SpacingProps\n\nexport default function FormLabel(localProps: FormLabelAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = convertSnakeCaseProps(\n extendPropsWithContext(\n localProps,\n null,\n { skeleton: context?.skeleton },\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context?.FormLabel\n )\n )\n\n const nestedContent = props?.text || props?.children\n const nestedNode =\n nestedContent?.['type'] === FormLabel ? nestedContent?.['type'] : null\n const nestedElement = nestedNode\n ? () => React.createElement(nestedNode, nestedContent['props'])\n : null\n\n const {\n forId,\n text,\n srOnly,\n vertical,\n labelDirection,\n size,\n skeleton,\n element: Element = nestedElement || 'label',\n innerRef,\n className,\n children,\n ...attributes\n } = props\n\n const content = text || children\n\n const isInteractive = Boolean(\n !props.disabled &&\n !srOnly &&\n (typeof props.onClick === 'function' || forId)\n )\n\n const params = {\n className: classnames(\n 'dnb-form-label',\n (isTrue(vertical) || labelDirection === 'vertical') &&\n `dnb-form-label--vertical`,\n srOnly && 'dnb-sr-only',\n size && `dnb-h--${size}`,\n isInteractive && 'dnb-form-label--interactive',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(\n content ? { right: 'small', ...props } : omitSpacingProps(props)\n ),\n className\n ),\n htmlFor: forId,\n ...(attributes as DynamicElementParams),\n }\n\n const labelRef = useRef<HTMLLabelElement>(null)\n const ref = innerRef || labelRef\n if (!nestedNode) {\n params['ref'] = ref\n }\n\n useEffect(() => {\n if (!forId) {\n return\n }\n\n const forElem = document.querySelector(`#${forId}`)\n const target =\n forElem?.closest('.dnb-input__border--root') ||\n forElem?.closest('.dnb-input__border')\n\n if (target) {\n const elem = ref.current\n\n const buttonEnter = () => {\n target.classList.add('no-hover')\n leave()\n }\n const buttonLeave = () => {\n target.classList.remove('no-hover')\n enter()\n }\n\n const enter = () => {\n target.classList.add('hover')\n\n // Remove the style from interactive elements (e.g. HelpButton)\n const button = elem.querySelector('button')\n button?.addEventListener?.('mouseenter', buttonEnter, {\n once: true,\n })\n button?.addEventListener?.('mouseleave', buttonLeave, {\n once: true,\n })\n }\n const leave = () => {\n target.classList.remove('hover')\n\n elem\n .querySelector('button')\n ?.removeEventListener?.('mouseenter', buttonEnter)\n }\n\n elem?.addEventListener?.('mouseenter', enter)\n elem?.addEventListener?.('mouseleave', leave)\n\n return () => {\n elem?.removeEventListener?.('mouseenter', enter)\n elem?.removeEventListener?.('mouseleave', leave)\n elem\n .querySelector('button')\n ?.removeEventListener?.('mouseleave', buttonLeave)\n }\n }\n }, [forId, ref])\n\n skeletonDOMAttributes(params, skeleton, context)\n validateDOMAttributes(localProps, params)\n\n return <Element {...params}>{content}</Element>\n}\n\nFormLabel._formElement = true\nFormLabel._supportsSpacingProps = true\n"],"mappings":"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"}