@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
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","warn","makeUniqueId","extendPropsWithContext","detectOutsideClick","getStatusState","combineDescribedBy","validateDOMAttributes","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","format","Context","Suffix","FormLabel","FormStatus","DatePickerProvider","DatePickerRange","DatePickerInput","DatePickerAddon","DatePickerFooter","pickFormElementProps","useTranslation","defaultProps","mask_order","mask_placeholder","date_format","return_format","hide_navigation","hide_navigation_buttons","hide_days","only_month","hide_last_week","disable_autofocus","enable_keyboard_nav","show_input","submit_button_text","cancel_button_text","reset_button_text","reset_date","first_day","range","link","sync","status_state","opened","no_animation","direction","DatePicker","externalProps","props","_objectSpread","prevent_close","on_hide","on_show","on_submit","on_cancel","on_reset","align_picker","show_submit_button","show_cancel_button","propsOpened","end_date","setOpened","hidden","setHidden","startDate","setStartDate","endDate","setEndDate","showInput","context","blurDelay","id","innerRef","triangleRef","submitButtonRef","getReturnObject","hideTimeout","outsideClick","translation","removeOutsideClickHandler","current","remove","hidePicker","args","event","persist","setTimeout","focus","preventScroll","e","setOutsideClickHandler","_ref","focusOnHide","setTrianglePosition","triangleWidth","shellWidth","querySelector","getBoundingClientRect","width","buttonWidth","distance","style","marginRight","marginLeft","showPicker","clearTimeout","onPickerChange","_ref2","shouldHidePicker","_objectWithoutProperties","_excluded","onSubmitHandler","onCancelHandler","onResetHandler","togglePicker","formatSelectedDateTitle","selected_date","start","end","currentDate","replace","extendedProps","skeleton","getTranslation","FormRow","formElement","label","title","label_direction","label_sr_only","input_element","addon_element","shortcuts","disabled","stretch","size","status","status_props","status_no_animation","globalStatus","suffix","show_reset_button","className","tooltip","restProps","_excluded2","attributes","locale","month","date","start_date","min_date","max_date","correct_invalid_date","rest","_excluded3","shouldHideDays","shouldHideNavigation","showStatus","pickerParams","submitParams","ref","tabIndex","selectedDateTitle","mainParams","lang","remainingDOMProps","remainingSubmitProps","remainingPickerProps","createElement","_extends","setReturnObject","fn","forId","text","srOnly","_AlignmentHelper","show","String","text_id","width_selector","state","maskOrder","maskPlaceholder","isRange","submitAttributes","onSubmit","Fragment","firstDayOfWeek","resetDate","isLink","isSync","hideDays","hideNav","views","nextBtn","prevBtn","onlyMonth","hideNextMonthWeek","noAutoFocus","onChange","renderElement","onCancel","onReset","submitButtonText","cancelButtonText","resetButtonText","_supportsSpacingProps"],"sources":["../../../../src/components/date-picker/DatePicker.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n HTMLProps,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n warn,\n makeUniqueId,\n extendPropsWithContext,\n detectOutsideClick,\n getStatusState,\n combineDescribedBy,\n validateDOMAttributes,\n DetectOutsideClickClass,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { skeletonDOMAttributes } from '../skeleton/SkeletonHelper'\n\n// date-fns\nimport format from 'date-fns/format'\n\nimport Context, { Locale } from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus, {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../form-status/FormStatus'\nimport DatePickerProvider, {\n DatePickerChangeEvent,\n type ReturnObject,\n} from './DatePickerProvider'\nimport DatePickerRange from './DatePickerRange'\nimport DatePickerInput from './DatePickerInput'\nimport DatePickerAddon, { DatePickerAddonProps } from './DatePickerAddon'\nimport DatePickerFooter from './DatePickerFooter'\nimport { SpacingProps } from '../space/types'\nimport { InputInputElement, InputSize } from '../Input'\nimport { SkeletonShow } from '../Skeleton'\nimport { GlobalStatusConfigObject } from '../GlobalStatus'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { CalendarDay, DatePickerCalendarProps } from './DatePickerCalendar'\nimport { DatePickerContextValues, DateType } from './DatePickerContext'\nimport { DatePickerDates } from './hooks/useDates'\nimport { useTranslation } from '../../shared'\n\nexport type DatePickerEventAttributes = {\n day?: string\n year?: string\n start?: string\n end?: string\n} & Record<string, unknown>\n\n// Takes the return object from DatePickerProvider and extends it with the event\nexport type DatePickerEvent<T> = ReturnObject<T>\n\nexport type DisplayPickerEvent = (\n | React.MouseEvent<HTMLButtonElement | HTMLAnchorElement | HTMLElement>\n | MouseEvent\n | KeyboardEvent\n) &\n DatePickerDates & {\n focusOnHide?: boolean | string\n event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n }\n\nexport type DatePickerProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'ref' | 'children' | 'label' | 'size' | 'onBlur' | 'onFocus' | 'start'\n> &\n SpacingProps & {\n /**\n * Defines the pre-filled date by either a JavaScript DateInstance or (ISO 8601) like `date=\"2019-05-05\"`.\n */\n date?: DateType\n /**\n * To set the pre-filled starting date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `mask_placeholder`.\n */\n start_date?: DateType\n /**\n * To set the pre-filled ending date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `mask_placeholder`.\n */\n end_date?: DateType\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `start_date`.\n */\n month?: DateType\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `start_date`.\n */\n start_month?: DateType\n /**\n * To display what month should be shown in the second calendar by default. Defaults to the `date` respective `start_date`.\n */\n end_month?: DateType\n /**\n * To limit a date range to a minimum `start_date`. Defaults to `null`.\n */\n min_date?: DateType\n /**\n * To limit a date range to a maximum `end_date`. Defaults to `null`.\n */\n max_date?: DateType\n /**\n * Corrects the input date value to be the same as either `min_date` or `max_date`, when the user types in a date that is either before or after one of these. Defaults to `false`.\n */\n correct_invalid_date?: boolean\n /**\n * To define the order of the masked placeholder input fields. Defaults to `dd/mm/yyyy`\n */\n mask_order?: string\n /**\n * To display the placeholder on input. Defaults to `dd/mm/åååå`.\n */\n mask_placeholder?: string\n /**\n * Defines how the prop dates (`date`, `start_date` and `end_date`) should be parsed, e.g. `yyyy/MM/dd`. Defaults to `yyyy-MM-dd`.\n */\n date_format?: string\n /**\n * Defines how the returned date, as a string, should be formatted as. Defaults to `yyyy-MM-dd`.\n */\n return_format?: string\n /**\n * If set to `true`, the navigation will be hidden. Defaults to `false`.\n */\n hide_navigation?: boolean\n hide_navigation_buttons?: boolean\n /**\n * If set to `true`, the week days will be hidden. Defaults to `false`.\n */\n hide_days?: boolean\n /**\n * Use `true` to only show the defined month. Disables the month navigation possibility. Defaults to `false`.\n */\n only_month?: boolean\n /**\n * Use `true` to only show the last week in the current month if it needs to be shown. The result is that there will mainly be shows five (5) weeks (rows) instead of six (6). Defaults to `false`.\n */\n hide_last_week?: boolean\n /**\n * Once the date picker gets opened, there is a focus handling to ensure good accessibility. can be disabled with property. Defaults to `false`.\n */\n disable_autofocus?: boolean\n enable_keyboard_nav?: boolean\n /**\n * If the input fields with the mask should be visible. Defaults to `false`.\n */\n show_input?: boolean\n /**\n * If set to `true`, a submit button will be shown. You can change the default text by using `submit_button_text=\"Ok\"`. Defaults to `false`. If the `range` prop is `true`, then the submit button is shown.\n */\n show_submit_button?: boolean\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `false`. If the `range` prop is `true`, then the cancel button is shown.\n */\n show_cancel_button?: boolean\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `false`.\n */\n show_reset_button?: boolean\n submit_button_text?: string\n cancel_button_text?: string\n reset_button_text?: string\n reset_date?: boolean\n /**\n * To define the first day of the week. Defaults to `monday`.\n */\n first_day?: string\n /**\n * @deprecated set locale with `Provider` instead.\n */\n locale?: Locale\n /**\n * If the date picker should support a range of two dates (starting and ending date). Defaults to `false`.\n */\n range?: boolean\n /**\n * Link both calendars, once to the user is navigating between months. Only meant to use if the range is set to `true`. Defaults to `false`.\n */\n link?: boolean\n /**\n * Sync input values with the calendars views. Once the input values get changed, the calendar changes its views in sync. Defaults to `true`.\n */\n sync?: boolean\n /**\n * A prepending label in sync with the date input field.\n */\n label?: React.ReactNode\n /**\n * Use `label_direction=\"vertical\"` to change the label layout direction. Defaults to `horizontal`.\n */\n label_direction?: 'vertical' | 'horizontal'\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n label_sr_only?: boolean\n /**\n * Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `input_element=\"input\"`, a React element, or a render function `input_element={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` not should be used, e.g. in testing environments. Defaults to custom masked input.\n */\n input_element?: InputInputElement\n /**\n * Gives you the possibility to inject a React element showing up over the footer. Use it to customize `shortcuts`.\n */\n addon_element?: React.ReactNode\n /**\n * Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.\n */\n shortcuts?: DatePickerAddonProps['shortcuts']\n disabled?: boolean\n /**\n * If set to `true`, then the date-picker input field will be 100% in `width`.\n */\n stretch?: boolean\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.\n */\n size?: InputSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n status_state?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties.\n */\n status_props?: FormStatusProps\n status_no_animation?: boolean\n /**\n * The <a href=\"/uilib/components/global-status/properties/#configuration-object\">configuration</a> used for the target <a href=\"/uilib/components/global-status\">GlobalStatus</a>.\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the DatePicker more than the label. You can also send in a React component, so it gets wrapped inside the DatePicker component.\n */\n suffix?: React.ReactNode\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n /**\n * Provide a short Tooltip content that shows up on the picker button.\n */\n tooltip?: React.ReactNode\n tabIndex?: number\n prevent_close?: boolean\n no_animation?: boolean\n direction?: 'auto' | 'top' | 'bottom'\n /**\n * Use `right` to change the calendar alignment direction. Defaults to `left`.\n */\n align_picker?: 'auto' | 'left' | 'right'\n className?: string\n /**\n * Will be called right before every new calendar view gets rendered. See the example above.\n */\n on_days_render?: (\n days: Array<CalendarDay>,\n nr?: DatePickerCalendarProps['nr']\n ) => void\n /**\n * Will be called on a date change event. Returns an `object`. See Returned Object below.\n */\n on_change?: (\n event: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called on every input and date picker interaction. Returns an `object`. See Returned Object below.\n */\n on_type?: (\n event: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once date-picker is visible.\n */\n on_show?: (event: DatePickerEvent<DisplayPickerEvent>) => void\n /**\n * Will be called once date-picker is hidden.\n */\n on_hide?: (event: DatePickerEvent<DisplayPickerEvent>) => void\n /**\n * Will be called once a user presses the submit button.\n */\n on_submit?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * Will be called once a user presses the cancel button.\n */\n on_cancel?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * Will be called once a user presses the reset button.\n */\n on_reset?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (\n event: DatePickerEvent<React.FocusEvent<HTMLElement>>\n ) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (\n event: DatePickerEvent<React.FocusEvent<HTMLElement>>\n ) => void\n }\n\nconst defaultProps: DatePickerProps = {\n mask_order: 'dd/mm/yyyy',\n mask_placeholder: 'dd/mm/åååå', // have to be same setup as \"mask\" - but can be like\n date_format: 'yyyy-MM-dd', // in v1 of date-fns we were more flexible in terms of the format\n return_format: 'yyyy-MM-dd', // used in date-fns v1\n hide_navigation: false,\n hide_navigation_buttons: false,\n hide_days: false,\n only_month: false,\n hide_last_week: false,\n disable_autofocus: false,\n enable_keyboard_nav: false,\n show_input: false,\n submit_button_text: 'Ok',\n cancel_button_text: 'Avbryt',\n reset_button_text: 'Tilbakestill',\n reset_date: true,\n first_day: 'monday',\n range: false,\n link: false,\n sync: true,\n status_state: 'error',\n opened: false,\n no_animation: false,\n direction: 'auto',\n}\n\nfunction DatePicker(externalProps: DatePickerProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n prevent_close,\n on_hide,\n on_show,\n on_submit,\n on_cancel,\n on_reset,\n no_animation,\n show_input,\n align_picker,\n show_submit_button,\n show_cancel_button,\n range,\n hide_days,\n hide_navigation,\n opened: propsOpened,\n end_date,\n } = props\n\n const [opened, setOpened] = useState<boolean>(propsOpened)\n const [hidden, setHidden] = useState(!opened)\n const [startDate, setStartDate] = useState<Date>()\n const [endDate, setEndDate] = useState<Date>()\n\n const showInput = props.show_input\n\n const context = useContext(Context)\n const blurDelay = 201 // some ms more than \"dropdownSlideDown 200ms\"\n const id = props.id || makeUniqueId()\n\n const innerRef = useRef<HTMLSpanElement>()\n const triangleRef = useRef<HTMLSpanElement>()\n const submitButtonRef = useRef<HTMLButtonElement>()\n const getReturnObject =\n useRef<DatePickerContextValues['getReturnObject']>()\n const hideTimeout = useRef<NodeJS.Timeout>()\n const outsideClick = useRef<DetectOutsideClickClass>()\n\n const translation = useTranslation().DatePicker\n\n if (end_date && !range) {\n warn(\n `The DatePicker got a \"end_date\". You have to set range={true} as well!.`\n )\n }\n\n const removeOutsideClickHandler = useCallback(() => {\n if (outsideClick.current) {\n outsideClick.current.remove()\n }\n }, [])\n\n const hidePicker = useCallback(\n (args?: DisplayPickerEvent) => {\n if (prevent_close) {\n return // stop here\n }\n\n if (args && args.event && args.event.persist) {\n args.event.persist()\n }\n\n setOpened(false)\n\n // Double check and compare return\n on_hide?.({\n ...getReturnObject.current(args),\n })\n\n hideTimeout.current = setTimeout(\n () => {\n setHidden(true)\n if (args?.['focusOnHide']) {\n try {\n submitButtonRef.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n warn(e)\n }\n }\n },\n no_animation ? 1 : blurDelay\n ) // wait until animation is over\n\n removeOutsideClickHandler()\n },\n [no_animation, prevent_close, on_hide, removeOutsideClickHandler]\n )\n\n const setOutsideClickHandler = useCallback(() => {\n outsideClick.current = detectOutsideClick(\n innerRef.current,\n ({ event }: { event: MouseEvent | KeyboardEvent }) => {\n hidePicker({ ...event, focusOnHide: event?.['code'] })\n }\n )\n }, [hidePicker])\n\n const setTrianglePosition = useCallback(() => {\n const triangleWidth = 16\n if (show_input && triangleRef.current && innerRef.current) {\n try {\n const shellWidth = innerRef.current\n .querySelector('.dnb-input__shell')\n .getBoundingClientRect().width\n\n const buttonWidth = innerRef.current\n .querySelector('.dnb-input__submit-button__button')\n .getBoundingClientRect().width\n\n if (align_picker === 'right') {\n const distance = buttonWidth / 2 - triangleWidth / 2\n triangleRef.current.style.marginRight = `${distance / 16}rem`\n } else {\n const distance = shellWidth - buttonWidth / 2 - triangleWidth / 2\n triangleRef.current.style.marginLeft = `${distance / 16}rem`\n }\n } catch (e) {\n warn(e)\n }\n }\n }, [show_input, align_picker])\n\n const showPicker = useCallback(\n (event?: DisplayPickerEvent) => {\n if (hideTimeout.current) {\n clearTimeout(hideTimeout.current)\n }\n\n setOpened(true)\n setHidden(false)\n\n on_show?.({ ...getReturnObject.current(event) })\n\n setTrianglePosition()\n setOutsideClickHandler()\n },\n [setTrianglePosition, setOutsideClickHandler, on_show]\n )\n\n useEffect(() => {\n if (propsOpened) {\n showPicker()\n }\n\n return () => {\n clearTimeout(hideTimeout.current)\n removeOutsideClickHandler()\n }\n }, [propsOpened, removeOutsideClickHandler, showPicker])\n\n const onPickerChange = useCallback(\n ({\n hidePicker: shouldHidePicker = true,\n ...args\n }: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n >) => {\n if (shouldHidePicker && !show_submit_button && !show_cancel_button) {\n hidePicker()\n }\n\n setStartDate(args.startDate)\n setEndDate(args.endDate)\n },\n [hidePicker, show_submit_button, show_cancel_button]\n )\n\n const onSubmitHandler = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n hidePicker(event)\n on_submit?.({\n ...getReturnObject.current({ event }),\n })\n },\n [hidePicker, on_submit]\n )\n\n const onCancelHandler = useCallback(\n (\n event: DatePickerChangeEvent<React.MouseEvent<HTMLButtonElement>>\n ) => {\n hidePicker()\n on_cancel?.({ ...getReturnObject.current(event) })\n },\n [hidePicker, on_cancel]\n )\n\n const onResetHandler = useCallback(\n (\n event: DatePickerChangeEvent<React.MouseEvent<HTMLButtonElement>>\n ) => {\n hidePicker()\n on_reset?.({ ...getReturnObject.current(event) })\n },\n [hidePicker, on_reset]\n )\n\n const togglePicker = useCallback(\n (args: React.MouseEvent<HTMLButtonElement>) => {\n !opened ? showPicker(args) : hidePicker(args)\n },\n [opened, showPicker, hidePicker]\n )\n\n const formatSelectedDateTitle = useCallback(() => {\n const { selected_date, start, end } = translation\n\n let currentDate = startDate ? format(startDate, 'PPPP') : null\n\n if (range && startDate && endDate) {\n currentDate = `${start} ${currentDate} - ${end} ${format(\n endDate,\n 'PPPP'\n )}`\n }\n\n return currentDate ? selected_date.replace(/%s/, currentDate) : ''\n }, [range, translation, startDate, endDate])\n\n // use only the props from context, who are available here anyway\n const extendedProps = extendPropsWithContext(\n props,\n defaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(props).DatePicker,\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context.DatePicker\n )\n\n const {\n label,\n title,\n label_direction,\n label_sr_only,\n only_month,\n hide_last_week,\n disable_autofocus,\n hide_navigation_buttons,\n first_day,\n reset_date,\n link,\n sync,\n input_element,\n addon_element,\n shortcuts,\n disabled,\n stretch,\n skeleton,\n size,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n mask_order,\n mask_placeholder,\n submit_button_text,\n cancel_button_text,\n reset_button_text,\n show_reset_button,\n className,\n tooltip,\n ...restProps\n } = extendedProps\n\n let attributes = null\n\n {\n const {\n locale,\n id,\n month,\n date,\n start_date,\n end_date,\n min_date,\n max_date,\n enable_keyboard_nav,\n hide_navigation,\n return_format,\n date_format,\n hide_days,\n correct_invalid_date,\n opened,\n direction,\n range,\n ...rest\n } = restProps\n attributes = rest\n }\n\n const shouldHideDays = only_month ? true : hide_days\n const shouldHideNavigation = only_month\n ? hide_navigation_buttons\n ? false\n : true\n : hide_navigation\n\n const showStatus = getStatusState(status)\n\n const pickerParams = {} as HTMLProps<HTMLSpanElement>\n\n if (showStatus || suffix) {\n pickerParams['aria-describedby'] = combineDescribedBy(\n pickerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n const submitParams = {\n ['aria-expanded']: opened,\n ref: submitButtonRef,\n tabIndex: extendedProps.tabIndex,\n tooltip,\n }\n\n const selectedDateTitle = formatSelectedDateTitle()\n\n const mainParams = {\n className: classnames(\n 'dnb-date-picker',\n status && `dnb-date-picker__status--${status_state}`,\n label_direction && `dnb-date-picker--${label_direction}`,\n opened && 'dnb-date-picker--opened',\n hidden && 'dnb-date-picker--hidden',\n showInput && 'dnb-date-picker--show-input',\n (range ||\n show_submit_button ||\n show_cancel_button ||\n show_reset_button) &&\n 'dnb-date-picker--show-footer',\n align_picker && `dnb-date-picker--${align_picker}`,\n stretch && `dnb-date-picker--stretch`,\n 'dnb-form-component',\n size && `dnb-date-picker--${size}`,\n createSpacingClasses(props),\n className\n ),\n lang: context.locale,\n } as HTMLProps<HTMLSpanElement>\n\n const remainingDOMProps = validateDOMAttributes(props, attributes)\n const remainingSubmitProps = validateDOMAttributes(null, submitParams)\n const remainingPickerProps = validateDOMAttributes(\n null,\n skeletonDOMAttributes(pickerParams, skeleton, context)\n )\n\n return (\n <DatePickerProvider\n {...props}\n attributes={remainingDOMProps}\n setReturnObject={(fn) => (getReturnObject.current = fn)}\n hidePicker={hidePicker}\n >\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n label_direction={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span\n className=\"dnb-date-picker__inner\"\n ref={innerRef}\n {...remainingPickerProps}\n >\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={String(label)}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + '-shell'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-date-picker__row\">\n <span className=\"dnb-date-picker__shell\" id={`${id}-shell`}>\n <DatePickerInput\n id={id}\n title={title}\n disabled={disabled}\n stretch={stretch}\n skeleton={skeleton}\n maskOrder={mask_order}\n maskPlaceholder={mask_placeholder}\n isRange={range}\n showInput={showInput}\n selectedDateTitle={selectedDateTitle}\n input_element={input_element}\n opened={opened}\n hidden={hidden}\n size={size}\n status={status ? 'error' : null}\n status_state={status_state}\n lang={context.locale}\n {...attributes}\n submitAttributes={remainingSubmitProps}\n onSubmit={togglePicker}\n {...status_props}\n />\n <span className=\"dnb-date-picker__container\">\n <span\n className=\"dnb-date-picker__triangle\"\n ref={triangleRef}\n />\n {!hidden && (\n <>\n <DatePickerRange\n id={id}\n firstDayOfWeek={first_day}\n resetDate={reset_date}\n isRange={range}\n isLink={link}\n isSync={sync}\n hideDays={shouldHideDays}\n hideNav={shouldHideNavigation}\n views={\n hide_navigation_buttons\n ? [{ nextBtn: false, prevBtn: false }]\n : null\n }\n onlyMonth={only_month}\n hideNextMonthWeek={hide_last_week}\n noAutoFocus={disable_autofocus}\n onChange={onPickerChange}\n locale={context.locale}\n />\n {(addon_element || shortcuts) && (\n <DatePickerAddon\n renderElement={addon_element}\n shortcuts={shortcuts}\n />\n )}\n <DatePickerFooter\n isRange={range}\n onSubmit={onSubmitHandler}\n onCancel={onCancelHandler}\n onReset={onResetHandler}\n submitButtonText={submit_button_text}\n cancelButtonText={cancel_button_text}\n resetButtonText={reset_button_text}\n />\n </>\n )}\n </span>\n </span>\n {suffix && (\n <Suffix\n className=\"dnb-date-picker__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n\n <p className=\"dnb-sr-only\" aria-live=\"assertive\">\n {selectedDateTitle}\n </p>\n </span>\n </DatePickerProvider>\n )\n}\n\nexport default DatePicker\n\nDatePicker._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","classnames","warn","makeUniqueId","extendPropsWithContext","detectOutsideClick","getStatusState","combineDescribedBy","validateDOMAttributes","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","format","Context","Suffix","FormLabel","FormStatus","DatePickerProvider","DatePickerRange","DatePickerInput","DatePickerAddon","DatePickerFooter","pickFormElementProps","useTranslation","convertSnakeCaseProps","defaultProps","maskOrder","maskPlaceholder","dateFormat","returnFormat","hideNavigation","hideNavigationButtons","hideDays","onlyMonth","hideLastWeek","disableAutofocus","enableKeyboardNav","showInput","submitButtonText","cancelButtonText","resetButtonText","resetDate","firstDay","range","link","sync","statusState","opened","noAnimation","direction","DatePicker","externalProps","props","_objectSpread","preventClose","onHide","onShow","onSubmit","onCancel","onReset","alignPicker","showSubmitButton","showCancelButton","openedProp","endDate","endDateProp","setOpened","hidden","setHidden","dates","setDates","context","blurDelay","id","innerRef","triangleRef","submitButtonRef","getReturnObject","hideTimeout","outsideClick","translation","removeOutsideClickHandler","current","remove","hidePicker","args","event","persist","setTimeout","focus","preventScroll","e","setOutsideClickHandler","_ref","focusOnHide","setTrianglePosition","triangleWidth","shellWidth","querySelector","getBoundingClientRect","width","buttonWidth","distance","style","marginRight","marginLeft","showPicker","clearTimeout","onPickerChange","_ref2","shouldHidePicker","_objectWithoutProperties","_excluded","startDate","onSubmitHandler","onCancelHandler","onResetHandler","togglePicker","formatSelectedDateTitle","selectedDate","start","end","currentDate","replace","extendedProps","skeleton","getTranslation","FormRow","formElement","label","title","labelDirection","labelSrOnly","inputElement","addonElement","shortcuts","disabled","stretch","size","status","statusProps","statusNoAnimation","globalStatus","suffix","showResetButton","className","tooltip","restProps","_excluded2","attributes","filterOutNonAttributes","shouldHideDays","shouldHideNavigation","showStatus","pickerParams","submitParams","ref","tabIndex","selectedDateTitle","mainParams","lang","locale","remainingDOMProps","remainingSubmitProps","remainingPickerProps","createElement","_extends","setReturnObject","fn","forId","text","srOnly","_AlignmentHelper","show","String","text_id","width_selector","state","no_animation","isRange","submitAttributes","Fragment","firstDayOfWeek","isLink","isSync","hideNav","views","nextBtn","prevBtn","hideNextMonthWeek","noAutoFocus","onChange","renderElement","NonAttributes","Object","keys","reduce","key","includes","_supportsSpacingProps"],"sources":["../../../../src/components/date-picker/DatePicker.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n HTMLProps,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n warn,\n makeUniqueId,\n extendPropsWithContext,\n detectOutsideClick,\n getStatusState,\n combineDescribedBy,\n validateDOMAttributes,\n DetectOutsideClickClass,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { skeletonDOMAttributes } from '../skeleton/SkeletonHelper'\n\n// date-fns\nimport format from 'date-fns/format'\n\nimport Context, { Locale } from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus, {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../form-status/FormStatus'\nimport DatePickerProvider, {\n DatePickerChangeEvent,\n type ReturnObject,\n} from './DatePickerProvider'\nimport DatePickerRange from './DatePickerRange'\nimport DatePickerInput from './DatePickerInput'\nimport DatePickerAddon, { DatePickerAddonProps } from './DatePickerAddon'\nimport DatePickerFooter from './DatePickerFooter'\nimport { SpacingProps } from '../space/types'\nimport { InputInputElement, InputSize } from '../Input'\nimport { SkeletonShow } from '../Skeleton'\nimport { GlobalStatusConfigObject } from '../GlobalStatus'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { CalendarDay, DatePickerCalendarProps } from './DatePickerCalendar'\nimport { DatePickerContextValues, DateType } from './DatePickerContext'\nimport { DatePickerDates } from './hooks/useDates'\nimport { useTranslation } from '../../shared'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nexport type DatePickerEventAttributes = {\n day?: string\n year?: string\n start?: string\n end?: string\n} & Record<string, unknown>\n\n// Takes the return object from DatePickerProvider and extends it with the event\nexport type DatePickerEvent<T> = ReturnObject<T>\n\nexport type DisplayPickerEvent = (\n | React.MouseEvent<HTMLButtonElement | HTMLAnchorElement | HTMLElement>\n | MouseEvent\n | KeyboardEvent\n) &\n DatePickerDates & {\n focusOnHide?: boolean | string\n event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n }\n\nexport type DatePickerProps = {\n /**\n * Defines the pre-filled date by either a JavaScript DateInstance or (ISO 8601) like `date=\"2019-05-05\"`.\n */\n date?: DateType\n /**\n * To set the pre-filled starting date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `maskPlaceholder`.\n */\n startDate?: DateType\n /**\n * To set the pre-filled ending date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `maskPlaceholder`.\n */\n endDate?: DateType\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: DateType\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n startMonth?: DateType\n /**\n * To display what month should be shown in the second calendar by default. Defaults to the `date` respective `startDate`.\n */\n endMonth?: DateType\n /**\n * To limit a date range to a minimum `startDate`. Defaults to `null`.\n */\n minDate?: DateType\n /**\n * To limit a date range to a maximum `endDate`. Defaults to `null`.\n */\n maxDate?: DateType\n /**\n * Corrects the input date value to be the same as either `minDate` or `maxDate`, when the user types in a date that is either before or after one of these. Defaults to `false`.\n */\n correctInvalidDate?: boolean\n /**\n * To define the order of the masked placeholder input fields. Defaults to `dd/mm/yyyy`\n */\n maskOrder?: string\n /**\n * To display the placeholder on input. Defaults to `dd/mm/åååå`.\n */\n maskPlaceholder?: string\n /**\n * Defines how the prop dates (`date`, `startDate` and `endDate`) should be parsed, e.g. `yyyy/MM/dd`. Defaults to `yyyy-MM-dd`.\n */\n dateFormat?: string\n /**\n * Defines how the returned date, as a string, should be formatted as. Defaults to `yyyy-MM-dd`.\n */\n returnFormat?: string\n /**\n * If set to `true`, the navigation will be hidden. Defaults to `false`.\n */\n hideNavigation?: boolean\n hideNavigationButtons?: boolean\n /**\n * If set to `true`, the week days will be hidden. Defaults to `false`.\n */\n hideDays?: boolean\n /**\n * Use `true` to only show the defined month. Disables the month navigation possibility. Defaults to `false`.\n */\n onlyMonth?: boolean\n /**\n * Use `true` to only show the last week in the current month if it needs to be shown. The result is that there will mainly be shows five (5) weeks (rows) instead of six (6). Defaults to `false`.\n */\n hideLastWeek?: boolean\n /**\n * Once the date picker gets opened, there is a focus handling to ensure good accessibility. can be disabled with property. Defaults to `false`.\n */\n disableAutofocus?: boolean\n enableKeyboardNav?: boolean\n /**\n * If the input fields with the mask should be visible. Defaults to `false`.\n */\n showInput?: boolean\n /**\n * If set to `true`, a submit button will be shown. You can change the default text by using `submitButtonText=\"Ok\"`. Defaults to `false`. If the `range` prop is `true`, then the submit button is shown.\n */\n showSubmitButton?: boolean\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancelButtonText=\"Avbryt\"` Defaults to `false`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: boolean\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `resetButtonText=\"Tilbakestill\"` Defaults to `false`.\n */\n showResetButton?: boolean\n submitButtonText?: string\n cancelButtonText?: string\n resetButtonText?: string\n resetDate?: boolean\n /**\n * To define the first day of the week. Defaults to `monday`.\n */\n firstDay?:\n | 'monday'\n | 'tuesday'\n | 'wednesday'\n | 'thursday'\n | 'friday'\n | 'saturday'\n | 'sunday'\n /**\n * If the date picker should support a range of two dates (starting and ending date). Defaults to `false`.\n */\n range?: boolean\n /**\n * Link both calendars, once to the user is navigating between months. Only meant to use if the range is set to `true`. Defaults to `false`.\n */\n link?: boolean\n /**\n * Sync input values with the calendars views. Once the input values get changed, the calendar changes its views in sync. Defaults to `true`.\n */\n sync?: boolean\n /**\n * A prepending label in sync with the date input field.\n */\n label?: React.ReactNode\n /**\n * Use `labelDirection=\"vertical\"` to change the label layout direction. Defaults to `horizontal`.\n */\n labelDirection?: 'vertical' | 'horizontal'\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `inputElement=\"input\"`, a React element, or a render function `inputElement={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` not should be used, e.g. in testing environments. Defaults to custom masked input.\n */\n inputElement?: InputInputElement\n /**\n * Gives you the possibility to inject a React element showing up over the footer. Use it to customize `shortcuts`.\n */\n addonElement?: React.ReactNode\n /**\n * Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.\n */\n shortcuts?: DatePickerAddonProps['shortcuts']\n disabled?: boolean\n /**\n * If set to `true`, then the date-picker input field will be 100% in `width`.\n */\n stretch?: boolean\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.\n */\n size?: InputSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties.\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The <a href=\"/uilib/components/global-status/properties/#configuration-object\">configuration</a> used for the target <a href=\"/uilib/components/global-status\">GlobalStatus</a>.\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the DatePicker more than the label. You can also send in a React component, so it gets wrapped inside the DatePicker component.\n */\n suffix?: React.ReactNode\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n /**\n * Provide a short Tooltip content that shows up on the picker button.\n */\n tooltip?: React.ReactNode\n tabIndex?: number\n preventClose?: boolean\n noAnimation?: boolean\n direction?: 'auto' | 'top' | 'bottom'\n /**\n * Use `right` to change the calendar alignment direction. Defaults to `left`.\n */\n alignPicker?: 'auto' | 'left' | 'right'\n className?: string\n /**\n * Will be called right before every new calendar view gets rendered. See the example above.\n */\n onDaysRender?: (\n days: Array<CalendarDay>,\n nr?: DatePickerCalendarProps['nr']\n ) => void\n /**\n * Will be called on a date change event. Returns an `object`. See Returned Object below.\n */\n onChange?: (\n event: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called on every input and date picker interaction. Returns an `object`. See Returned Object below.\n */\n onType?: (\n event: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once date-picker is visible.\n */\n onShow?: (event: DatePickerEvent<DisplayPickerEvent>) => void\n /**\n * Will be called once date-picker is hidden.\n */\n onHide?: (event: DatePickerEvent<DisplayPickerEvent>) => void\n /**\n * Will be called once a user presses the submit button.\n */\n onSubmit?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * Will be called once a user presses the cancel button.\n */\n onCancel?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * Will be called once a user presses the reset button.\n */\n onReset?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (event: DatePickerEvent<React.FocusEvent<HTMLElement>>) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (event: DatePickerEvent<React.FocusEvent<HTMLElement>>) => void\n}\n// Can be removed in v11\ntype DatePickerDeprecatedProps = {\n /**\n * @deprecated use `startDate` instead.\n */\n start_date?: DateType\n /**\n * @deprecated use `endDate` instead.\n */\n end_date?: DateType\n /**\n * @deprecated use `startMonth` instead.\n */\n start_month?: DateType\n /**\n * @deprecated use `endMonth` instead.\n */\n end_month?: DateType\n /**\n * @deprecated use `minDate` instead.\n */\n min_date?: DateType\n /**\n * @deprecated use `maxDate` instead.\n */\n max_date?: DateType\n /**\n * @deprecated use `correctInvalidDate` instead.\n */\n correct_invalid_date?: boolean\n /**\n * @deprecated use `maskOrder` instead.\n */\n mask_order?: string\n /**\n * @deprecated use `maskPlaceholder` instead.\n */\n mask_placeholder?: string\n /**\n * @deprecated use `dateFormat` instead.\n */\n date_format?: string\n /**\n * @deprecated use `returnFormat` instead.\n */\n return_format?: string\n /**\n * @deprecated use `hideNavigation` instead.\n */\n hide_navigation?: boolean\n /**\n * @deprecated use `hideNavigationButtons` instead.\n */\n hide_navigation_buttons?: boolean\n /**\n * @deprecated use `hideDays` instead.\n */\n hide_days?: boolean\n /**\n * @deprecated use `onlyMonth` instead.\n */\n only_month?: boolean\n /**\n * @deprecated use `hideLastWeek` instead.\n */\n hide_last_week?: boolean\n /**\n * @deprecated use `disableAutofocus` instead.\n */\n disable_autofocus?: boolean\n /**\n * @deprecated use `enableKeyboardNav` instead.\n */\n enable_keyboard_nav?: boolean\n /**\n * @deprecated use `showInput` instead.\n */\n show_input?: boolean\n /**\n * @deprecated use `showSubmitButton` instead.\n */\n show_submit_button?: boolean\n /**\n * @deprecated use `showCancelButton` instead.\n */\n show_cancel_button?: boolean\n /**\n * @deprecated\n */\n show_reset_button?: boolean\n /**\n * @deprecated use `submitButtonText` instead.\n */\n submit_button_text?: string\n /**\n * @deprecated use `cancelButtonText` instead.\n */\n cancel_button_text?: string\n /**\n * @deprecated use `resetButtonText` instead.\n */\n reset_button_text?: string\n /**\n * @deprecated use `resetDate` instead.\n */\n reset_date?: boolean\n /**\n * @deprecated use `firstDay` instead.\n */\n first_day?: string\n /**\n * @deprecated set locale with `Provider` instead.\n */\n locale?: Locale\n /**\n * @deprecated use `labelDirection` instead.\n */\n label_direction?: 'vertical' | 'horizontal'\n /**\n * @deprecated use `labelSrOnly` instead.\n */\n label_sr_only?: boolean\n /**\n * @deprecated use `inputElement` instead.\n */\n input_element?: InputInputElement\n /**\n * @deprecated use `addonElement` instead.\n */\n addon_element?: React.ReactNode\n /**\n * @deprecated use `statusState` instead.\n */\n status_state?: FormStatusState\n /**\n * @deprecated use `statusProps` instead.\n */\n status_props?: FormStatusProps\n /**\n * @deprecated use `statusNoAnimation` instead.\n */\n status_no_animation?: boolean\n /**\n * @deprecated use `preventClose` instead.\n */\n prevent_close?: boolean\n /**\n * @deprecated use `no_animation` instead.\n */\n no_animation?: boolean\n /**\n * @deprecated use `alignPicker` instead.\n */\n align_picker?: 'auto' | 'left' | 'right'\n /**\n * @deprecated use `onDaysRender` instead.\n */\n on_days_render?: (\n days: Array<CalendarDay>,\n nr?: DatePickerCalendarProps['nr']\n ) => void\n /**\n * @deprecated use `onChange` instead.\n */\n on_change?: (\n event: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * @deprecated use `onType` instead.\n */\n on_type?: (\n event: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * @deprecated use `onShow` instead.\n */\n on_show?: (event: DatePickerEvent<DisplayPickerEvent>) => void\n /**\n * @deprecated use `onHide` instead.\n */\n on_hide?: (event: DatePickerEvent<DisplayPickerEvent>) => void\n /**\n * @deprecated use `onSubmit` instead.\n */\n on_submit?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * @deprecated use `onCancel` instead.\n */\n on_cancel?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n /**\n * @deprecated use `onReset` instead.\n */\n on_reset?: (\n event: DatePickerEvent<React.MouseEvent<HTMLButtonElement>>\n ) => void\n}\n\nexport type DatePickerAllProps = DatePickerProps &\n DatePickerDeprecatedProps &\n SpacingProps &\n Omit<\n React.HTMLProps<HTMLElement>,\n | 'ref'\n | 'children'\n | 'label'\n | 'size'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'onSubmit'\n | 'start'\n >\n\nconst defaultProps: DatePickerProps = {\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå', // have to be same setup as \"mask\" - but can be like\n dateFormat: 'yyyy-MM-dd', // in v1 of date-fns we were more flexible in terms of the format\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1\n hideNavigation: false,\n hideNavigationButtons: false,\n hideDays: false,\n onlyMonth: false,\n hideLastWeek: false,\n disableAutofocus: false,\n enableKeyboardNav: false,\n showInput: false,\n submitButtonText: 'Ok',\n cancelButtonText: 'Avbryt',\n resetButtonText: 'Tilbakestill',\n resetDate: true,\n firstDay: 'monday',\n range: false,\n link: false,\n sync: true,\n statusState: 'error',\n opened: false,\n noAnimation: false,\n direction: 'auto',\n}\n\nfunction DatePicker(externalProps: DatePickerAllProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n preventClose,\n onHide,\n onShow,\n onSubmit,\n onCancel,\n onReset,\n noAnimation,\n showInput,\n alignPicker,\n showSubmitButton,\n showCancelButton,\n range,\n hideDays,\n hideNavigation,\n opened: openedProp,\n endDate: endDateProp,\n } = convertSnakeCaseProps(props) // convertSnakeCaseProps - can be removed in v11\n\n const [opened, setOpened] = useState<boolean>(openedProp)\n const [hidden, setHidden] = useState(!opened)\n const [dates, setDates] = useState<\n Pick<DatePickerDates, 'startDate' | 'endDate'>\n >({})\n\n const context = useContext(Context)\n const blurDelay = 201 // some ms more than \"dropdownSlideDown 200ms\"\n const id = props.id || makeUniqueId()\n\n const innerRef = useRef<HTMLSpanElement>()\n const triangleRef = useRef<HTMLSpanElement>()\n const submitButtonRef = useRef<HTMLButtonElement>()\n const getReturnObject =\n useRef<DatePickerContextValues['getReturnObject']>()\n const hideTimeout = useRef<NodeJS.Timeout>()\n const outsideClick = useRef<DetectOutsideClickClass>()\n\n const translation = useTranslation().DatePicker\n\n if (endDateProp && !range) {\n warn(\n `The DatePicker got a \"endDate\". You have to set range={true} as well!.`\n )\n }\n\n const removeOutsideClickHandler = useCallback(() => {\n if (outsideClick.current) {\n outsideClick.current.remove()\n }\n }, [])\n\n const hidePicker = useCallback(\n (args?: DisplayPickerEvent) => {\n if (preventClose) {\n return // stop here\n }\n\n if (args && args.event && args.event.persist) {\n args.event.persist()\n }\n\n setOpened(false)\n\n // Double check and compare return\n onHide?.({\n ...getReturnObject.current(args),\n })\n\n hideTimeout.current = setTimeout(\n () => {\n setHidden(true)\n if (args?.['focusOnHide']) {\n try {\n submitButtonRef.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n warn(e)\n }\n }\n },\n noAnimation ? 1 : blurDelay\n ) // wait until animation is over\n\n removeOutsideClickHandler()\n },\n [noAnimation, preventClose, onHide, removeOutsideClickHandler]\n )\n\n const setOutsideClickHandler = useCallback(() => {\n outsideClick.current = detectOutsideClick(\n innerRef.current,\n ({ event }: { event: MouseEvent | KeyboardEvent }) => {\n hidePicker({ ...event, focusOnHide: event?.['code'] })\n }\n )\n }, [hidePicker])\n\n const setTrianglePosition = useCallback(() => {\n const triangleWidth = 16\n if (showInput && triangleRef.current && innerRef.current) {\n try {\n const shellWidth = innerRef.current\n .querySelector('.dnb-input__shell')\n .getBoundingClientRect().width\n\n const buttonWidth = innerRef.current\n .querySelector('.dnb-input__submit-button__button')\n .getBoundingClientRect().width\n\n if (alignPicker === 'right') {\n const distance = buttonWidth / 2 - triangleWidth / 2\n triangleRef.current.style.marginRight = `${distance / 16}rem`\n } else {\n const distance = shellWidth - buttonWidth / 2 - triangleWidth / 2\n triangleRef.current.style.marginLeft = `${distance / 16}rem`\n }\n } catch (e) {\n warn(e)\n }\n }\n }, [showInput, alignPicker])\n\n const showPicker = useCallback(\n (event?: DisplayPickerEvent) => {\n if (hideTimeout.current) {\n clearTimeout(hideTimeout.current)\n }\n\n setOpened(true)\n setHidden(false)\n\n onShow?.({ ...getReturnObject.current(event) })\n\n setTrianglePosition()\n setOutsideClickHandler()\n },\n [setTrianglePosition, setOutsideClickHandler, onShow]\n )\n\n // React to opened prop changes\n useEffect(() => {\n if (openedProp) {\n showPicker()\n }\n\n return () => {\n clearTimeout(hideTimeout.current)\n removeOutsideClickHandler()\n }\n }, [openedProp, removeOutsideClickHandler, showPicker])\n\n const onPickerChange = useCallback(\n ({\n hidePicker: shouldHidePicker = true,\n ...args\n }: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n >) => {\n if (shouldHidePicker && !showSubmitButton && !showCancelButton) {\n hidePicker()\n }\n\n setDates({ startDate: args.startDate, endDate: args.endDate })\n },\n [hidePicker, showSubmitButton, showCancelButton]\n )\n\n const onSubmitHandler = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n hidePicker(event)\n onSubmit?.({\n ...getReturnObject.current({ event }),\n })\n },\n [hidePicker, onSubmit]\n )\n\n const onCancelHandler = useCallback(\n (\n event: DatePickerChangeEvent<React.MouseEvent<HTMLButtonElement>>\n ) => {\n hidePicker()\n onCancel?.({ ...getReturnObject.current(event) })\n },\n [hidePicker, onCancel]\n )\n\n const onResetHandler = useCallback(\n (\n event: DatePickerChangeEvent<React.MouseEvent<HTMLButtonElement>>\n ) => {\n hidePicker()\n onReset?.({ ...getReturnObject.current(event) })\n },\n [hidePicker, onReset]\n )\n\n const togglePicker = useCallback(\n (args: React.MouseEvent<HTMLButtonElement>) => {\n !opened ? showPicker(args) : hidePicker(args)\n },\n [opened, showPicker, hidePicker]\n )\n\n const formatSelectedDateTitle = useCallback(() => {\n const { selectedDate, start, end } = translation\n const { startDate, endDate } = dates\n\n let currentDate = startDate ? format(startDate, 'PPPP') : null\n\n if (range && startDate && endDate) {\n currentDate = `${start} ${currentDate} - ${end} ${format(\n endDate,\n 'PPPP'\n )}`\n }\n\n return currentDate ? selectedDate.replace(/%s/, currentDate) : ''\n }, [range, translation, dates])\n\n // use only the props from context, who are available here anyway\n const extendedProps = extendPropsWithContext(\n props,\n defaultProps,\n { skeleton: context?.skeleton },\n convertSnakeCaseProps(context.getTranslation(props).DatePicker), // convertSnakeCaseProps - can be removed in v11\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n convertSnakeCaseProps(pickFormElementProps(context?.formElement)), // Deprecated – can be removed in v11\n context.DatePicker\n )\n\n const {\n label,\n title,\n labelDirection,\n labelSrOnly,\n onlyMonth,\n hideLastWeek,\n disableAutofocus,\n hideNavigationButtons,\n firstDay,\n resetDate,\n link,\n sync,\n inputElement,\n addonElement,\n shortcuts,\n disabled,\n stretch,\n skeleton,\n size,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n maskOrder,\n maskPlaceholder,\n submitButtonText,\n cancelButtonText,\n resetButtonText,\n showResetButton,\n className,\n tooltip,\n ...restProps\n } = extendedProps\n\n const attributes = useMemo(\n () => filterOutNonAttributes(restProps),\n [restProps]\n )\n\n const shouldHideDays = onlyMonth ? true : hideDays\n const shouldHideNavigation = onlyMonth\n ? hideNavigationButtons\n ? false\n : true\n : hideNavigation\n\n const showStatus = getStatusState(status)\n\n const pickerParams = {} as HTMLProps<HTMLSpanElement>\n\n if (showStatus || suffix) {\n pickerParams['aria-describedby'] = combineDescribedBy(\n pickerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n const submitParams = {\n ['aria-expanded']: opened,\n ref: submitButtonRef,\n tabIndex: extendedProps.tabIndex,\n tooltip,\n }\n\n const selectedDateTitle = formatSelectedDateTitle()\n\n const mainParams = {\n className: classnames(\n 'dnb-date-picker',\n status && `dnb-date-picker__status--${statusState}`,\n labelDirection && `dnb-date-picker--${labelDirection}`,\n opened && 'dnb-date-picker--opened',\n hidden && 'dnb-date-picker--hidden',\n showInput && 'dnb-date-picker--show-input',\n (range || showSubmitButton || showCancelButton || showResetButton) &&\n 'dnb-date-picker--show-footer',\n alignPicker && `dnb-date-picker--${alignPicker}`,\n stretch && `dnb-date-picker--stretch`,\n 'dnb-form-component',\n size && `dnb-date-picker--${size}`,\n createSpacingClasses(props),\n className\n ),\n lang: context.locale,\n } as HTMLProps<HTMLSpanElement>\n\n const remainingDOMProps = validateDOMAttributes(props, attributes)\n const remainingSubmitProps = validateDOMAttributes(null, submitParams)\n const remainingPickerProps = validateDOMAttributes(\n null,\n skeletonDOMAttributes(pickerParams, skeleton, context)\n )\n\n return (\n <DatePickerProvider\n {...props}\n attributes={remainingDOMProps}\n setReturnObject={(fn) => (getReturnObject.current = fn)}\n hidePicker={hidePicker}\n >\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={labelDirection}\n srOnly={labelSrOnly}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span\n className=\"dnb-date-picker__inner\"\n ref={innerRef}\n {...remainingPickerProps}\n >\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={String(label)}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + '-shell'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n\n <span className=\"dnb-date-picker__row\">\n <span className=\"dnb-date-picker__shell\" id={`${id}-shell`}>\n <DatePickerInput\n id={id}\n title={title}\n disabled={disabled}\n stretch={stretch}\n skeleton={skeleton}\n maskOrder={maskOrder}\n maskPlaceholder={maskPlaceholder}\n isRange={range}\n showInput={showInput}\n selectedDateTitle={selectedDateTitle}\n inputElement={inputElement}\n opened={opened}\n hidden={hidden}\n size={size}\n status={status ? 'error' : null}\n statusState={statusState}\n lang={context.locale}\n {...attributes}\n submitAttributes={remainingSubmitProps}\n onSubmit={togglePicker}\n {...statusProps}\n />\n <span className=\"dnb-date-picker__container\">\n <span\n className=\"dnb-date-picker__triangle\"\n ref={triangleRef}\n />\n {!hidden && (\n <>\n <DatePickerRange\n id={id}\n firstDayOfWeek={firstDay}\n resetDate={resetDate}\n isRange={range}\n isLink={link}\n isSync={sync}\n hideDays={shouldHideDays}\n hideNav={shouldHideNavigation}\n views={\n hideNavigationButtons\n ? [{ nextBtn: false, prevBtn: false }]\n : null\n }\n onlyMonth={onlyMonth}\n hideNextMonthWeek={hideLastWeek}\n noAutoFocus={disableAutofocus}\n onChange={onPickerChange}\n locale={context.locale}\n />\n {(addonElement || shortcuts) && (\n <DatePickerAddon\n renderElement={addonElement}\n shortcuts={shortcuts}\n />\n )}\n <DatePickerFooter\n isRange={range}\n onSubmit={onSubmitHandler}\n onCancel={onCancelHandler}\n onReset={onResetHandler}\n submitButtonText={submitButtonText}\n cancelButtonText={cancelButtonText}\n resetButtonText={resetButtonText}\n />\n </>\n )}\n </span>\n </span>\n {suffix && (\n <Suffix\n className=\"dnb-date-picker__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n\n <p className=\"dnb-sr-only\" aria-live=\"assertive\">\n {selectedDateTitle}\n </p>\n </span>\n </DatePickerProvider>\n )\n}\n\nconst NonAttributes = [\n 'locale',\n 'id',\n 'month',\n 'date',\n 'startDate',\n 'endDate',\n 'minDate',\n 'maxDate',\n 'enableKeyboardNav',\n 'hideNavigation',\n 'returnFormat',\n 'dateFormat',\n 'hideDays',\n 'correctInvalidDate',\n 'opened',\n 'direction',\n 'range',\n 'showInput',\n 'noAnimation',\n 'onDaysRender',\n 'onShow',\n 'onType',\n 'onHide',\n 'showSubmitButton',\n 'showCancelButton',\n 'selectedDate',\n 'selectedMonth',\n 'selectedYear',\n 'nextMonth',\n 'nextYear',\n 'openPickerText',\n 'placeholderCharacters',\n 'prevMonth',\n 'prevYear',\n 'endMonth',\n 'startMonth',\n 'alignPicker',\n]\n\nfunction filterOutNonAttributes(props: DatePickerProps) {\n return Object.keys(props).reduce((attributes, key) => {\n if (!NonAttributes.includes(key)) {\n attributes[key] = props[key]\n }\n return attributes\n }, {})\n}\n\nexport default DatePicker\n\nDatePicker._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerAddon.js","names":["React","useCallback","useContext","useMemo","convertStringToDate","Button","DatePickerContext","DatePickerAddon","props","updateDates","forceViewMonthChange","callOnChangeHandler","hidePicker","startDate","endDate","shortcuts","renderElement","currentDates","date","start_date","end_date","callOnChange","event","arguments","length","undefined","setDate","_ref","shortcut","close_on_select","shortcutsArray","JSON","parse","hasShortcuts","shortcutElements","createElement","Fragment","map","_ref2","i","title","_objectWithoutProperties","_excluded","key","text","variant","onClick","className"],"sources":["../../../../src/components/date-picker/DatePickerAddon.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useCallback, useContext, useMemo } from 'react'\nimport { convertStringToDate } from './DatePickerCalc'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\n\nexport type DatePickerShortcut = {\n title?: string\n date?: string | Date | ((...args: unknown[]) => Date)\n start_date?: string | Date | ((...args: unknown[]) => Date)\n end_date?: string | Date | ((...args: unknown[]) => Date)\n close_on_select?: boolean\n}\n\nexport type DatePickerAddonProps = React.HTMLProps<HTMLElement> & {\n /**\n * Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.\n */\n shortcuts?: Array<DatePickerShortcut> | string\n renderElement?: React.ReactNode\n}\n\nfunction DatePickerAddon(props: DatePickerAddonProps) {\n const {\n updateDates,\n forceViewMonthChange,\n callOnChangeHandler,\n hidePicker,\n startDate,\n endDate,\n } = useContext(DatePickerContext)\n\n const { shortcuts, renderElement } = props\n\n const currentDates = useMemo(\n () => ({\n date: startDate,\n start_date: startDate,\n end_date: endDate,\n }),\n [startDate, endDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event = null,\n }: {\n startDate?: Date\n endDate?: Date\n event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n } = {}) => {\n updateDates({ startDate, endDate })\n forceViewMonthChange()\n callOnChangeHandler({\n startDate,\n endDate: endDate || startDate,\n event,\n })\n },\n [updateDates, callOnChangeHandler, forceViewMonthChange]\n )\n\n const setDate = useCallback(\n ({\n shortcut,\n event,\n }: {\n shortcut: DatePickerShortcut\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n }) => {\n const start_date = shortcut.date || shortcut.start_date\n const end_date = shortcut.end_date\n\n const startDate =\n typeof start_date === 'function'\n ? start_date(currentDates)\n : start_date\n ? convertStringToDate(start_date)\n : null\n\n const endDate =\n typeof end_date === 'function'\n ? end_date(currentDates)\n : end_date\n ? convertStringToDate(end_date)\n : null\n\n callOnChange({\n startDate,\n endDate: endDate || startDate,\n event,\n })\n\n if (shortcut.close_on_select) {\n hidePicker(event)\n }\n },\n [callOnChange, currentDates, hidePicker]\n )\n\n const shortcutsArray: Array<DatePickerShortcut> = useMemo(\n () =>\n shortcuts\n ? typeof shortcuts === 'string'\n ? JSON.parse(shortcuts)\n : shortcuts\n : [],\n [shortcuts]\n )\n\n const hasShortcuts = shortcutsArray && shortcutsArray.length > 0\n\n const shortcutElements = useMemo(\n () =>\n hasShortcuts && (\n <>\n {shortcutsArray.map(({ title, ...shortcut }, i: number) => {\n return (\n <Button\n key={i}\n text={title}\n variant=\"secondary\"\n onClick={(event) => setDate({ shortcut, event })}\n />\n )\n })}\n </>\n ),\n [hasShortcuts, shortcutsArray, setDate]\n )\n\n if (!hasShortcuts && !renderElement) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__addon\">\n {renderElement}\n {shortcutElements}\n </div>\n )\n}\n\nexport default DatePickerAddon\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerAddon.js","names":["React","useCallback","useContext","useMemo","convertStringToDate","Button","DatePickerContext","DatePickerAddon","props","updateDates","forceViewMonthChange","callOnChangeHandler","hidePicker","startDate","endDate","shortcuts","renderElement","currentDates","date","start_date","end_date","callOnChange","event","arguments","length","undefined","setDate","_ref","shortcut","close_on_select","shortcutsArray","JSON","parse","hasShortcuts","shortcutElements","createElement","Fragment","map","_ref2","i","title","_objectWithoutProperties","_excluded","key","text","variant","onClick","className"],"sources":["../../../../src/components/date-picker/DatePickerAddon.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useCallback, useContext, useMemo } from 'react'\nimport { convertStringToDate } from './DatePickerCalc'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\n\n// TODO: convert shortcut properties to camelCase, constitutes a breaking change - could be included in v11\nexport type DatePickerShortcut = {\n title?: string\n date?: string | Date | ((...args: unknown[]) => Date)\n start_date?: string | Date | ((...args: unknown[]) => Date)\n end_date?: string | Date | ((...args: unknown[]) => Date)\n close_on_select?: boolean\n}\n\nexport type DatePickerAddonProps = React.HTMLProps<HTMLElement> & {\n /**\n * Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.\n */\n shortcuts?: Array<DatePickerShortcut> | string\n renderElement?: React.ReactNode\n}\n\nfunction DatePickerAddon(props: DatePickerAddonProps) {\n const {\n updateDates,\n forceViewMonthChange,\n callOnChangeHandler,\n hidePicker,\n startDate,\n endDate,\n } = useContext(DatePickerContext)\n\n const { shortcuts, renderElement } = props\n\n const currentDates = useMemo(\n () => ({\n date: startDate,\n start_date: startDate,\n end_date: endDate,\n }),\n [startDate, endDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event = null,\n }: {\n startDate?: Date\n endDate?: Date\n event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n } = {}) => {\n updateDates({ startDate, endDate })\n forceViewMonthChange()\n callOnChangeHandler({\n startDate,\n endDate: endDate || startDate,\n event,\n })\n },\n [updateDates, callOnChangeHandler, forceViewMonthChange]\n )\n\n const setDate = useCallback(\n ({\n shortcut,\n event,\n }: {\n shortcut: DatePickerShortcut\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n }) => {\n const start_date = shortcut.date || shortcut.start_date\n const end_date = shortcut.end_date\n\n const startDate =\n typeof start_date === 'function'\n ? start_date(currentDates)\n : start_date\n ? convertStringToDate(start_date)\n : null\n\n const endDate =\n typeof end_date === 'function'\n ? end_date(currentDates)\n : end_date\n ? convertStringToDate(end_date)\n : null\n\n callOnChange({\n startDate,\n endDate: endDate || startDate,\n event,\n })\n\n if (shortcut.close_on_select) {\n hidePicker(event)\n }\n },\n [callOnChange, currentDates, hidePicker]\n )\n\n const shortcutsArray: Array<DatePickerShortcut> = useMemo(\n () =>\n shortcuts\n ? typeof shortcuts === 'string'\n ? JSON.parse(shortcuts)\n : shortcuts\n : [],\n [shortcuts]\n )\n\n const hasShortcuts = shortcutsArray && shortcutsArray.length > 0\n\n const shortcutElements = useMemo(\n () =>\n hasShortcuts && (\n <>\n {shortcutsArray.map(({ title, ...shortcut }, i: number) => {\n return (\n <Button\n key={i}\n text={title}\n variant=\"secondary\"\n onClick={(event) => setDate({ shortcut, event })}\n />\n )\n })}\n </>\n ),\n [hasShortcuts, shortcutsArray, setDate]\n )\n\n if (!hasShortcuts && !renderElement) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__addon\">\n {renderElement}\n {shortcutElements}\n </div>\n )\n}\n\nexport default DatePickerAddon\n"],"mappings":"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"}
@@ -30,6 +30,6 @@ export declare function getMonth(month: Date, skip?: number, limit?: number): Da
30
30
  declare function isDisabledCalc(date: Date, minDate: Date, maxDate: Date): boolean;
