@dnb/eufemia 10.55.0 → 10.56.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 (939) hide show
  1. package/CHANGELOG.md +31 -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/button/style/themes/button-mixins.scss +2 -0
  13. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  14. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  15. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  16. package/cjs/components/card/style/dnb-card.css +15 -0
  17. package/cjs/components/card/style/dnb-card.min.css +1 -1
  18. package/cjs/components/card/style/dnb-card.scss +17 -0
  19. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  20. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  21. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  22. package/cjs/components/date-picker/DatePicker.d.ts +248 -65
  23. package/cjs/components/date-picker/DatePicker.js +125 -135
  24. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  26. package/cjs/components/date-picker/DatePickerCalc.d.ts +2 -2
  27. package/cjs/components/date-picker/DatePickerCalc.js +6 -6
  28. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  29. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  30. package/cjs/components/date-picker/DatePickerCalendar.js +9 -9
  31. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  32. package/cjs/components/date-picker/DatePickerContext.d.ts +2 -2
  33. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  34. package/cjs/components/date-picker/DatePickerDocs.d.ts +3 -0
  35. package/cjs/components/date-picker/DatePickerDocs.js +284 -0
  36. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -0
  37. package/cjs/components/date-picker/DatePickerFooter.js +18 -18
  38. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  39. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -3
  40. package/cjs/components/date-picker/DatePickerInput.js +18 -18
  41. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerProvider.d.ts +2 -2
  43. package/cjs/components/date-picker/DatePickerProvider.js +25 -25
  44. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  45. package/cjs/components/date-picker/hooks/useDates.js +8 -8
  46. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  47. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  48. package/cjs/components/form-label/FormLabel.js +26 -3
  49. package/cjs/components/form-label/FormLabel.js.map +1 -1
  50. package/cjs/components/help-button/HelpButtonInline.d.ts +37 -0
  51. package/cjs/components/help-button/HelpButtonInline.js +184 -0
  52. package/cjs/components/help-button/HelpButtonInline.js.map +1 -0
  53. package/cjs/components/help-button/style/dnb-help-button-inline.css +98 -0
  54. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  55. package/cjs/components/help-button/style/dnb-help-button-inline.scss +128 -0
  56. package/cjs/components/help-button/style/dnb-help-button.css +104 -1
  57. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  58. package/cjs/components/help-button/style/dnb-help-button.scss +3 -2
  59. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  60. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  61. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  62. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  63. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  64. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  65. package/cjs/components/list-format/ListFormat.d.ts +6 -4
  66. package/cjs/components/list-format/ListFormat.js +16 -9
  67. package/cjs/components/list-format/ListFormat.js.map +1 -1
  68. package/cjs/components/list-format/ListFormatDocs.js +18 -4
  69. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  70. package/cjs/components/modal/ModalContent.js +4 -2
  71. package/cjs/components/modal/ModalContent.js.map +1 -1
  72. package/cjs/components/table/style/dnb-table.css +8 -0
  73. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  74. package/cjs/components/tabs/style/dnb-tabs.css +2 -0
  75. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  76. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  77. package/cjs/components/tag/style/dnb-tag.css +2 -0
  78. package/cjs/components/textarea/Textarea.js +1 -1
  79. package/cjs/components/textarea/Textarea.js.map +1 -1
  80. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  81. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  82. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  83. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  84. package/cjs/components/upload/style/dnb-upload.css +3 -2
  85. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  86. package/cjs/components/upload/style/dnb-upload.scss +3 -2
  87. package/cjs/elements/ElementDocs.d.ts +1 -0
  88. package/cjs/elements/ElementDocs.js +20 -12
  89. package/cjs/elements/ElementDocs.js.map +1 -1
  90. package/cjs/elements/lib.d.ts +4 -7
  91. package/cjs/elements/lists/Dl.d.ts +1 -1
  92. package/cjs/elements/lists/Dl.js.map +1 -1
  93. package/cjs/elements/lists/DlDocs.js +1 -1
  94. package/cjs/elements/lists/DlDocs.js.map +1 -1
  95. package/cjs/elements/lists/Li.d.ts +1 -1
  96. package/cjs/elements/lists/Li.js +4 -4
  97. package/cjs/elements/lists/Li.js.map +1 -1
  98. package/cjs/elements/lists/Ol.d.ts +2 -2
  99. package/cjs/elements/lists/Ol.js +3 -3
  100. package/cjs/elements/lists/Ol.js.map +1 -1
  101. package/cjs/elements/lists/OlDocs.js +1 -1
  102. package/cjs/elements/lists/OlDocs.js.map +1 -1
  103. package/cjs/elements/lists/Ul.d.ts +2 -2
  104. package/cjs/elements/lists/Ul.js +3 -3
  105. package/cjs/elements/lists/Ul.js.map +1 -1
  106. package/cjs/elements/lists/UlDocs.js +1 -1
  107. package/cjs/elements/lists/UlDocs.js.map +1 -1
  108. package/cjs/elements/typography/P.d.ts +9 -5
  109. package/cjs/elements/typography/P.js +24 -13
  110. package/cjs/elements/typography/P.js.map +1 -1
  111. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  112. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  113. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  114. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  115. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  116. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  117. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  118. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  119. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  120. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  122. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  123. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +16 -9
  124. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  125. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  126. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  127. package/cjs/extensions/forms/Field/Date/Date.d.ts +17 -4
  128. package/cjs/extensions/forms/Field/Date/Date.js +62 -34
  129. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  130. package/cjs/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  131. package/cjs/extensions/forms/Field/Date/DateDocs.js +52 -13
  132. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/Expiry/Expiry.js +2 -7
  135. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  136. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  137. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  138. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  139. package/cjs/extensions/forms/Field/Number/Number.js +2 -9
  140. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Number/NumberDocs.js +0 -5
  142. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  143. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  144. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  145. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  146. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  147. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  148. package/cjs/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  149. package/cjs/extensions/forms/Field/Option/OptionDocs.js +32 -0
  150. package/cjs/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  151. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  152. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  153. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  154. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  155. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  156. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  157. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  158. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  159. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
  160. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  161. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  162. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  163. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
  164. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  165. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +0 -4
  166. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  167. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -4
  168. package/cjs/extensions/forms/Field/Selection/Selection.js +14 -19
  169. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  170. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  171. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  172. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  173. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  174. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  175. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  176. package/cjs/extensions/forms/Field/Slider/Slider.js +0 -5
  177. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  178. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  179. package/cjs/extensions/forms/Field/String/String.js +0 -4
  180. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  181. package/cjs/extensions/forms/Field/String/StringDocs.js +0 -5
  182. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  183. package/cjs/extensions/forms/Field/String/style/dnb-string.css +11 -0
  184. package/cjs/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  185. package/cjs/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  186. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  187. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -14
  188. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  189. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  190. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  191. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  192. package/cjs/extensions/forms/Field/Upload/Upload.js +57 -28
  193. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  194. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  195. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  196. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  197. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  198. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +35 -28
  199. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  200. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  201. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  202. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
  203. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  204. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
  205. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  206. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  207. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  208. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  209. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  210. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  211. package/cjs/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  212. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +19 -4
  213. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  214. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  215. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  216. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  217. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  218. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  219. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  220. package/cjs/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  221. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +19 -4
  222. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  223. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  224. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  225. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  226. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  227. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +20 -7
  228. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  229. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  230. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
  231. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
  232. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  233. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
  234. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
  235. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
  236. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js +47 -0
  237. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
  238. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  239. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  240. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  241. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  242. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  243. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  244. package/cjs/extensions/forms/hooks/useFieldProps.js +12 -1
  245. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  246. package/cjs/extensions/forms/hooks/useValueProps.js +5 -0
  247. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  248. package/cjs/extensions/forms/style/dnb-forms.css +105 -47
  249. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  250. package/cjs/extensions/forms/types.d.ts +1 -7
  251. package/cjs/extensions/forms/types.js.map +1 -1
  252. package/cjs/shared/Context.d.ts +2 -2
  253. package/cjs/shared/Context.js.map +1 -1
  254. package/cjs/shared/Eufemia.d.ts +1 -1
  255. package/cjs/shared/Eufemia.js +2 -2
  256. package/cjs/shared/Eufemia.js.map +1 -1
  257. package/cjs/shared/component-helper.js.map +1 -1
  258. package/cjs/shared/locales/en-GB.d.ts +16 -16
  259. package/cjs/shared/locales/en-GB.js +16 -16
  260. package/cjs/shared/locales/en-GB.js.map +1 -1
  261. package/cjs/shared/locales/en-US.d.ts +17 -17
  262. package/cjs/shared/locales/en-US.js +3 -3
  263. package/cjs/shared/locales/en-US.js.map +1 -1
  264. package/cjs/shared/locales/index.d.ts +34 -32
  265. package/cjs/shared/locales/index.js.map +1 -1
  266. package/cjs/shared/locales/nb-NO.d.ts +16 -16
  267. package/cjs/shared/locales/nb-NO.js +16 -16
  268. package/cjs/shared/locales/nb-NO.js.map +1 -1
  269. package/cjs/style/core/scopes.scss +1 -1
  270. package/cjs/style/dnb-ui-basis.css +1 -1
  271. package/cjs/style/dnb-ui-basis.min.css +1 -1
  272. package/cjs/style/dnb-ui-body.css +1 -1
  273. package/cjs/style/dnb-ui-body.min.css +1 -1
  274. package/cjs/style/dnb-ui-components.css +344 -56
  275. package/cjs/style/dnb-ui-components.min.css +3 -3
  276. package/cjs/style/dnb-ui-components.scss +1 -0
  277. package/cjs/style/dnb-ui-core.css +1 -1
  278. package/cjs/style/dnb-ui-core.min.css +1 -1
  279. package/cjs/style/dnb-ui-extensions.css +105 -47
  280. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  281. package/cjs/style/dnb-ui-forms.css +105 -47
  282. package/cjs/style/dnb-ui-forms.min.css +1 -1
  283. package/cjs/style/dnb-ui-forms.scss +2 -0
  284. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
  285. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  286. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  290. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
  291. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  292. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  297. package/cjs/style/themes/theme-ui/ui-theme-components.css +467 -108
  298. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  299. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +107 -49
  300. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  301. package/cjs/style/themes/theme-ui/ui-theme-forms.css +107 -49
  302. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  303. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -3
  304. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  305. package/components/accordion/Accordion.d.ts +2 -2
  306. package/components/accordion/Accordion.js.map +1 -1
  307. package/components/accordion/AccordionDocs.js +1 -1
  308. package/components/accordion/AccordionDocs.js.map +1 -1
  309. package/components/anchor/style/anchor-mixins.scss +3 -3
  310. package/components/anchor/style/dnb-anchor.css +6 -6
  311. package/components/anchor/style/dnb-anchor.min.css +1 -1
  312. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  313. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  314. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  315. package/components/button/style/themes/button-mixins.scss +2 -0
  316. package/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  317. package/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  318. package/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  319. package/components/card/style/dnb-card.css +15 -0
  320. package/components/card/style/dnb-card.min.css +1 -1
  321. package/components/card/style/dnb-card.scss +17 -0
  322. package/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  323. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  324. package/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  325. package/components/date-picker/DatePicker.d.ts +248 -65
  326. package/components/date-picker/DatePicker.js +126 -136
  327. package/components/date-picker/DatePicker.js.map +1 -1
  328. package/components/date-picker/DatePickerAddon.js.map +1 -1
  329. package/components/date-picker/DatePickerCalc.d.ts +2 -2
  330. package/components/date-picker/DatePickerCalc.js +6 -6
  331. package/components/date-picker/DatePickerCalc.js.map +1 -1
  332. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  333. package/components/date-picker/DatePickerCalendar.js +9 -9
  334. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  335. package/components/date-picker/DatePickerContext.d.ts +2 -2
  336. package/components/date-picker/DatePickerContext.js.map +1 -1
  337. package/components/date-picker/DatePickerDocs.d.ts +3 -0
  338. package/components/date-picker/DatePickerDocs.js +276 -0
  339. package/components/date-picker/DatePickerDocs.js.map +1 -0
  340. package/components/date-picker/DatePickerFooter.js +18 -18
  341. package/components/date-picker/DatePickerFooter.js.map +1 -1
  342. package/components/date-picker/DatePickerInput.d.ts +3 -3
  343. package/components/date-picker/DatePickerInput.js +18 -18
  344. package/components/date-picker/DatePickerInput.js.map +1 -1
  345. package/components/date-picker/DatePickerProvider.d.ts +2 -2
  346. package/components/date-picker/DatePickerProvider.js +25 -25
  347. package/components/date-picker/DatePickerProvider.js.map +1 -1
  348. package/components/date-picker/hooks/useDates.js +8 -8
  349. package/components/date-picker/hooks/useDates.js.map +1 -1
  350. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  351. package/components/form-label/FormLabel.js +26 -3
  352. package/components/form-label/FormLabel.js.map +1 -1
  353. package/components/help-button/HelpButtonInline.d.ts +37 -0
  354. package/components/help-button/HelpButtonInline.js +174 -0
  355. package/components/help-button/HelpButtonInline.js.map +1 -0
  356. package/components/help-button/style/dnb-help-button-inline.css +98 -0
  357. package/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  358. package/components/help-button/style/dnb-help-button-inline.scss +128 -0
  359. package/components/help-button/style/dnb-help-button.css +104 -1
  360. package/components/help-button/style/dnb-help-button.min.css +1 -1
  361. package/components/help-button/style/dnb-help-button.scss +3 -2
  362. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  363. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  364. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  365. package/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  366. package/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  367. package/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  368. package/components/list-format/ListFormat.d.ts +6 -4
  369. package/components/list-format/ListFormat.js +15 -9
  370. package/components/list-format/ListFormat.js.map +1 -1
  371. package/components/list-format/ListFormatDocs.js +15 -4
  372. package/components/list-format/ListFormatDocs.js.map +1 -1
  373. package/components/modal/ModalContent.js +4 -2
  374. package/components/modal/ModalContent.js.map +1 -1
  375. package/components/table/style/dnb-table.css +8 -0
  376. package/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  377. package/components/tabs/style/dnb-tabs.css +2 -0
  378. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  379. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  380. package/components/tag/style/dnb-tag.css +2 -0
  381. package/components/textarea/Textarea.js +1 -1
  382. package/components/textarea/Textarea.js.map +1 -1
  383. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  384. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  385. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  386. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  387. package/components/upload/style/dnb-upload.css +3 -2
  388. package/components/upload/style/dnb-upload.min.css +1 -1
  389. package/components/upload/style/dnb-upload.scss +3 -2
  390. package/elements/ElementDocs.d.ts +1 -0
  391. package/elements/ElementDocs.js +16 -11
  392. package/elements/ElementDocs.js.map +1 -1
  393. package/elements/lib.d.ts +4 -7
  394. package/elements/lists/Dl.d.ts +1 -1
  395. package/elements/lists/Dl.js.map +1 -1
  396. package/elements/lists/DlDocs.js +2 -2
  397. package/elements/lists/DlDocs.js.map +1 -1
  398. package/elements/lists/Li.d.ts +1 -1
  399. package/elements/lists/Li.js +4 -4
  400. package/elements/lists/Li.js.map +1 -1
  401. package/elements/lists/Ol.d.ts +2 -2
  402. package/elements/lists/Ol.js +3 -3
  403. package/elements/lists/Ol.js.map +1 -1
  404. package/elements/lists/OlDocs.js +2 -2
  405. package/elements/lists/OlDocs.js.map +1 -1
  406. package/elements/lists/Ul.d.ts +2 -2
  407. package/elements/lists/Ul.js +3 -3
  408. package/elements/lists/Ul.js.map +1 -1
  409. package/elements/lists/UlDocs.js +2 -2
  410. package/elements/lists/UlDocs.js.map +1 -1
  411. package/elements/typography/P.d.ts +9 -5
  412. package/elements/typography/P.js +21 -12
  413. package/elements/typography/P.js.map +1 -1
  414. package/es/components/accordion/Accordion.d.ts +2 -2
  415. package/es/components/accordion/Accordion.js.map +1 -1
  416. package/es/components/accordion/AccordionDocs.js +1 -1
  417. package/es/components/accordion/AccordionDocs.js.map +1 -1
  418. package/es/components/anchor/style/anchor-mixins.scss +3 -3
  419. package/es/components/anchor/style/dnb-anchor.css +6 -6
  420. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  421. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  422. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  423. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  424. package/es/components/button/style/themes/button-mixins.scss +2 -0
  425. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  426. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  427. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  428. package/es/components/card/style/dnb-card.css +15 -0
  429. package/es/components/card/style/dnb-card.min.css +1 -1
  430. package/es/components/card/style/dnb-card.scss +17 -0
  431. package/es/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  432. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  433. package/es/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  434. package/es/components/date-picker/DatePicker.d.ts +248 -65
  435. package/es/components/date-picker/DatePicker.js +126 -136
  436. package/es/components/date-picker/DatePicker.js.map +1 -1
  437. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  438. package/es/components/date-picker/DatePickerCalc.d.ts +2 -2
  439. package/es/components/date-picker/DatePickerCalc.js +6 -6
  440. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  441. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  442. package/es/components/date-picker/DatePickerCalendar.js +9 -9
  443. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  444. package/es/components/date-picker/DatePickerContext.d.ts +2 -2
  445. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  446. package/es/components/date-picker/DatePickerDocs.d.ts +3 -0
  447. package/es/components/date-picker/DatePickerDocs.js +276 -0
  448. package/es/components/date-picker/DatePickerDocs.js.map +1 -0
  449. package/es/components/date-picker/DatePickerFooter.js +18 -18
  450. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  451. package/es/components/date-picker/DatePickerInput.d.ts +3 -3
  452. package/es/components/date-picker/DatePickerInput.js +18 -18
  453. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  454. package/es/components/date-picker/DatePickerProvider.d.ts +2 -2
  455. package/es/components/date-picker/DatePickerProvider.js +25 -25
  456. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  457. package/es/components/date-picker/hooks/useDates.js +8 -8
  458. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  459. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  460. package/es/components/form-label/FormLabel.js +26 -3
  461. package/es/components/form-label/FormLabel.js.map +1 -1
  462. package/es/components/help-button/HelpButtonInline.d.ts +37 -0
  463. package/es/components/help-button/HelpButtonInline.js +173 -0
  464. package/es/components/help-button/HelpButtonInline.js.map +1 -0
  465. package/es/components/help-button/style/dnb-help-button-inline.css +98 -0
  466. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  467. package/es/components/help-button/style/dnb-help-button-inline.scss +128 -0
  468. package/es/components/help-button/style/dnb-help-button.css +104 -1
  469. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  470. package/es/components/help-button/style/dnb-help-button.scss +3 -2
  471. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  472. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  473. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  474. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  475. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  476. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  477. package/es/components/list-format/ListFormat.d.ts +6 -4
  478. package/es/components/list-format/ListFormat.js +15 -9
  479. package/es/components/list-format/ListFormat.js.map +1 -1
  480. package/es/components/list-format/ListFormatDocs.js +15 -4
  481. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  482. package/es/components/modal/ModalContent.js +4 -2
  483. package/es/components/modal/ModalContent.js.map +1 -1
  484. package/es/components/table/style/dnb-table.css +8 -0
  485. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  486. package/es/components/tabs/style/dnb-tabs.css +2 -0
  487. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  488. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  489. package/es/components/tag/style/dnb-tag.css +2 -0
  490. package/es/components/textarea/Textarea.js +1 -1
  491. package/es/components/textarea/Textarea.js.map +1 -1
  492. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  493. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  494. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  495. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  496. package/es/components/upload/style/dnb-upload.css +3 -2
  497. package/es/components/upload/style/dnb-upload.min.css +1 -1
  498. package/es/components/upload/style/dnb-upload.scss +3 -2
  499. package/es/elements/ElementDocs.d.ts +1 -0
  500. package/es/elements/ElementDocs.js +16 -11
  501. package/es/elements/ElementDocs.js.map +1 -1
  502. package/es/elements/lib.d.ts +4 -7
  503. package/es/elements/lists/Dl.d.ts +1 -1
  504. package/es/elements/lists/Dl.js.map +1 -1
  505. package/es/elements/lists/DlDocs.js +2 -2
  506. package/es/elements/lists/DlDocs.js.map +1 -1
  507. package/es/elements/lists/Li.d.ts +1 -1
  508. package/es/elements/lists/Li.js +4 -4
  509. package/es/elements/lists/Li.js.map +1 -1
  510. package/es/elements/lists/Ol.d.ts +2 -2
  511. package/es/elements/lists/Ol.js +3 -3
  512. package/es/elements/lists/Ol.js.map +1 -1
  513. package/es/elements/lists/OlDocs.js +2 -2
  514. package/es/elements/lists/OlDocs.js.map +1 -1
  515. package/es/elements/lists/Ul.d.ts +2 -2
  516. package/es/elements/lists/Ul.js +3 -3
  517. package/es/elements/lists/Ul.js.map +1 -1
  518. package/es/elements/lists/UlDocs.js +2 -2
  519. package/es/elements/lists/UlDocs.js.map +1 -1
  520. package/es/elements/typography/P.d.ts +9 -5
  521. package/es/elements/typography/P.js +21 -12
  522. package/es/elements/typography/P.js.map +1 -1
  523. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  524. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  525. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  526. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  527. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  528. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  529. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  530. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  531. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  532. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  533. package/es/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  534. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  535. package/es/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
  536. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  537. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  538. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  539. package/es/extensions/forms/Field/Date/Date.d.ts +17 -4
  540. package/es/extensions/forms/Field/Date/Date.js +62 -35
  541. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  542. package/es/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  543. package/es/extensions/forms/Field/Date/DateDocs.js +47 -12
  544. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  545. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  546. package/es/extensions/forms/Field/Expiry/Expiry.js +2 -7
  547. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  548. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  549. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  550. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  551. package/es/extensions/forms/Field/Number/Number.js +3 -10
  552. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  553. package/es/extensions/forms/Field/Number/NumberDocs.js +0 -5
  554. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  555. package/es/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  556. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  557. package/es/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  558. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  559. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  560. package/es/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  561. package/es/extensions/forms/Field/Option/OptionDocs.js +25 -0
  562. package/es/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  563. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  564. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  565. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  566. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  567. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  568. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  569. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  570. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  571. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
  572. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  573. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  574. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  575. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
  576. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  577. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
  578. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  579. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -4
  580. package/es/extensions/forms/Field/Selection/Selection.js +16 -20
  581. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  582. package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  583. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  584. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  585. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  586. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  587. package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  588. package/es/extensions/forms/Field/Slider/Slider.js +0 -5
  589. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  590. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  591. package/es/extensions/forms/Field/String/String.js +1 -5
  592. package/es/extensions/forms/Field/String/String.js.map +1 -1
  593. package/es/extensions/forms/Field/String/StringDocs.js +0 -5
  594. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  595. package/es/extensions/forms/Field/String/style/dnb-string.css +11 -0
  596. package/es/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  597. package/es/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  598. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  599. package/es/extensions/forms/Field/Toggle/Toggle.js +2 -15
  600. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  601. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  602. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  603. package/es/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  604. package/es/extensions/forms/Field/Upload/Upload.js +56 -27
  605. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  606. package/es/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  607. package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  608. package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  609. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  610. package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -28
  611. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  612. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  613. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  614. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
  615. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  616. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
  617. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  618. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  619. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  620. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  621. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  622. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  623. package/es/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  624. package/es/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
  625. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  626. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  627. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  628. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  629. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  630. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  631. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  632. package/es/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  633. package/es/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
  634. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  635. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  636. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  637. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  638. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  639. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
  640. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  641. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  642. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
  643. package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
  644. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  645. package/es/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
  646. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
  647. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
  648. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js +38 -0
  649. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
  650. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  651. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  652. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  653. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  654. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  655. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  656. package/es/extensions/forms/hooks/useFieldProps.js +11 -1
  657. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  658. package/es/extensions/forms/hooks/useValueProps.js +5 -0
  659. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  660. package/es/extensions/forms/style/dnb-forms.css +105 -47
  661. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  662. package/es/extensions/forms/types.d.ts +1 -7
  663. package/es/extensions/forms/types.js.map +1 -1
  664. package/es/shared/Context.d.ts +2 -2
  665. package/es/shared/Context.js.map +1 -1
  666. package/es/shared/Eufemia.d.ts +1 -1
  667. package/es/shared/Eufemia.js +2 -2
  668. package/es/shared/Eufemia.js.map +1 -1
  669. package/es/shared/component-helper.js.map +1 -1
  670. package/es/shared/locales/en-GB.d.ts +16 -16
  671. package/es/shared/locales/en-GB.js +16 -16
  672. package/es/shared/locales/en-GB.js.map +1 -1
  673. package/es/shared/locales/en-US.d.ts +17 -17
  674. package/es/shared/locales/en-US.js +3 -3
  675. package/es/shared/locales/en-US.js.map +1 -1
  676. package/es/shared/locales/index.d.ts +34 -32
  677. package/es/shared/locales/index.js.map +1 -1
  678. package/es/shared/locales/nb-NO.d.ts +16 -16
  679. package/es/shared/locales/nb-NO.js +16 -16
  680. package/es/shared/locales/nb-NO.js.map +1 -1
  681. package/es/style/core/scopes.scss +1 -1
  682. package/es/style/dnb-ui-basis.css +1 -1
  683. package/es/style/dnb-ui-basis.min.css +1 -1
  684. package/es/style/dnb-ui-body.css +1 -1
  685. package/es/style/dnb-ui-body.min.css +1 -1
  686. package/es/style/dnb-ui-components.css +344 -56
  687. package/es/style/dnb-ui-components.min.css +3 -3
  688. package/es/style/dnb-ui-components.scss +1 -0
  689. package/es/style/dnb-ui-core.css +1 -1
  690. package/es/style/dnb-ui-core.min.css +1 -1
  691. package/es/style/dnb-ui-extensions.css +105 -47
  692. package/es/style/dnb-ui-extensions.min.css +1 -1
  693. package/es/style/dnb-ui-forms.css +105 -47
  694. package/es/style/dnb-ui-forms.min.css +1 -1
  695. package/es/style/dnb-ui-forms.scss +2 -0
  696. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
  697. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  698. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
  699. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  700. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
  701. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  702. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
  703. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  704. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  705. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
  706. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  707. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
  708. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  709. package/es/style/themes/theme-ui/ui-theme-components.css +467 -108
  710. package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  711. package/es/style/themes/theme-ui/ui-theme-extensions.css +107 -49
  712. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  713. package/es/style/themes/theme-ui/ui-theme-forms.css +107 -49
  714. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  715. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -3
  716. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  717. package/esm/dnb-ui-basis.min.mjs +1 -1
  718. package/esm/dnb-ui-components.min.mjs +1 -1
  719. package/esm/dnb-ui-elements.min.mjs +1 -1
  720. package/esm/dnb-ui-extensions.min.mjs +2 -2
  721. package/esm/dnb-ui-lib.min.mjs +1 -1
  722. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  723. package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  724. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  725. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  726. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  727. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  728. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  729. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  730. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  731. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  732. package/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  733. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  734. package/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
  735. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  736. package/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  737. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  738. package/extensions/forms/Field/Date/Date.d.ts +17 -4
  739. package/extensions/forms/Field/Date/Date.js +62 -35
  740. package/extensions/forms/Field/Date/Date.js.map +1 -1
  741. package/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  742. package/extensions/forms/Field/Date/DateDocs.js +47 -12
  743. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  744. package/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  745. package/extensions/forms/Field/Expiry/Expiry.js +2 -7
  746. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  747. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  748. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  749. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  750. package/extensions/forms/Field/Number/Number.js +3 -10
  751. package/extensions/forms/Field/Number/Number.js.map +1 -1
  752. package/extensions/forms/Field/Number/NumberDocs.js +0 -5
  753. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  754. package/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  755. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  756. package/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  757. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  758. package/extensions/forms/Field/Option/Option.js.map +1 -1
  759. package/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  760. package/extensions/forms/Field/Option/OptionDocs.js +25 -0
  761. package/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  762. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  763. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  764. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  765. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  766. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  767. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  768. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  769. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  770. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
  771. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  772. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  773. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  774. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
  775. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  776. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
  777. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  778. package/extensions/forms/Field/Selection/Selection.d.ts +2 -4
  779. package/extensions/forms/Field/Selection/Selection.js +16 -20
  780. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  781. package/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  782. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  783. package/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  784. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  785. package/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  786. package/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  787. package/extensions/forms/Field/Slider/Slider.js +0 -5
  788. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  789. package/extensions/forms/Field/String/String.d.ts +2 -2
  790. package/extensions/forms/Field/String/String.js +1 -5
  791. package/extensions/forms/Field/String/String.js.map +1 -1
  792. package/extensions/forms/Field/String/StringDocs.js +0 -5
  793. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  794. package/extensions/forms/Field/String/style/dnb-string.css +11 -0
  795. package/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  796. package/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  797. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  798. package/extensions/forms/Field/Toggle/Toggle.js +2 -15
  799. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  800. package/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  801. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  802. package/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  803. package/extensions/forms/Field/Upload/Upload.js +57 -28
  804. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  805. package/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  806. package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  807. package/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  808. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  809. package/extensions/forms/FieldBlock/FieldBlock.js +36 -29
  810. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  811. package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  812. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  813. package/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
  814. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  815. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
  816. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  817. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  818. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  819. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  820. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  821. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  822. package/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  823. package/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
  824. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  825. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  826. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  827. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  828. package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  829. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  830. package/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  831. package/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  832. package/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
  833. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  834. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  835. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  836. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  837. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  838. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
  839. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  840. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  841. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
  842. package/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
  843. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  844. package/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
  845. package/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
  846. package/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
  847. package/extensions/forms/Value/SummaryList/useVerifyChildren.js +40 -0
  848. package/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
  849. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  850. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  851. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  852. package/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  853. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  854. package/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  855. package/extensions/forms/hooks/useFieldProps.js +11 -1
  856. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  857. package/extensions/forms/hooks/useValueProps.js +5 -0
  858. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  859. package/extensions/forms/style/dnb-forms.css +105 -47
  860. package/extensions/forms/style/dnb-forms.min.css +1 -1
  861. package/extensions/forms/types.d.ts +1 -7
  862. package/extensions/forms/types.js.map +1 -1
  863. package/package.json +1 -1
  864. package/shared/Context.d.ts +2 -2
  865. package/shared/Context.js.map +1 -1
  866. package/shared/Eufemia.d.ts +1 -1
  867. package/shared/Eufemia.js +2 -2
  868. package/shared/Eufemia.js.map +1 -1
  869. package/shared/component-helper.js.map +1 -1
  870. package/shared/locales/en-GB.d.ts +16 -16
  871. package/shared/locales/en-GB.js +16 -16
  872. package/shared/locales/en-GB.js.map +1 -1
  873. package/shared/locales/en-US.d.ts +17 -17
  874. package/shared/locales/en-US.js +3 -3
  875. package/shared/locales/en-US.js.map +1 -1
  876. package/shared/locales/index.d.ts +34 -32
  877. package/shared/locales/index.js.map +1 -1
  878. package/shared/locales/nb-NO.d.ts +16 -16
  879. package/shared/locales/nb-NO.js +16 -16
  880. package/shared/locales/nb-NO.js.map +1 -1
  881. package/style/core/scopes.scss +1 -1
  882. package/style/dnb-ui-basis.css +1 -1
  883. package/style/dnb-ui-basis.min.css +1 -1
  884. package/style/dnb-ui-body.css +1 -1
  885. package/style/dnb-ui-body.min.css +1 -1
  886. package/style/dnb-ui-components.css +344 -56
  887. package/style/dnb-ui-components.min.css +3 -3
  888. package/style/dnb-ui-components.scss +1 -0
  889. package/style/dnb-ui-core.css +1 -1
  890. package/style/dnb-ui-core.min.css +1 -1
  891. package/style/dnb-ui-extensions.css +105 -47
  892. package/style/dnb-ui-extensions.min.css +1 -1
  893. package/style/dnb-ui-forms.css +105 -47
  894. package/style/dnb-ui-forms.min.css +1 -1
  895. package/style/dnb-ui-forms.scss +2 -0
  896. package/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
  897. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  898. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
  899. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  900. package/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
  901. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  902. package/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
  903. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  904. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  905. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
  906. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  907. package/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
  908. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  909. package/style/themes/theme-ui/ui-theme-components.css +467 -108
  910. package/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  911. package/style/themes/theme-ui/ui-theme-extensions.css +107 -49
  912. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  913. package/style/themes/theme-ui/ui-theme-forms.css +107 -49
  914. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  915. package/style/themes/theme-ui/ui-theme-tags.css +3 -3
  916. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  917. package/umd/dnb-ui-basis.min.js +1 -1
  918. package/umd/dnb-ui-components.min.js +1 -1
  919. package/umd/dnb-ui-elements.min.js +1 -1
  920. package/umd/dnb-ui-extensions.min.js +2 -2
  921. package/umd/dnb-ui-lib.min.js +1 -1
  922. package/cjs/components/date-picker/DatePickerOld.d.ts +0 -334
  923. package/cjs/components/date-picker/DatePickerOld.js +0 -538
  924. package/cjs/components/date-picker/DatePickerOld.js.map +0 -1
  925. package/cjs/extensions/style/index.d.ts +0 -5
  926. package/cjs/extensions/style/index.js +0 -6
  927. package/cjs/extensions/style/index.js.map +0 -1
  928. package/components/date-picker/DatePickerOld.d.ts +0 -334
  929. package/components/date-picker/DatePickerOld.js +0 -528
  930. package/components/date-picker/DatePickerOld.js.map +0 -1
  931. package/es/components/date-picker/DatePickerOld.d.ts +0 -334
  932. package/es/components/date-picker/DatePickerOld.js +0 -528
  933. package/es/components/date-picker/DatePickerOld.js.map +0 -1
  934. package/es/extensions/style/index.d.ts +0 -5
  935. package/es/extensions/style/index.js +0 -4
  936. package/es/extensions/style/index.js.map +0 -1
  937. package/extensions/style/index.d.ts +0 -5
  938. package/extensions/style/index.js +0 -4
  939. 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":"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"}
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":";;;;;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACzE,SAASC,mBAAmB,EAAEC,UAAU,QAAQ,mBAAmB;AACnE,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,SAAS,QAAQ,UAAU;AA2CpC,eAAe,SAASC,QAAQA,CAC9BC,SAA8B,EAC9B;EACEC,UAAU;EACVC,OAAO,GAAG,KAAK;EACfC,iBAAiB,GAAG;AACL,CAAC,EAClB;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGZ,QAAQ,CAACO,SAAS,CAAC;EAC7D,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAAe,aAAA,KAC7BC,QAAQ,CAACT,SAAS,EAAEI,aAAa,EAAE;IACpCH,UAAU;IACVC,OAAO;IACPC;EACF,CAAC,CAAC,CACH,CAAC;EAEF,MAAMO,kBAAkB,GAAGnB,OAAO,CAChC,MACEoB,MAAM,CAACC,IAAI,CAACZ,SAAS,CAAC,CAACa,IAAI,CAAEC,IAAI,IAAK;IACpC,OAAOd,SAAS,CAACc,IAAI,CAAC,KAAKV,aAAa,CAACU,IAAI,CAAC;EAChD,CAAC,CAAC,EACJ,CAACd,SAAS,EAAEI,aAAa,CAC3B,CAAC;EAGD,IAAIM,kBAAkB,EAAE;IACtBH,QAAQ,CAAAC,aAAA,KACHC,QAAQ,CAAAD,aAAA,CAAAA,aAAA,KAAMF,KAAK,GAAKN,SAAS,GAAII,aAAa,EAAE;MACrDH,UAAU;MACVC,OAAO;MACPC;IACF,CAAC,CAAC,CACH,CAAC;IACFE,gBAAgB,CAACL,SAAS,CAAC;EAC7B;EAEA,MAAMe,eAAe,GAAGvB,MAAM,CAAU,KAAK,CAAC;EAE9C,MAAMwB,WAAW,GAAG3B,WAAW,CAC7B,CACE4B,QAAyB,EACzBC,QAA2C,KACxC;IAAA,IAAAC,mBAAA,EAAAC,iBAAA;IAEH,MAAMC,cAAc,GAAGlB,iBAAiB,GACpCmB,YAAY,CAAC;MACXC,SAAS,GAAAJ,mBAAA,GAAEF,QAAQ,CAACM,SAAS,cAAAJ,mBAAA,cAAAA,mBAAA,GAAIb,KAAK,CAACiB,SAAS;MAChDC,OAAO,GAAAJ,iBAAA,GAAEH,QAAQ,CAACO,OAAO,cAAAJ,iBAAA,cAAAA,iBAAA,GAAId,KAAK,CAACkB,OAAO;MAC1CC,OAAO,EAAEnB,KAAK,CAACmB,OAAO;MACtBC,OAAO,EAAEpB,KAAK,CAACoB,OAAO;MACtBxB;IACF,CAAC,CAAC,GACF,CAAC,CAAC;IAGN,MAAMyB,MAAM,GAAGC,YAAY,CAAC;MAC1BX,QAAQ;MACRY,YAAY,EAAEvB;IAChB,CAAC,CAAC;IAEFC,QAAQ,CAAEsB,YAAY,IAAK;MACzB,OAAArB,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACKqB,YAAY,GACZZ,QAAQ,GACRU,MAAM,GACNN,cAAc;IAErB,CAAC,CAAC;IAEFH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAAV,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACHF,KAAK,GACLW,QAAQ,GACRU,MAAM,GACNN,cAAc,CAClB,CAAC;EACJ,CAAC,EACD,CAACf,KAAK,EAAEH,iBAAiB,EAAED,OAAO,CACpC,CAAC;EAIDZ,SAAS,CAAC,MAAM;IACd,MAAMwC,UAAU,GAAGC,gBAAgB,CAAC,OAAO,EAAEzB,KAAK,CAAC;IACnD,MAAM0B,QAAQ,GAAGD,gBAAgB,CAAC,KAAK,EAAEzB,KAAK,CAAC;IAE/CS,eAAe,CAACkB,OAAO,GACrBrC,OAAO,CAACU,KAAK,CAACiB,SAAS,CAAC,IAAI3B,OAAO,CAACU,KAAK,CAACkB,OAAO,CAAC;IAEpDjB,QAAQ,CAAEsB,YAAY,IAAArB,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACjBqB,YAAY,GACZC,UAAU,GACVE,QAAQ,CACX,CAAC;EAEL,CAAC,EAAE,CAAC1B,KAAK,CAACiB,SAAS,EAAEjB,KAAK,CAACkB,OAAO,CAAC,CAAC;EAEpC,OAAO;IACLlB,KAAK;IACLU,WAAW;IACXD,eAAe,EAAEA,eAAe,CAACkB,OAAO;IACxC7B;EACF,CAAC;AACH;AAGA,SAAS2B,gBAAgBA,CAACG,IAAqB,EAAE5B,KAAsB,EAAE;EACvE,MAAM6B,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMrB,IAAI,GAAGR,KAAK,CAAE,GAAE4B,IAAK,MAAK,CAAC;EAEjC,IAAItC,OAAO,CAACkB,IAAI,CAAC,EAAE;IACjBqB,YAAY,CAAE,KAAID,IAAK,KAAI,CAAC,GAAGE,GAAG,CAACvC,MAAM,CAACiB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzDqB,YAAY,CAAE,KAAID,IAAK,OAAM,CAAC,GAAGE,GAAG,CAACvC,MAAM,CAACiB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3DqB,YAAY,CAAE,KAAID,IAAK,MAAK,CAAC,GAAGrC,MAAM,CAACiB,IAAI,EAAE,MAAM,CAAC;EACtD,CAAC,MAAM,IAAIA,IAAI,KAAKuB,SAAS,EAAE;IAC7BF,YAAY,CAAE,KAAID,IAAK,KAAI,CAAC,GAAG,IAAI;IACnCC,YAAY,CAAE,KAAID,IAAK,OAAM,CAAC,GAAG,IAAI;IACrCC,YAAY,CAAE,KAAID,IAAK,MAAK,CAAC,GAAG,IAAI;EACtC;EAEA,OAAOC,YAAY;AACrB;AAEA,SAAS1B,QAAQA,CACfT,SAA8B,EAC9BI,aAAkC,EAClC;EACEH,UAAU;EACVC,OAAO;EACPC;AACiC,CAAC,EACpC;EAAA,IAAAmC,IAAA,EAAAC,oBAAA,EAAAC,qBAAA;EACA,MAAM1B,IAAI,GACRV,aAAa,CAACU,IAAI,KAAKd,SAAS,CAACc,IAAI,GACjCd,SAAS,CAACc,IAAI,GACdV,aAAa,CAACU,IAAI;EAExB,MAAMS,SAAS,GACb,QAAOvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,SAAS,MAAK,WAAW,GACvCkB,OAAO,CAACzC,SAAS,CAACuB,SAAS,EAAEtB,UAAU,CAAC,GACxC,OAAOa,IAAI,KAAK,WAAW,GAC3B2B,OAAO,CAAC3B,IAAI,EAAEb,UAAU,CAAC,GACzBoC,SAAS;EAEf,MAAMb,OAAO,GAAG,CAACtB,OAAO,GACpBqB,SAAS,GACT7B,mBAAmB,CAACM,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwB,OAAO,EAAE;IACtCkB,WAAW,EAAEzC;EACf,CAAC,CAAC,IAAIoC,SAAS;EAGnB,MAAMM,UAAU,IAAAL,IAAA,IAAAC,oBAAA,GACd7C,mBAAmB,CAACM,SAAS,CAAC2C,UAAU,EAAE;IACxCD,WAAW,EAAEzC;EACf,CAAC,CAAC,cAAAsC,oBAAA,cAAAA,oBAAA,GACFhB,SAAS,cAAAe,IAAA,cAAAA,IAAA,GACT,IAAIM,IAAI,CAAC,CAAC;EAEZ,MAAMC,QAAQ,GACZ,EAAAL,qBAAA,GAAA9C,mBAAmB,CAACM,SAAS,CAAC6C,QAAQ,EAAE;IACtCH,WAAW,EAAEzC;EACf,CAAC,CAAC,cAAAuC,qBAAA,cAAAA,qBAAA,GAAI,CAACtC,OAAO,IACVyC,UAAU,GACVnB,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI1B,SAAS,CAAC6C,UAAU,EAAE,CAAC,CAAC;EAEzC,MAAMlB,OAAO,GAAG/B,mBAAmB,CAACM,SAAS,CAACyB,OAAO,EAAE;IACrDiB,WAAW,EAAEzC;EACf,CAAC,CAAC;EAEF,MAAMyB,OAAO,GAAGhC,mBAAmB,CAACM,SAAS,CAAC0B,OAAO,EAAE;IACrDgB,WAAW,EAAEzC;EACf,CAAC,CAAC;EAEF,MAAM6C,iBAAiB,GAAGlD,OAAO,CAAC2B,SAAS,CAAC;EAC5C,MAAMwB,eAAe,GAAGnD,OAAO,CAAC4B,OAAO,CAAC;EAExC,MAAMH,cAAc,GAAGlB,iBAAiB,GACpCmB,YAAY,CAAC;IAAEC,SAAS;IAAEC,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAExB;EAAQ,CAAC,CAAC,GAC/D,CAAC,CAAC;EAEN,MAAMI,KAAK,GAAAE,aAAA;IACTe,SAAS;IACTC,OAAO;IACPmB,UAAU;IACVE,QAAQ;IACRpB,OAAO;IACPC;EAAO,GACJL,cAAc,CAClB;EAED,OAAAb,aAAA,CAAAA,aAAA,KACKF,KAAK;IACR0C,UAAU,EAAEF,iBAAiB,GACzBV,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACiB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACrC,IAAI;IACR0B,YAAY,EAAEH,iBAAiB,GAC3BV,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACiB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACrC,IAAI;IACR2B,WAAW,EAAEJ,iBAAiB,GAC1BjD,MAAM,CAACS,KAAK,CAACiB,SAAS,EAAE,MAAM,CAAC,GAC/B,IAAI;IACR4B,QAAQ,EAAEJ,eAAe,GAAGX,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACkB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IACtE4B,UAAU,EAAEL,eAAe,GACvBX,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACkB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACnC,IAAI;IACR6B,SAAS,EAAEN,eAAe,GAAGlD,MAAM,CAACS,KAAK,CAACkB,OAAO,EAAE,MAAM,CAAC,GAAG;EAAI;AAErE;AAEA,SAASF,YAAYA,CAAC;EACpBC,SAAS;EACTC,OAAO;EACPC,OAAO;EACPC,OAAO;EACPxB;AAOF,CAAC,EAAE;EACD,MAAMmB,cAAc,GAAG,CAAC,CAAC;EAEzB,IAAI1B,UAAU,CAAC4B,SAAS,EAAEE,OAAO,EAAEC,OAAO,CAAC,EAAE;IAC3CL,cAAc,CAAC,WAAW,CAAC,GAAGI,OAAO;EACvC;EACA,IAAI9B,UAAU,CAAC6B,OAAO,EAAEC,OAAO,EAAEC,OAAO,CAAC,EAAE;IAGzC,IAAI,CAACxB,OAAO,IAAI,CAACuB,OAAO,EAAE;MACxBJ,cAAc,CAAC,WAAW,CAAC,GAAGK,OAAO;IACvC,CAAC,MAAM;MACLL,cAAc,CAAC,SAAS,CAAC,GAAGK,OAAO;IACrC;EACF;EAEA,OAAOL,cAAc;AACvB;AAEA,SAASO,YAAYA,CAAC;EACpBX,QAAQ;EACRY;AAIF,CAAC,EAAE;EAAA,IAAAyB,KAAA,EAAAC,oBAAA,EAAAC,KAAA,EAAAC,kBAAA;EACD,MAAMd,UAAU,IAAAW,KAAA,IAAAC,oBAAA,GACdtC,QAAQ,CAAC0B,UAAU,cAAAY,oBAAA,cAAAA,oBAAA,GAAItC,QAAQ,CAACM,SAAS,cAAA+B,KAAA,cAAAA,KAAA,GAAIzB,YAAY,CAACc,UAAU;EACtE,MAAME,QAAQ,IAAAW,KAAA,IAAAC,kBAAA,GACZxC,QAAQ,CAAC4B,QAAQ,cAAAY,kBAAA,cAAAA,kBAAA,GAAIxC,QAAQ,CAACO,OAAO,cAAAgC,KAAA,cAAAA,KAAA,GAAI3B,YAAY,CAACgB,QAAQ;EAEhE,OAAO;IACLF,UAAU;IACVE;EACF,CAAC;AACH;AAEA,SAASJ,OAAOA,CAAC3B,IAAc,EAAEb,UAAkB,EAAE;EACnD,OAAOa,IAAI,YAAY8B,IAAI,GACvB9B,IAAI,GACJpB,mBAAmB,CAACoB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,EAAE;IAC9B4B,WAAW,EAAEzC;EACf,CAAC,CAAC;AACR;AAEA,OAAO,SAASmC,GAAGA,CAACtB,IAAY,EAAE4C,IAAY,EAAE;EAC9C,MAAMC,eAAe,GAAG,WAAW,GAAG7C,IAAI;EAE1C,OAAO6C,eAAe,CAACC,SAAS,CAACD,eAAe,CAACE,MAAM,GAAGH,IAAI,CAAC;AACjE"}
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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"}
@@ -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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"}
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { HelpButtonProps } from './HelpButton';
3
+ import { SpacingProps } from '../space/types';
4
+ export type HelpProps = {
5
+ title?: React.ReactNode;
6
+ content?: React.ReactNode;
7
+ renderAs?: 'inline' | 'dialog';
8
+ /** Only for the "inline" variant */
9
+ open?: boolean;
10
+ /** Only for the "inline" variant */
11
+ breakout?: boolean;
12
+ };
13
+ export type HelpButtonInlineProps = HelpButtonProps & {
14
+ contentId?: string;
15
+ help?: HelpProps;
16
+ };
17
+ export type HelpButtonInlineSharedStateDataProps = {
18
+ isOpen: boolean;
19
+ isUserIntent?: boolean;
20
+ buttonRef?: React.RefObject<HTMLButtonElement>;
21
+ };
22
+ declare function HelpButtonInline(props: HelpButtonInlineProps): import("react/jsx-runtime").JSX.Element;
23
+ declare namespace HelpButtonInline {
24
+ var _supportsSpacingProps: boolean;
25
+ }
26
+ export default HelpButtonInline;
27
+ export type HelpButtonInlineContentProps = SpacingProps & {
28
+ contentId: string;
29
+ className?: string;
30
+ children?: React.ReactNode;
31
+ help?: HelpProps;
32
+ breakout?: boolean;
33
+ };
34
+ export declare function HelpButtonInlineContent(props: HelpButtonInlineContentProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare namespace HelpButtonInlineContent {
36
+ var _supportsSpacingProps: boolean;
37
+ }
@@ -0,0 +1,173 @@
1
+ "use client";
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _QuestionIcon, _CloseIcon;
6
+ const _excluded = ["contentId", "size", "help", "className", "children"],
7
+ _excluded2 = ["contentId", "className", "children", "help", "breakout"];
8
+ import React, { useCallback, useContext, useEffect, useRef } from 'react';
9
+ import classnames from 'classnames';
10
+ import HelpButtonInstance from './HelpButtonInstance';
11
+ import HeightAnimation from '../HeightAnimation';
12
+ import { useSharedState } from '../../shared/helpers/useSharedState';
13
+ import { convertJsxToString } from '../../shared/component-helper';
14
+ import useId from '../../shared/helpers/useId';
15
+ import Section from '../Section';
16
+ import { P } from '../../elements';
17
+ import Flex from '../Flex';
18
+ import CardContext from '../card/CardContext';
19
+ import Dialog from '../Dialog';
20
+ import { question as QuestionIcon, close as CloseIcon } from '../../icons';
21
+ export default function HelpButtonInline(props) {
22
+ var _help$open;
23
+ const {
24
+ contentId,
25
+ size,
26
+ help,
27
+ className,
28
+ children
29
+ } = props,
30
+ rest = _objectWithoutProperties(props, _excluded);
31
+ const controlId = useId(contentId);
32
+ const {
33
+ data,
34
+ update
35
+ } = useSharedState(controlId, {
36
+ isOpen: (_help$open = help === null || help === void 0 ? void 0 : help.open) !== null && _help$open !== void 0 ? _help$open : false
37
+ });
38
+ const {
39
+ isOpen,
40
+ isUserIntent
41
+ } = data || {};
42
+ const wasOpenRef = useRef(undefined);
43
+ const buttonRef = useRef(null);
44
+ const onClickHandler = useCallback(({
45
+ event
46
+ }) => {
47
+ event.preventDefault();
48
+ update({
49
+ isOpen: !isOpen,
50
+ isUserIntent: !isOpen,
51
+ buttonRef
52
+ });
53
+ wasOpenRef.current = !isOpen;
54
+ }, [isOpen, update]);
55
+ return React.createElement(React.Fragment, null, React.createElement(HelpButtonInstance, _extends({
56
+ bounding: true,
57
+ size: size !== null && size !== void 0 ? size : 'small',
58
+ icon: HelpButtonIcon,
59
+ title: !isOpen && !wasOpenRef.current ? convertJsxToString(help === null || help === void 0 ? void 0 : help.title) : undefined
60
+ }, rest, {
61
+ id: controlId,
62
+ className: classnames('dnb-help-button__inline', className, isOpen && 'dnb-help-button__inline--open', isUserIntent && 'dnb-help-button__inline--user-intent', typeof wasOpenRef.current === 'boolean' && 'dnb-help-button__inline--was-open'),
63
+ "aria-controls": `${controlId}-content`,
64
+ on_click: onClickHandler,
65
+ innerRef: buttonRef
66
+ })), !contentId && React.createElement(HelpButtonInlineContent, {
67
+ contentId: controlId,
68
+ help: help
69
+ }, children));
70
+ }
71
+ export function HelpButtonInlineContent(props) {
72
+ var _ref;
73
+ const {
74
+ contentId,
75
+ className,
76
+ children,
77
+ help: helpProp,
78
+ breakout = true
79
+ } = props,
80
+ rest = _objectWithoutProperties(props, _excluded2);
81
+ const {
82
+ data,
83
+ update
84
+ } = useSharedState(contentId);
85
+ const {
86
+ isOpen,
87
+ isUserIntent,
88
+ buttonRef
89
+ } = data || {};
90
+ const {
91
+ open,
92
+ title,
93
+ content,
94
+ renderAs,
95
+ breakout: breakoutProp = true
96
+ } = helpProp || {};
97
+ const innerRef = useRef(null);
98
+ const cardContext = useContext(CardContext);
99
+ const breakoutFromLayout = Boolean(cardContext) && breakout && breakoutProp;
100
+ useEffect(() => {
101
+ if (isOpen && isUserIntent) {
102
+ window.requestAnimationFrame(() => {
103
+ var _innerRef$current;
104
+ (_innerRef$current = innerRef.current) === null || _innerRef$current === void 0 ? void 0 : _innerRef$current.focus({
105
+ preventScroll: true
106
+ });
107
+ });
108
+ }
109
+ }, [isOpen, isUserIntent]);
110
+ const onClose = useCallback(() => {
111
+ update({
112
+ isOpen: false,
113
+ isUserIntent: false
114
+ });
115
+ }, [update]);
116
+ const onKeyDown = useCallback(event => {
117
+ if (event.currentTarget === event.target) {
118
+ switch (event.key.trim() || event.code) {
119
+ case 'Enter':
120
+ case 'Space':
121
+ case 'Escape':
122
+ event.preventDefault();
123
+ window.requestAnimationFrame(() => {
124
+ var _buttonRef$current;
125
+ onClose();
126
+ (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
127
+ });
128
+ break;
129
+ }
130
+ }
131
+ }, [buttonRef, onClose]);
132
+ if (renderAs === 'dialog') {
133
+ return React.createElement(Dialog, {
134
+ title: title,
135
+ omitTriggerButton: true,
136
+ openState: isOpen !== null && isOpen !== void 0 ? isOpen : open,
137
+ onClose: onClose
138
+ }, content, children);
139
+ }
140
+ return React.createElement(HeightAnimation, {
141
+ className: classnames('dnb-help-button__content', className),
142
+ open: (_ref = isOpen !== null && isOpen !== void 0 ? isOpen : open) !== null && _ref !== void 0 ? _ref : false
143
+ }, React.createElement(Section, _extends({
144
+ id: `${contentId}-content`,
145
+ "aria-label": convertJsxToString(title),
146
+ className: "dnb-no-focus",
147
+ tabIndex: -1,
148
+ innerRef: innerRef,
149
+ onKeyDown: onKeyDown,
150
+ breakout: breakoutFromLayout,
151
+ roundedCorner: !breakoutFromLayout,
152
+ innerSpace: breakoutFromLayout ? {
153
+ top: 'small',
154
+ bottom: 'medium'
155
+ } : {
156
+ top: 'small',
157
+ bottom: 'medium',
158
+ left: 'medium',
159
+ right: 'x-small'
160
+ },
161
+ backgroundColor: "lavender"
162
+ }, rest), React.createElement(Flex.Vertical, {
163
+ gap: "x-small"
164
+ }, title && React.createElement(P, {
165
+ medium: true
166
+ }, title), content && React.createElement(P, null, content)), children));
167
+ }
168
+ function HelpButtonIcon() {
169
+ return React.createElement(React.Fragment, null, _QuestionIcon || (_QuestionIcon = React.createElement(QuestionIcon, null)), _CloseIcon || (_CloseIcon = React.createElement(CloseIcon, null)));
170
+ }
171
+ HelpButtonInline._supportsSpacingProps = true;
172
+ HelpButtonInlineContent._supportsSpacingProps = true;
173
+ //# sourceMappingURL=HelpButtonInline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpButtonInline.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","HelpButtonInstance","HeightAnimation","useSharedState","convertJsxToString","useId","Section","P","Flex","CardContext","Dialog","question","QuestionIcon","close","CloseIcon","HelpButtonInline","props","_help$open","contentId","size","help","className","children","rest","_objectWithoutProperties","_excluded","controlId","data","update","isOpen","open","isUserIntent","wasOpenRef","undefined","buttonRef","onClickHandler","event","preventDefault","current","createElement","Fragment","_extends","bounding","icon","HelpButtonIcon","title","id","on_click","innerRef","HelpButtonInlineContent","_ref","helpProp","breakout","_excluded2","content","renderAs","breakoutProp","cardContext","breakoutFromLayout","Boolean","window","requestAnimationFrame","_innerRef$current","focus","preventScroll","onClose","onKeyDown","currentTarget","target","key","trim","code","_buttonRef$current","omitTriggerButton","openState","tabIndex","roundedCorner","innerSpace","top","bottom","left","right","backgroundColor","Vertical","gap","medium","_QuestionIcon","_CloseIcon","_supportsSpacingProps"],"sources":["../../../../src/components/help-button/HelpButtonInline.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { HelpButtonProps } from './HelpButton'\nimport HelpButtonInstance from './HelpButtonInstance'\nimport HeightAnimation from '../HeightAnimation'\nimport { useSharedState } from '../../shared/helpers/useSharedState'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport Section from '../Section'\nimport { P } from '../../elements'\nimport Flex from '../Flex'\nimport CardContext from '../card/CardContext'\nimport { SpacingProps } from '../space/types'\nimport Dialog from '../Dialog'\nimport { question as QuestionIcon, close as CloseIcon } from '../../icons'\n\nexport type HelpProps = {\n title?: React.ReactNode\n content?: React.ReactNode\n renderAs?: 'inline' | 'dialog'\n /** Only for the \"inline\" variant */\n open?: boolean\n /** Only for the \"inline\" variant */\n breakout?: boolean\n}\n\nexport type HelpButtonInlineProps = HelpButtonProps & {\n contentId?: string\n help?: HelpProps\n}\n\nexport type HelpButtonInlineSharedStateDataProps = {\n isOpen: boolean\n isUserIntent?: boolean\n buttonRef?: React.RefObject<HTMLButtonElement>\n}\n\nexport default function HelpButtonInline(props: HelpButtonInlineProps) {\n const { contentId, size, help, className, children, ...rest } = props\n const controlId = useId(contentId)\n\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(controlId, {\n isOpen: help?.open ?? false,\n })\n const { isOpen, isUserIntent } = data || {}\n const wasOpenRef = useRef(undefined)\n const buttonRef = useRef<HTMLButtonElement>(null)\n\n const onClickHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n event.preventDefault() // Because when used inside a FormLabel\n update({ isOpen: !isOpen, isUserIntent: !isOpen, buttonRef })\n wasOpenRef.current = !isOpen\n },\n [isOpen, update]\n )\n\n return (\n <>\n <HelpButtonInstance\n bounding\n size={size ?? 'small'}\n icon={HelpButtonIcon}\n title={\n !isOpen && !wasOpenRef.current\n ? convertJsxToString(help?.title)\n : undefined\n }\n {...rest}\n id={controlId}\n className={classnames(\n 'dnb-help-button__inline',\n isOpen && 'dnb-help-button__inline--open',\n isUserIntent && 'dnb-help-button__inline--user-intent',\n typeof wasOpenRef.current === 'boolean' &&\n 'dnb-help-button__inline--was-open',\n className\n )}\n aria-controls={`${controlId}-content`}\n on_click={onClickHandler}\n innerRef={buttonRef}\n />\n\n {!contentId && (\n <HelpButtonInlineContent contentId={controlId} help={help}>\n {children}\n </HelpButtonInlineContent>\n )}\n </>\n )\n}\n\nexport type HelpButtonInlineContentProps = SpacingProps & {\n contentId: string\n className?: string\n children?: React.ReactNode\n help?: HelpProps\n breakout?: boolean\n}\n\nexport function HelpButtonInlineContent(\n props: HelpButtonInlineContentProps\n) {\n const {\n contentId,\n className,\n children,\n help: helpProp,\n breakout = true,\n ...rest\n } = props\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(contentId)\n const { isOpen, isUserIntent, buttonRef } = data || {}\n const {\n open,\n title,\n content,\n renderAs,\n breakout: breakoutProp = true,\n } = helpProp || {}\n\n const innerRef = useRef<HTMLDivElement>(null)\n const cardContext = useContext(CardContext)\n const breakoutFromLayout =\n Boolean(cardContext) && breakout && breakoutProp\n\n useEffect(() => {\n if (isOpen && isUserIntent) {\n window.requestAnimationFrame(() => {\n innerRef.current?.focus({ preventScroll: true })\n })\n }\n }, [isOpen, isUserIntent])\n\n const onClose = useCallback(() => {\n update({ isOpen: false, isUserIntent: false })\n }, [update])\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.currentTarget === event.target) {\n // Firefox returns a whitespace (\" \") on event.key when pressing space,\n // therefore using .trim() can help normalize this.\n // While userEvent.keyboard('{Space}') might return 'Unknown' on event.code,\n // making a direct comparison less reliable across all platforms.\n switch (event.key.trim() || event.code) {\n case 'Enter':\n case 'Space':\n case 'Escape':\n event.preventDefault()\n window.requestAnimationFrame(() => {\n onClose()\n buttonRef.current?.focus()\n })\n break\n }\n }\n },\n [buttonRef, onClose]\n )\n\n if (renderAs === 'dialog') {\n return (\n <Dialog\n title={title}\n omitTriggerButton\n openState={isOpen ?? open}\n onClose={onClose}\n >\n {content}\n {children}\n </Dialog>\n )\n }\n\n return (\n <HeightAnimation\n className={classnames('dnb-help-button__content', className)}\n open={isOpen ?? open ?? false}\n >\n <Section\n id={`${contentId}-content`}\n aria-label={convertJsxToString(title)}\n className=\"dnb-no-focus\"\n tabIndex={-1}\n innerRef={innerRef}\n onKeyDown={onKeyDown}\n breakout={breakoutFromLayout}\n roundedCorner={!breakoutFromLayout}\n innerSpace={\n breakoutFromLayout\n ? { top: 'small', bottom: 'medium' }\n : {\n top: 'small',\n bottom: 'medium',\n left: 'medium',\n right: 'x-small',\n }\n }\n backgroundColor=\"lavender\"\n {...rest}\n >\n <Flex.Vertical gap=\"x-small\">\n {title && <P medium>{title}</P>}\n {content && <P>{content}</P>}\n </Flex.Vertical>\n {children}\n </Section>\n </HeightAnimation>\n )\n}\n\nfunction HelpButtonIcon() {\n return (\n <>\n <QuestionIcon />\n <CloseIcon />\n </>\n )\n}\n\nHelpButtonInline._supportsSpacingProps = true\nHelpButtonInlineContent._supportsSpacingProps = true\n"],"mappings":"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"}