31
31
  export { isDisabledCalc as isDisabled };
32
32
  export declare function correctV1Format(date: string): string;
33
- export declare function convertStringToDate(date: string | Date, { date_format }?: {
34
- date_format?: string | null;
33
+ export declare function convertStringToDate(date: string | Date, { dateFormat }?: {
34
+ dateFormat?: string | null;
35
35
  }): Date;
@@ -146,23 +146,23 @@ function isPreviewCalc(date, startDate, endDate, hoverDate) {
146
146
  }
147
147
  export function correctV1Format(date) {
148
148
  if (/YYYY/.test(date) && /DD/.test(date)) {
149
- warn('You are using "YYYY-MM-DD" as the date_format or return_format? Please use "yyyy-MM-dd" instead!');
149
+ warn('You are using "YYYY-MM-DD" as the dateFormat or returnFormat? Please use "yyyy-MM-dd" instead!');
150
150
  date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy');
151
151
  }
152
152
  return date;
153
153
  }
154
154
  export function convertStringToDate(date) {
155
155
  let {
156
- date_format = null
156
+ dateFormat = null
157
157
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
158
- if (date === null) {
158
+ if (!date) {
159
159
  return null;
160
160
  }
161
161
  let dateObject;
162
162
  dateObject = typeof date === 'string' ? parseISO(date) : toDate(date);
163
- if (typeof date === 'string' && date_format && !isValid(dateObject)) {
164
- date_format = correctV1Format(date_format);
165
- dateObject = parse(date, date_format, new Date());
163
+ if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {
164
+ dateFormat = correctV1Format(dateFormat);
165
+ dateObject = parse(date, dateFormat, new Date());
166
166
  }
167
167
  if (!isValid(dateObject)) {
168
168
  warn('convertStringToDate got invalid date:', date);
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","calendarCache","makeDayObject","date","_ref","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","arguments","length","undefined","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","date_format","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't supplied\n return (\n (minDate && isBefore(date, startOfDay(minDate))) ||\n (maxDate && isAfter(date, startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the date_format or return_format? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { date_format = null }: { date_format?: string | null } = {}\n): Date {\n if (date === null) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && date_format && !isValid(dateObject)) {\n date_format = correctV1Format(date_format)\n dateObject = parse(date, date_format, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","calendarCache","makeDayObject","date","_ref","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","arguments","length","undefined","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't supplied\n return (\n (minDate && isBefore(date, startOfDay(minDate))) ||\n (maxDate && isAfter(date, startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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"}
@@ -30,7 +30,7 @@ export type DatePickerCalendarProps = Omit<React.HTMLProps<HTMLElement>, 'onSele
30
30
  id?: string;
31
31
  nr?: number;
32
32
  /**
33
- * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `start_date`.
33
+ * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.
34
34
  */
35
35
  month?: Date;
36
36
  prevBtn?: boolean;
@@ -71,11 +71,11 @@ function DatePickerCalendar(restOfProps) {
71
71
  endMonth,
72
72
  translation: {
73
73
  DatePicker: {
74
- selected_month
74
+ selectedMonth
75
75
  }
76
76
  },
77
77
  props: {
78
- on_days_render
78
+ onDaysRender
79
79
  }
80
80
  } = useContext(DatePickerContext);
81
81
  const {
@@ -135,15 +135,15 @@ function DatePickerCalendar(restOfProps) {
135
135
  maxDate,
136
136
  month
137
137
  }));
138
- if (on_days_render) {
139
- const changedDays = on_days_render(daysFromCalendar, nr);
138
+ if (onDaysRender) {
139
+ const changedDays = onDaysRender(daysFromCalendar, nr);
140
140
  if (Array.isArray(changedDays)) {
141
141
  daysFromCalendar = changedDays;
142
142
  }
143
143
  }
144
144
  days.current[format(month, 'yyyy-MM')] = daysFromCalendar;
145
145
  return daysFromCalendar;
146
- }, [endDate, firstDayOfWeek, hideNextMonthWeek, hoverDate, maxDate, minDate, nr, on_days_render, onlyMonth, startDate]);
146
+ }, [endDate, firstDayOfWeek, hideNextMonthWeek, hoverDate, maxDate, minDate, nr, onDaysRender, onlyMonth, startDate]);
147
147
  const keyNavCalc = useCallback((date, keyCode) => {
148
148
  if (!arrowKeys.includes(keyCode)) {
149
149
  return date;
@@ -153,7 +153,7 @@ function DatePickerCalendar(restOfProps) {
153
153
  return dateHandler(date, shiftAmount);
154
154
  }, []);
155
155
  const findValid = useCallback((date, keyCode) => {
156
- if (!on_days_render) {
156
+ if (!onDaysRender) {
157
157
  return date;
158
158
  }
159
159
  if (!days.current) {
@@ -174,7 +174,7 @@ function DatePickerCalendar(restOfProps) {
174
174
  }
175
175
  }
176
176
  return date;
177
- }, [on_days_render, getDays, keyNavCalc]);
177
+ }, [onDaysRender, getDays, keyNavCalc]);
178
178
  const hasReachedEnd = useCallback(date => isDisabled(date, minDate, maxDate), [minDate, maxDate]);
179
179
  const onKeyDownHandler = useCallback(event => {
180
180
  const pressedKey = event.code;
@@ -279,7 +279,7 @@ function DatePickerCalendar(restOfProps) {
279
279
  })), React.createElement("label", {
280
280
  id: `${id}--title`,
281
281
  className: "dnb-date-picker__header__title dnb-no-focus",
282
- title: selected_month.replace(/%s/, format(month, titleFormat, {
282
+ title: selectedMonth.replace(/%s/, format(month, titleFormat, {
283
283
  locale
284
284
  })),
285
285
  tabIndex: -1,
@@ -410,7 +410,7 @@ function CalendarButton(_ref2) {
410
410
  return React.createElement(React.Fragment, null);
411
411
  }
412
412
  const disabled = date && isSameMonth(month, date);
413
- const title = tr[`${type}_month`].replace(/%s/, format(subMonths(month, 1), 'MMMM yyyy', {
413
+ const title = tr[`${type}Month`].replace(/%s/, format(subMonths(month, 1), 'MMMM yyyy', {
414
414
  locale
415
415
  }));
416
416
  const icon = type === 'prev' ? 'chevron_left' : 'chevron_right';