@dnb/eufemia 10.75.3 → 10.76.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 (849) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cjs/components/DateFormat.d.ts +12 -0
  3. package/cjs/components/DateFormat.js +24 -0
  4. package/cjs/components/DateFormat.js.map +1 -0
  5. package/cjs/components/PortalRoot.d.ts +12 -0
  6. package/cjs/components/PortalRoot.js +24 -0
  7. package/cjs/components/PortalRoot.js.map +1 -0
  8. package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -0
  9. package/cjs/components/breadcrumb/Breadcrumb.js +9 -4
  10. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  11. package/cjs/components/breadcrumb/BreadcrumbDocs.js +5 -0
  12. package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  13. package/cjs/components/card/Card.d.ts +4 -0
  14. package/cjs/components/card/Card.js +13 -4
  15. package/cjs/components/card/Card.js.map +1 -1
  16. package/cjs/components/card/CardDocs.js +1 -1
  17. package/cjs/components/card/CardDocs.js.map +1 -1
  18. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/date-format/DateFormat.d.ts +30 -0
  20. package/cjs/components/date-format/DateFormat.js +86 -0
  21. package/cjs/components/date-format/DateFormat.js.map +1 -0
  22. package/cjs/components/date-format/DateFormatDocs.d.ts +2 -0
  23. package/cjs/components/date-format/DateFormatDocs.js +34 -0
  24. package/cjs/components/date-format/DateFormatDocs.js.map +1 -0
  25. package/cjs/components/date-format/DateFormatUtils.d.ts +11 -0
  26. package/cjs/components/date-format/DateFormatUtils.js +36 -0
  27. package/cjs/components/date-format/DateFormatUtils.js.map +1 -0
  28. package/cjs/components/date-format/index.d.ts +7 -0
  29. package/cjs/components/date-format/index.js +24 -0
  30. package/cjs/components/date-format/index.js.map +1 -0
  31. package/cjs/components/date-picker/DatePicker.js +5 -8
  32. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerCalc.d.ts +0 -13
  34. package/cjs/components/date-picker/DatePickerCalc.js +0 -44
  35. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  36. package/cjs/components/date-picker/DatePickerCalendar.js +11 -10
  37. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +7 -7
  39. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerInput.js +2 -1
  41. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerPortal.d.ts +1 -1
  43. package/cjs/components/date-picker/DatePickerPortal.js +4 -4
  44. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -1
  45. package/cjs/components/form-status/FormStatus.js +1 -1
  46. package/cjs/components/form-status/FormStatus.js.map +1 -1
  47. package/cjs/components/form-status/style/dnb-form-status.css +1 -1
  48. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  49. package/cjs/components/form-status/style/dnb-form-status.scss +1 -1
  50. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  51. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  52. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  53. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  54. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  55. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  56. package/cjs/components/help-button/style/dnb-help-button-inline.css +1 -1
  57. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  58. package/cjs/components/help-button/style/dnb-help-button-inline.scss +1 -1
  59. package/cjs/components/help-button/style/dnb-help-button.css +1 -1
  60. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  61. package/cjs/components/index.d.ts +3 -1
  62. package/cjs/components/index.js +14 -0
  63. package/cjs/components/index.js.map +1 -1
  64. package/cjs/components/info-card/style/dnb-info-card.css +1 -1
  65. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  66. package/cjs/components/info-card/style/dnb-info-card.scss +1 -1
  67. package/cjs/components/lib.d.ts +5 -1
  68. package/cjs/components/lib.js +16 -0
  69. package/cjs/components/lib.js.map +1 -1
  70. package/cjs/components/modal/ModalRoot.d.ts +2 -7
  71. package/cjs/components/modal/ModalRoot.js +9 -65
  72. package/cjs/components/modal/ModalRoot.js.map +1 -1
  73. package/cjs/components/portal-root/PortalRoot.d.ts +7 -0
  74. package/cjs/components/portal-root/PortalRoot.js +65 -0
  75. package/cjs/components/portal-root/PortalRoot.js.map +1 -0
  76. package/cjs/components/portal-root/PortalRootDocs.d.ts +2 -0
  77. package/cjs/components/portal-root/PortalRootDocs.js +19 -0
  78. package/cjs/components/portal-root/PortalRootDocs.js.map +1 -0
  79. package/cjs/components/portal-root/index.d.ts +7 -0
  80. package/cjs/components/portal-root/index.js +24 -0
  81. package/cjs/components/portal-root/index.js.map +1 -0
  82. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  83. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  84. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  85. package/cjs/components/step-indicator/StepIndicator.js +6 -2
  86. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  87. package/cjs/components/step-indicator/StepIndicatorDocs.js +1 -1
  88. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  89. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  90. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  91. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  92. package/cjs/components/switch/Switch.d.ts +12 -3
  93. package/cjs/components/switch/Switch.js +39 -15
  94. package/cjs/components/switch/Switch.js.map +1 -1
  95. package/cjs/components/switch/SwitchDocs.js +5 -0
  96. package/cjs/components/switch/SwitchDocs.js.map +1 -1
  97. package/cjs/components/tooltip/TooltipPortal.js +28 -59
  98. package/cjs/components/tooltip/TooltipPortal.js.map +1 -1
  99. package/cjs/components/tooltip/style/dnb-tooltip.css +8 -1
  100. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  101. package/cjs/components/tooltip/style/dnb-tooltip.scss +8 -1
  102. package/cjs/components/upload/Upload.js +31 -7
  103. package/cjs/components/upload/Upload.js.map +1 -1
  104. package/cjs/components/upload/UploadContext.d.ts +1 -0
  105. package/cjs/components/upload/UploadContext.js +2 -1
  106. package/cjs/components/upload/UploadContext.js.map +1 -1
  107. package/cjs/components/upload/UploadDocs.js +11 -1
  108. package/cjs/components/upload/UploadDocs.js.map +1 -1
  109. package/cjs/components/upload/UploadDropzone.d.ts +3 -1
  110. package/cjs/components/upload/UploadDropzone.js +5 -4
  111. package/cjs/components/upload/UploadDropzone.js.map +1 -1
  112. package/cjs/components/upload/UploadFileInput.d.ts +3 -1
  113. package/cjs/components/upload/UploadFileInput.js +7 -5
  114. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  115. package/cjs/components/upload/style/dnb-upload.css +10 -2
  116. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  117. package/cjs/components/upload/style/dnb-upload.scss +12 -2
  118. package/cjs/components/upload/types.d.ts +4 -0
  119. package/cjs/components/upload/types.js.map +1 -1
  120. package/cjs/elements/lists/style/lists-mixins.scss +1 -1
  121. package/cjs/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  122. package/cjs/extensions/forms/Connectors/Bring/address.js +185 -0
  123. package/cjs/extensions/forms/Connectors/Bring/address.js.map +1 -0
  124. package/cjs/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  125. package/cjs/extensions/forms/Connectors/Bring/index.js +3 -1
  126. package/cjs/extensions/forms/Connectors/Bring/index.js.map +1 -1
  127. package/cjs/extensions/forms/Connectors/Bring/postalCode.js +10 -1
  128. package/cjs/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  129. package/cjs/extensions/forms/Connectors/createContext.js +3 -0
  130. package/cjs/extensions/forms/Connectors/createContext.js.map +1 -1
  131. package/cjs/extensions/forms/Field/Address/Address.d.ts +3 -0
  132. package/cjs/extensions/forms/Field/Address/Address.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  134. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  135. package/cjs/extensions/forms/Field/Date/Date.js +11 -8
  136. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  137. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  138. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  139. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  140. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +0 -2
  142. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  143. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  144. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  145. package/cjs/extensions/forms/Field/Toggle/Toggle.js +36 -0
  146. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  147. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  148. package/cjs/extensions/forms/Field/Upload/Upload.js +26 -7
  149. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  150. package/cjs/extensions/forms/Field/style/field-sizes.scss +1 -1
  151. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  152. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  153. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  154. package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -6
  155. package/cjs/extensions/forms/Form/Card/Card.js +1 -1
  156. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -1
  157. package/cjs/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  158. package/cjs/extensions/forms/Form/Card/CardDocs.js +14 -11
  159. package/cjs/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  160. package/cjs/extensions/forms/Value/Date/Date.js +22 -7
  161. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  162. package/cjs/extensions/forms/Value/style/value-sizes.scss +2 -2
  163. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  164. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  165. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  166. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  167. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  168. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  169. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  170. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  171. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  172. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  173. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  174. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  175. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  176. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  177. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  178. package/cjs/extensions/forms/style/dnb-forms.css +4 -6
  179. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  180. package/cjs/extensions/payment-card/style/dnb-payment-card.css +1 -0
  181. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  182. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -3
  183. package/cjs/fragments/drawer-list/DrawerList.js +6 -5
  184. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  185. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -1
  186. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  187. package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  188. package/cjs/fragments/drawer-list/DrawerListPortal.js +31 -65
  189. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  190. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  191. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  192. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  193. package/cjs/index.d.ts +3 -1
  194. package/cjs/index.js +14 -0
  195. package/cjs/index.js.map +1 -1
  196. package/cjs/shared/Eufemia.d.ts +2 -2
  197. package/cjs/shared/Eufemia.js +3 -6
  198. package/cjs/shared/Eufemia.js.map +1 -1
  199. package/cjs/shared/build-info/BuildInfo.d.ts +2 -0
  200. package/cjs/shared/build-info/BuildInfo.js +16 -0
  201. package/cjs/shared/build-info/BuildInfo.js.map +1 -0
  202. package/cjs/shared/build-info/BuildInfoData.d.ts +2 -0
  203. package/cjs/shared/build-info/BuildInfoData.js +9 -0
  204. package/cjs/shared/build-info/BuildInfoData.js.map +1 -0
  205. package/cjs/shared/locales/en-GB.d.ts +3 -0
  206. package/cjs/shared/locales/en-GB.js +3 -0
  207. package/cjs/shared/locales/en-GB.js.map +1 -1
  208. package/cjs/shared/locales/en-US.d.ts +3 -0
  209. package/cjs/shared/locales/index.d.ts +6 -0
  210. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  211. package/cjs/shared/locales/nb-NO.js +3 -0
  212. package/cjs/shared/locales/nb-NO.js.map +1 -1
  213. package/cjs/shared/locales/sv-SE.d.ts +3 -0
  214. package/cjs/shared/locales/sv-SE.js +3 -0
  215. package/cjs/shared/locales/sv-SE.js.map +1 -1
  216. package/cjs/style/core/scopes.scss +1 -1
  217. package/cjs/style/dnb-ui-basis.css +1 -1
  218. package/cjs/style/dnb-ui-basis.min.css +1 -1
  219. package/cjs/style/dnb-ui-body.css +1 -1
  220. package/cjs/style/dnb-ui-body.min.css +1 -1
  221. package/cjs/style/dnb-ui-components.css +27 -14
  222. package/cjs/style/dnb-ui-components.min.css +4 -4
  223. package/cjs/style/dnb-ui-core.css +1 -1
  224. package/cjs/style/dnb-ui-core.min.css +1 -1
  225. package/cjs/style/dnb-ui-elements.css +1 -1
  226. package/cjs/style/dnb-ui-elements.min.css +1 -1
  227. package/cjs/style/dnb-ui-extensions.css +5 -6
  228. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  229. package/cjs/style/dnb-ui-forms.css +4 -6
  230. package/cjs/style/dnb-ui-forms.min.css +1 -1
  231. package/cjs/style/dnb-ui-fragments.css +1 -1
  232. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  233. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +31 -20
  236. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -6
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -6
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  243. package/cjs/style/themes/theme-eiendom/properties.d.ts +2 -0
  244. package/cjs/style/themes/theme-eiendom/properties.js +3 -1
  245. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  246. package/cjs/style/themes/theme-sbanken/properties.d.ts +2 -0
  247. package/cjs/style/themes/theme-sbanken/properties.js +2 -0
  248. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  249. package/cjs/style/themes/theme-sbanken/properties.scss +3 -0
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  251. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +44 -24
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  256. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -6
  257. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  258. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -6
  259. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  260. package/cjs/style/themes/theme-ui/properties.d.ts +2 -0
  261. package/cjs/style/themes/theme-ui/properties.js +3 -1
  262. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  263. package/cjs/style/themes/theme-ui/properties.scss +3 -0
  264. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -1
  265. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  266. package/cjs/style/themes/theme-ui/ui-theme-components.css +31 -20
  267. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  268. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  269. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  270. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +5 -6
  271. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  272. package/cjs/style/themes/theme-ui/ui-theme-forms.css +4 -6
  273. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  274. package/cjs/style/themes/theme-ui/ui-theme-properties.css +1 -0
  275. package/cjs/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  276. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  278. package/components/DateFormat.d.ts +12 -0
  279. package/components/DateFormat.js +4 -0
  280. package/components/DateFormat.js.map +1 -0
  281. package/components/PortalRoot.d.ts +12 -0
  282. package/components/PortalRoot.js +4 -0
  283. package/components/PortalRoot.js.map +1 -0
  284. package/components/breadcrumb/Breadcrumb.d.ts +4 -0
  285. package/components/breadcrumb/Breadcrumb.js +9 -4
  286. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  287. package/components/breadcrumb/BreadcrumbDocs.js +5 -0
  288. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  289. package/components/card/Card.d.ts +4 -0
  290. package/components/card/Card.js +13 -4
  291. package/components/card/Card.js.map +1 -1
  292. package/components/card/CardDocs.js +1 -1
  293. package/components/card/CardDocs.js.map +1 -1
  294. package/components/checkbox/Checkbox.js.map +1 -1
  295. package/components/date-format/DateFormat.d.ts +30 -0
  296. package/components/date-format/DateFormat.js +77 -0
  297. package/components/date-format/DateFormat.js.map +1 -0
  298. package/components/date-format/DateFormatDocs.d.ts +2 -0
  299. package/components/date-format/DateFormatDocs.js +28 -0
  300. package/components/date-format/DateFormatDocs.js.map +1 -0
  301. package/components/date-format/DateFormatUtils.d.ts +11 -0
  302. package/components/date-format/DateFormatUtils.js +29 -0
  303. package/components/date-format/DateFormatUtils.js.map +1 -0
  304. package/components/date-format/index.d.ts +7 -0
  305. package/components/date-format/index.js +4 -0
  306. package/components/date-format/index.js.map +1 -0
  307. package/components/date-picker/DatePicker.js +3 -6
  308. package/components/date-picker/DatePicker.js.map +1 -1
  309. package/components/date-picker/DatePickerCalc.d.ts +0 -13
  310. package/components/date-picker/DatePickerCalc.js +0 -41
  311. package/components/date-picker/DatePickerCalc.js.map +1 -1
  312. package/components/date-picker/DatePickerCalendar.js +7 -6
  313. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  314. package/components/date-picker/DatePickerCalendarNavigator.js +4 -4
  315. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  316. package/components/date-picker/DatePickerInput.js +2 -1
  317. package/components/date-picker/DatePickerInput.js.map +1 -1
  318. package/components/date-picker/DatePickerPortal.d.ts +1 -1
  319. package/components/date-picker/DatePickerPortal.js +4 -4
  320. package/components/date-picker/DatePickerPortal.js.map +1 -1
  321. package/components/form-status/FormStatus.js +1 -1
  322. package/components/form-status/FormStatus.js.map +1 -1
  323. package/components/form-status/style/dnb-form-status.css +1 -1
  324. package/components/form-status/style/dnb-form-status.min.css +1 -1
  325. package/components/form-status/style/dnb-form-status.scss +1 -1
  326. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  327. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  328. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  329. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  330. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  331. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  332. package/components/help-button/style/dnb-help-button-inline.css +1 -1
  333. package/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  334. package/components/help-button/style/dnb-help-button-inline.scss +1 -1
  335. package/components/help-button/style/dnb-help-button.css +1 -1
  336. package/components/help-button/style/dnb-help-button.min.css +1 -1
  337. package/components/index.d.ts +3 -1
  338. package/components/index.js +3 -1
  339. package/components/index.js.map +1 -1
  340. package/components/info-card/style/dnb-info-card.css +1 -1
  341. package/components/info-card/style/dnb-info-card.min.css +1 -1
  342. package/components/info-card/style/dnb-info-card.scss +1 -1
  343. package/components/lib.d.ts +5 -1
  344. package/components/lib.js +5 -1
  345. package/components/lib.js.map +1 -1
  346. package/components/modal/ModalRoot.d.ts +2 -7
  347. package/components/modal/ModalRoot.js +9 -65
  348. package/components/modal/ModalRoot.js.map +1 -1
  349. package/components/portal-root/PortalRoot.d.ts +7 -0
  350. package/components/portal-root/PortalRoot.js +54 -0
  351. package/components/portal-root/PortalRoot.js.map +1 -0
  352. package/components/portal-root/PortalRootDocs.d.ts +2 -0
  353. package/components/portal-root/PortalRootDocs.js +13 -0
  354. package/components/portal-root/PortalRootDocs.js.map +1 -0
  355. package/components/portal-root/index.d.ts +7 -0
  356. package/components/portal-root/index.js +4 -0
  357. package/components/portal-root/index.js.map +1 -0
  358. package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  359. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  360. package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  361. package/components/step-indicator/StepIndicator.js +6 -2
  362. package/components/step-indicator/StepIndicator.js.map +1 -1
  363. package/components/step-indicator/StepIndicatorDocs.js +1 -1
  364. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  365. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  366. package/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  367. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  368. package/components/switch/Switch.d.ts +12 -3
  369. package/components/switch/Switch.js +40 -16
  370. package/components/switch/Switch.js.map +1 -1
  371. package/components/switch/SwitchDocs.js +5 -0
  372. package/components/switch/SwitchDocs.js.map +1 -1
  373. package/components/tooltip/TooltipPortal.js +27 -60
  374. package/components/tooltip/TooltipPortal.js.map +1 -1
  375. package/components/tooltip/style/dnb-tooltip.css +8 -1
  376. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  377. package/components/tooltip/style/dnb-tooltip.scss +8 -1
  378. package/components/upload/Upload.js +31 -7
  379. package/components/upload/Upload.js.map +1 -1
  380. package/components/upload/UploadContext.d.ts +1 -0
  381. package/components/upload/UploadContext.js +2 -1
  382. package/components/upload/UploadContext.js.map +1 -1
  383. package/components/upload/UploadDocs.js +11 -1
  384. package/components/upload/UploadDocs.js.map +1 -1
  385. package/components/upload/UploadDropzone.d.ts +3 -1
  386. package/components/upload/UploadDropzone.js +5 -4
  387. package/components/upload/UploadDropzone.js.map +1 -1
  388. package/components/upload/UploadFileInput.d.ts +3 -1
  389. package/components/upload/UploadFileInput.js +7 -5
  390. package/components/upload/UploadFileInput.js.map +1 -1
  391. package/components/upload/style/dnb-upload.css +10 -2
  392. package/components/upload/style/dnb-upload.min.css +1 -1
  393. package/components/upload/style/dnb-upload.scss +12 -2
  394. package/components/upload/types.d.ts +4 -0
  395. package/components/upload/types.js.map +1 -1
  396. package/elements/lists/style/lists-mixins.scss +1 -1
  397. package/es/components/DateFormat.d.ts +12 -0
  398. package/es/components/DateFormat.js +4 -0
  399. package/es/components/DateFormat.js.map +1 -0
  400. package/es/components/PortalRoot.d.ts +12 -0
  401. package/es/components/PortalRoot.js +4 -0
  402. package/es/components/PortalRoot.js.map +1 -0
  403. package/es/components/breadcrumb/Breadcrumb.d.ts +4 -0
  404. package/es/components/breadcrumb/Breadcrumb.js +9 -4
  405. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  406. package/es/components/breadcrumb/BreadcrumbDocs.js +5 -0
  407. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  408. package/es/components/card/Card.d.ts +4 -0
  409. package/es/components/card/Card.js +12 -4
  410. package/es/components/card/Card.js.map +1 -1
  411. package/es/components/card/CardDocs.js +1 -1
  412. package/es/components/card/CardDocs.js.map +1 -1
  413. package/es/components/checkbox/Checkbox.js.map +1 -1
  414. package/es/components/date-format/DateFormat.d.ts +30 -0
  415. package/es/components/date-format/DateFormat.js +74 -0
  416. package/es/components/date-format/DateFormat.js.map +1 -0
  417. package/es/components/date-format/DateFormatDocs.d.ts +2 -0
  418. package/es/components/date-format/DateFormatDocs.js +28 -0
  419. package/es/components/date-format/DateFormatDocs.js.map +1 -0
  420. package/es/components/date-format/DateFormatUtils.d.ts +11 -0
  421. package/es/components/date-format/DateFormatUtils.js +27 -0
  422. package/es/components/date-format/DateFormatUtils.js.map +1 -0
  423. package/es/components/date-format/index.d.ts +7 -0
  424. package/es/components/date-format/index.js +4 -0
  425. package/es/components/date-format/index.js.map +1 -0
  426. package/es/components/date-picker/DatePicker.js +3 -6
  427. package/es/components/date-picker/DatePicker.js.map +1 -1
  428. package/es/components/date-picker/DatePickerCalc.d.ts +0 -13
  429. package/es/components/date-picker/DatePickerCalc.js +0 -39
  430. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  431. package/es/components/date-picker/DatePickerCalendar.js +7 -6
  432. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  433. package/es/components/date-picker/DatePickerCalendarNavigator.js +4 -4
  434. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  435. package/es/components/date-picker/DatePickerInput.js +2 -1
  436. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  437. package/es/components/date-picker/DatePickerPortal.d.ts +1 -1
  438. package/es/components/date-picker/DatePickerPortal.js +4 -4
  439. package/es/components/date-picker/DatePickerPortal.js.map +1 -1
  440. package/es/components/form-status/FormStatus.js +1 -1
  441. package/es/components/form-status/FormStatus.js.map +1 -1
  442. package/es/components/form-status/style/dnb-form-status.css +1 -1
  443. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  444. package/es/components/form-status/style/dnb-form-status.scss +1 -1
  445. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  446. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  447. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  448. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  449. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  450. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  451. package/es/components/help-button/style/dnb-help-button-inline.css +1 -1
  452. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  453. package/es/components/help-button/style/dnb-help-button-inline.scss +1 -1
  454. package/es/components/help-button/style/dnb-help-button.css +1 -1
  455. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  456. package/es/components/index.d.ts +3 -1
  457. package/es/components/index.js +3 -1
  458. package/es/components/index.js.map +1 -1
  459. package/es/components/info-card/style/dnb-info-card.css +1 -1
  460. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  461. package/es/components/info-card/style/dnb-info-card.scss +1 -1
  462. package/es/components/lib.d.ts +5 -1
  463. package/es/components/lib.js +5 -1
  464. package/es/components/lib.js.map +1 -1
  465. package/es/components/modal/ModalRoot.d.ts +2 -7
  466. package/es/components/modal/ModalRoot.js +9 -61
  467. package/es/components/modal/ModalRoot.js.map +1 -1
  468. package/es/components/portal-root/PortalRoot.d.ts +7 -0
  469. package/es/components/portal-root/PortalRoot.js +54 -0
  470. package/es/components/portal-root/PortalRoot.js.map +1 -0
  471. package/es/components/portal-root/PortalRootDocs.d.ts +2 -0
  472. package/es/components/portal-root/PortalRootDocs.js +13 -0
  473. package/es/components/portal-root/PortalRootDocs.js.map +1 -0
  474. package/es/components/portal-root/index.d.ts +7 -0
  475. package/es/components/portal-root/index.js +4 -0
  476. package/es/components/portal-root/index.js.map +1 -0
  477. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  478. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  479. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  480. package/es/components/step-indicator/StepIndicator.js +6 -2
  481. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  482. package/es/components/step-indicator/StepIndicatorDocs.js +1 -1
  483. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  484. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  485. package/es/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  486. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  487. package/es/components/switch/Switch.d.ts +12 -3
  488. package/es/components/switch/Switch.js +40 -16
  489. package/es/components/switch/Switch.js.map +1 -1
  490. package/es/components/switch/SwitchDocs.js +5 -0
  491. package/es/components/switch/SwitchDocs.js.map +1 -1
  492. package/es/components/tooltip/TooltipPortal.js +27 -59
  493. package/es/components/tooltip/TooltipPortal.js.map +1 -1
  494. package/es/components/tooltip/style/dnb-tooltip.css +8 -1
  495. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  496. package/es/components/tooltip/style/dnb-tooltip.scss +8 -1
  497. package/es/components/upload/Upload.js +31 -7
  498. package/es/components/upload/Upload.js.map +1 -1
  499. package/es/components/upload/UploadContext.d.ts +1 -0
  500. package/es/components/upload/UploadContext.js +2 -1
  501. package/es/components/upload/UploadContext.js.map +1 -1
  502. package/es/components/upload/UploadDocs.js +11 -1
  503. package/es/components/upload/UploadDocs.js.map +1 -1
  504. package/es/components/upload/UploadDropzone.d.ts +3 -1
  505. package/es/components/upload/UploadDropzone.js +5 -4
  506. package/es/components/upload/UploadDropzone.js.map +1 -1
  507. package/es/components/upload/UploadFileInput.d.ts +3 -1
  508. package/es/components/upload/UploadFileInput.js +7 -5
  509. package/es/components/upload/UploadFileInput.js.map +1 -1
  510. package/es/components/upload/style/dnb-upload.css +10 -2
  511. package/es/components/upload/style/dnb-upload.min.css +1 -1
  512. package/es/components/upload/style/dnb-upload.scss +12 -2
  513. package/es/components/upload/types.d.ts +4 -0
  514. package/es/components/upload/types.js.map +1 -1
  515. package/es/elements/lists/style/lists-mixins.scss +1 -1
  516. package/es/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  517. package/es/extensions/forms/Connectors/Bring/address.js +169 -0
  518. package/es/extensions/forms/Connectors/Bring/address.js.map +1 -0
  519. package/es/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  520. package/es/extensions/forms/Connectors/Bring/index.js +3 -1
  521. package/es/extensions/forms/Connectors/Bring/index.js.map +1 -1
  522. package/es/extensions/forms/Connectors/Bring/postalCode.js +9 -1
  523. package/es/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  524. package/es/extensions/forms/Connectors/createContext.js +3 -0
  525. package/es/extensions/forms/Connectors/createContext.js.map +1 -1
  526. package/es/extensions/forms/Field/Address/Address.d.ts +3 -0
  527. package/es/extensions/forms/Field/Address/Address.js.map +1 -1
  528. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  529. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  530. package/es/extensions/forms/Field/Date/Date.js +5 -2
  531. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  532. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  533. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  534. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  535. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  536. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +0 -2
  537. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  538. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  539. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  540. package/es/extensions/forms/Field/Toggle/Toggle.js +37 -1
  541. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  542. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  543. package/es/extensions/forms/Field/Upload/Upload.js +26 -7
  544. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  545. package/es/extensions/forms/Field/style/field-sizes.scss +1 -1
  546. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  547. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  548. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  549. package/es/extensions/forms/Form/Card/Card.d.ts +3 -6
  550. package/es/extensions/forms/Form/Card/Card.js +1 -1
  551. package/es/extensions/forms/Form/Card/Card.js.map +1 -1
  552. package/es/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  553. package/es/extensions/forms/Form/Card/CardDocs.js +12 -10
  554. package/es/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  555. package/es/extensions/forms/Value/Date/Date.js +20 -5
  556. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  557. package/es/extensions/forms/Value/style/value-sizes.scss +2 -2
  558. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  559. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  560. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  561. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  562. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  563. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  564. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  565. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  566. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  567. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  568. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  569. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  570. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  571. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  572. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  573. package/es/extensions/forms/style/dnb-forms.css +4 -6
  574. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  575. package/es/extensions/payment-card/style/dnb-payment-card.css +1 -0
  576. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  577. package/es/fragments/drawer-list/DrawerList.d.ts +6 -3
  578. package/es/fragments/drawer-list/DrawerList.js +6 -5
  579. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  580. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -1
  581. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  582. package/es/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  583. package/es/fragments/drawer-list/DrawerListPortal.js +32 -66
  584. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  585. package/es/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  586. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  587. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  588. package/es/index.d.ts +3 -1
  589. package/es/index.js +3 -1
  590. package/es/index.js.map +1 -1
  591. package/es/shared/Eufemia.d.ts +2 -2
  592. package/es/shared/Eufemia.js +3 -3
  593. package/es/shared/Eufemia.js.map +1 -1
  594. package/es/shared/build-info/BuildInfo.cjs +22 -0
  595. package/es/shared/build-info/BuildInfo.d.ts +2 -0
  596. package/es/shared/build-info/BuildInfo.js +8 -0
  597. package/es/shared/build-info/BuildInfo.js.map +1 -0
  598. package/es/shared/build-info/BuildInfoData.cjs +2 -0
  599. package/es/shared/build-info/BuildInfoData.d.ts +2 -0
  600. package/es/shared/build-info/BuildInfoData.js +3 -0
  601. package/es/shared/build-info/BuildInfoData.js.map +1 -0
  602. package/es/shared/locales/en-GB.d.ts +3 -0
  603. package/es/shared/locales/en-GB.js +3 -0
  604. package/es/shared/locales/en-GB.js.map +1 -1
  605. package/es/shared/locales/en-US.d.ts +3 -0
  606. package/es/shared/locales/index.d.ts +6 -0
  607. package/es/shared/locales/nb-NO.d.ts +3 -0
  608. package/es/shared/locales/nb-NO.js +3 -0
  609. package/es/shared/locales/nb-NO.js.map +1 -1
  610. package/es/shared/locales/sv-SE.d.ts +3 -0
  611. package/es/shared/locales/sv-SE.js +3 -0
  612. package/es/shared/locales/sv-SE.js.map +1 -1
  613. package/es/style/core/scopes.scss +1 -1
  614. package/es/style/dnb-ui-basis.css +1 -1
  615. package/es/style/dnb-ui-basis.min.css +1 -1
  616. package/es/style/dnb-ui-body.css +1 -1
  617. package/es/style/dnb-ui-body.min.css +1 -1
  618. package/es/style/dnb-ui-components.css +27 -14
  619. package/es/style/dnb-ui-components.min.css +4 -4
  620. package/es/style/dnb-ui-core.css +1 -1
  621. package/es/style/dnb-ui-core.min.css +1 -1
  622. package/es/style/dnb-ui-elements.css +1 -1
  623. package/es/style/dnb-ui-elements.min.css +1 -1
  624. package/es/style/dnb-ui-extensions.css +5 -6
  625. package/es/style/dnb-ui-extensions.min.css +1 -1
  626. package/es/style/dnb-ui-forms.css +4 -6
  627. package/es/style/dnb-ui-forms.min.css +1 -1
  628. package/es/style/dnb-ui-fragments.css +1 -1
  629. package/es/style/dnb-ui-fragments.min.css +1 -1
  630. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  631. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  632. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +31 -20
  633. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  634. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  635. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  636. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -6
  637. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  638. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -6
  639. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  640. package/es/style/themes/theme-eiendom/properties.d.ts +2 -0
  641. package/es/style/themes/theme-eiendom/properties.js +3 -1
  642. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  643. package/es/style/themes/theme-sbanken/properties.d.ts +2 -0
  644. package/es/style/themes/theme-sbanken/properties.js +2 -0
  645. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  646. package/es/style/themes/theme-sbanken/properties.scss +3 -0
  647. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  648. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  649. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +44 -24
  650. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  651. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  652. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  653. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -6
  654. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  655. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -6
  656. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  657. package/es/style/themes/theme-ui/properties.d.ts +2 -0
  658. package/es/style/themes/theme-ui/properties.js +3 -1
  659. package/es/style/themes/theme-ui/properties.js.map +1 -1
  660. package/es/style/themes/theme-ui/properties.scss +3 -0
  661. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -1
  662. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  663. package/es/style/themes/theme-ui/ui-theme-components.css +31 -20
  664. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  665. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  666. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  667. package/es/style/themes/theme-ui/ui-theme-extensions.css +5 -6
  668. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  669. package/es/style/themes/theme-ui/ui-theme-forms.css +4 -6
  670. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  671. package/es/style/themes/theme-ui/ui-theme-properties.css +1 -0
  672. package/es/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  673. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  674. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  675. package/esm/dnb-ui-components.min.mjs +1 -1
  676. package/esm/dnb-ui-elements.min.mjs +1 -1
  677. package/esm/dnb-ui-extensions.min.mjs +3 -3
  678. package/esm/dnb-ui-lib.min.mjs +1 -1
  679. package/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  680. package/extensions/forms/Connectors/Bring/address.js +170 -0
  681. package/extensions/forms/Connectors/Bring/address.js.map +1 -0
  682. package/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  683. package/extensions/forms/Connectors/Bring/index.js +2 -0
  684. package/extensions/forms/Connectors/Bring/index.js.map +1 -1
  685. package/extensions/forms/Connectors/Bring/postalCode.js +9 -1
  686. package/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  687. package/extensions/forms/Connectors/createContext.js +3 -0
  688. package/extensions/forms/Connectors/createContext.js.map +1 -1
  689. package/extensions/forms/Field/Address/Address.d.ts +3 -0
  690. package/extensions/forms/Field/Address/Address.js.map +1 -1
  691. package/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  692. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  693. package/extensions/forms/Field/Date/Date.js +5 -2
  694. package/extensions/forms/Field/Date/Date.js.map +1 -1
  695. package/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  696. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  697. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  698. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  699. package/extensions/forms/Field/Selection/style/dnb-selection.css +0 -2
  700. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  701. package/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  702. package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  703. package/extensions/forms/Field/Toggle/Toggle.js +37 -1
  704. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  705. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  706. package/extensions/forms/Field/Upload/Upload.js +26 -7
  707. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  708. package/extensions/forms/Field/style/field-sizes.scss +1 -1
  709. package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  710. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  711. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  712. package/extensions/forms/Form/Card/Card.d.ts +3 -6
  713. package/extensions/forms/Form/Card/Card.js +1 -1
  714. package/extensions/forms/Form/Card/Card.js.map +1 -1
  715. package/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  716. package/extensions/forms/Form/Card/CardDocs.js +12 -10
  717. package/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  718. package/extensions/forms/Value/Date/Date.js +20 -5
  719. package/extensions/forms/Value/Date/Date.js.map +1 -1
  720. package/extensions/forms/Value/style/value-sizes.scss +2 -2
  721. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  722. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  723. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  724. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  725. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  726. package/extensions/forms/constants/locales/en-GB.js +2 -1
  727. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  728. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  729. package/extensions/forms/constants/locales/index.d.ts +2 -0
  730. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  731. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  732. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  733. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  734. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  735. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  736. package/extensions/forms/style/dnb-forms.css +4 -6
  737. package/extensions/forms/style/dnb-forms.min.css +1 -1
  738. package/extensions/payment-card/style/dnb-payment-card.css +1 -0
  739. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  740. package/fragments/drawer-list/DrawerList.d.ts +6 -3
  741. package/fragments/drawer-list/DrawerList.js +6 -5
  742. package/fragments/drawer-list/DrawerList.js.map +1 -1
  743. package/fragments/drawer-list/DrawerListHelpers.js +1 -1
  744. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  745. package/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  746. package/fragments/drawer-list/DrawerListPortal.js +32 -66
  747. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  748. package/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  749. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  750. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  751. package/index.d.ts +3 -1
  752. package/index.js +3 -1
  753. package/index.js.map +1 -1
  754. package/package.json +1 -1
  755. package/shared/Eufemia.d.ts +2 -2
  756. package/shared/Eufemia.js +3 -3
  757. package/shared/Eufemia.js.map +1 -1
  758. package/shared/build-info/BuildInfo.cjs +22 -0
  759. package/shared/build-info/BuildInfo.d.ts +2 -0
  760. package/shared/build-info/BuildInfo.js +8 -0
  761. package/shared/build-info/BuildInfo.js.map +1 -0
  762. package/shared/build-info/BuildInfoData.cjs +2 -0
  763. package/shared/build-info/BuildInfoData.d.ts +2 -0
  764. package/shared/build-info/BuildInfoData.js +3 -0
  765. package/shared/build-info/BuildInfoData.js.map +1 -0
  766. package/shared/locales/en-GB.d.ts +3 -0
  767. package/shared/locales/en-GB.js +3 -0
  768. package/shared/locales/en-GB.js.map +1 -1
  769. package/shared/locales/en-US.d.ts +3 -0
  770. package/shared/locales/index.d.ts +6 -0
  771. package/shared/locales/nb-NO.d.ts +3 -0
  772. package/shared/locales/nb-NO.js +3 -0
  773. package/shared/locales/nb-NO.js.map +1 -1
  774. package/shared/locales/sv-SE.d.ts +3 -0
  775. package/shared/locales/sv-SE.js +3 -0
  776. package/shared/locales/sv-SE.js.map +1 -1
  777. package/style/core/scopes.scss +1 -1
  778. package/style/dnb-ui-basis.css +1 -1
  779. package/style/dnb-ui-basis.min.css +1 -1
  780. package/style/dnb-ui-body.css +1 -1
  781. package/style/dnb-ui-body.min.css +1 -1
  782. package/style/dnb-ui-components.css +27 -14
  783. package/style/dnb-ui-components.min.css +4 -4
  784. package/style/dnb-ui-core.css +1 -1
  785. package/style/dnb-ui-core.min.css +1 -1
  786. package/style/dnb-ui-elements.css +1 -1
  787. package/style/dnb-ui-elements.min.css +1 -1
  788. package/style/dnb-ui-extensions.css +5 -6
  789. package/style/dnb-ui-extensions.min.css +1 -1
  790. package/style/dnb-ui-forms.css +4 -6
  791. package/style/dnb-ui-forms.min.css +1 -1
  792. package/style/dnb-ui-fragments.css +1 -1
  793. package/style/dnb-ui-fragments.min.css +1 -1
  794. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  795. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  796. package/style/themes/theme-eiendom/eiendom-theme-components.css +31 -20
  797. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  798. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  799. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  800. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -6
  801. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  802. package/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -6
  803. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  804. package/style/themes/theme-eiendom/properties.d.ts +2 -0
  805. package/style/themes/theme-eiendom/properties.js +3 -1
  806. package/style/themes/theme-eiendom/properties.js.map +1 -1
  807. package/style/themes/theme-sbanken/properties.d.ts +2 -0
  808. package/style/themes/theme-sbanken/properties.js +2 -0
  809. package/style/themes/theme-sbanken/properties.js.map +1 -1
  810. package/style/themes/theme-sbanken/properties.scss +3 -0
  811. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  812. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  813. package/style/themes/theme-sbanken/sbanken-theme-components.css +44 -24
  814. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  815. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  816. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  817. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -6
  818. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  819. package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -6
  820. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  821. package/style/themes/theme-ui/properties.d.ts +2 -0
  822. package/style/themes/theme-ui/properties.js +3 -1
  823. package/style/themes/theme-ui/properties.js.map +1 -1
  824. package/style/themes/theme-ui/properties.scss +3 -0
  825. package/style/themes/theme-ui/ui-theme-basis.css +2 -1
  826. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  827. package/style/themes/theme-ui/ui-theme-components.css +31 -20
  828. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  829. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  830. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  831. package/style/themes/theme-ui/ui-theme-extensions.css +5 -6
  832. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  833. package/style/themes/theme-ui/ui-theme-forms.css +4 -6
  834. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  835. package/style/themes/theme-ui/ui-theme-properties.css +1 -0
  836. package/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  837. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  838. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  839. package/umd/dnb-ui-components.min.js +1 -1
  840. package/umd/dnb-ui-elements.min.js +1 -1
  841. package/umd/dnb-ui-extensions.min.js +3 -3
  842. package/umd/dnb-ui-lib.min.js +1 -1
  843. package/cjs/shared/BuildInfo.d.cts +0 -2
  844. package/cjs/shared/BuildInfo.js +0 -5
  845. package/cjs/shared/BuildInfo.js.map +0 -1
  846. package/es/shared/BuildInfo.cjs +0 -6
  847. package/es/shared/BuildInfo.d.cts +0 -2
  848. package/shared/BuildInfo.cjs +0 -6
  849. package/shared/BuildInfo.d.cts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerInput.js","names":["_react","_interopRequireWildcard","require","_isValid","_interopRequireDefault","_parseISO","_classnames","_TextMask","_Button","_Input","_componentHelper","_helpers","_DatePickerCalc","_DatePickerContext","_shared","_usePartialDates","_useInputDates","_span","_excluded","_excluded2","_excluded3","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultProps","separatorRegExp","statusState","opened","DatePickerInput","externalProps","props","maskOrder","defaultMaskOrder","maskPlaceholder","defaultMaskPlaceholder","useTranslation","DatePicker","isRange","id","title","submitAttributes","onFocus","onBlur","onChange","onSubmit","selectedDateTitle","showInput","inputElement","lang","disabled","skeleton","size","status","statusProps","attributes","focusState","setFocusState","useState","partialDatesRef","setPartialDates","usePartialDates","invalidDatesRef","useRef","invalidStartDate","invalidEndDate","isDateFullyFilledOutRef","updateDates","callOnChangeHandler","getReturnObject","startDate","endDate","onType","label","useContext","DatePickerContext","inputDates","updateInputDates","useInputDates","translation","locale","Context","hasHadValidDate","isValid","modeDate","useMemo","inputRefs","startDayRef","current","undefined","startMonthRef","startYearRef","endDayRef","endMonthRef","endYearRef","dateRefs","startDay","startMonth","startYear","endDay","endMonth","endYear","syncDateRefs","temporaryDates","refList","focusMode","maskList","separators","match","split","reduce","acc","cur","shift","copyHandler","useCallback","event","mode","date","preventDefault","valueToCopy","formatDate","clipboardData","setData","pasteHandler","success","window","getData","possibleFormats","sep","replace","reverse","join","index","convertStringToDate","dateFormat","error","warn","callOnChangeAsInvalid","params","datesFromContext","derivedStartDate","derivedEndDate","callOnChange","_ref","state","dates","callOnType","_ref2","getDates","partialStartDate","partialEndDate","parsedStartDate","parseISO","parsedEndDate","isStartDateValid","isEndDateValid","_getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","returnObject","typedDates","start_date","end_date","setDate","type","persist","target","fallback","year","getFullYear","month","getMonth","day","getDate","Date","parseFloat","isValidDate","test","dateString","dateSetters","set_startDay","set_startMonth","set_startYear","set_endDay","set_endMonth","set_endYear","onFocusHandler","isNaN","setCursorPosition","onBlurHandler","onKeyDownHandler","keyCode","key","selectionStart","selectionEnd","getAttribute","firstSelectionStart","firstSelectionEnd","wait","IS_IOS","secondSelectionStart","refListArray","findIndex","_ref3","isLastChar","isFirstChar","isMovingForward","isExplicitForward","hasNextField","_refListArray","nextSibling","withoutDelay","name","toCapitalized","slice","isMovingBackward","isPressingBackspace","_refListArray2","prevSibling","endPos","onInputHandler","currentTarget","IS_ANDROID","nativeEvent","inputType","getPlaceholderChar","generateDateList","element","map","placeholderChar","isRangeLabel","onInput","onKeyDown","onPaste","onCopy","DateField","React","isValidElement","InputElement","inputSizeClassName","createElement","Fragment","className","classnames","mask","inputRef","hidden","htmlFor","renderInputElement","startDateList","endDateList","ariaLabel","openPickerText","validateDOMAttributes","SubmitElement","SubmitButton","Button","innerRef","ref","input_state","input_element","status_state","submit_element","icon","variant","on_submit","on_click","_default","exports","position","options","focus","select","setSelectionRange","process","env","NODE_ENV","setTimeout","_ref4","guide","inputMode","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","dateRefValue","inputDateValue","duration","Promise"],"sources":["../../../../src/components/date-picker/DatePickerInput.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n MutableRefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\n// date-fns\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask, { TextMaskProps } from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport type { InputInputElement, InputSize } from '../Input'\nimport {\n warn,\n validateDOMAttributes,\n toCapitalized,\n} from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { convertStringToDate, formatDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport { ReturnObject } from './DatePickerProvider'\nimport { DatePickerEventAttributes, DatePickerProps } from './DatePicker'\nimport { Context, useTranslation } from '../../shared'\nimport usePartialDates from './hooks/usePartialDates'\nimport useInputDates, { DatePickerInputDates } from './hooks/useInputDates'\n\nexport type DatePickerInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n | 'children'\n | 'ref'\n | 'value'\n | 'size'\n | 'onFocus'\n | 'onBlur'\n | 'onSubmit'\n | 'label'\n> & {\n selectedDateTitle?: string\n maskOrder?: DatePickerProps['maskOrder']\n maskPlaceholder?: DatePickerProps['maskPlaceholder']\n separatorRegExp?: RegExp\n submitAttributes?: Record<string, unknown>\n isRange?: boolean\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 /**\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 inputElement?: InputInputElement\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n showInput?: boolean\n onSubmit?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onChange?: (\n event: ReturnObject<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n}\n\nexport type InvalidDates = {\n invalidDate?: string\n invalidStartDate?: string\n invalidEndDate?: string\n}\n\nconst defaultProps: DatePickerInputProps = {\n separatorRegExp: /[-/ ]/g,\n statusState: 'error',\n opened: false,\n}\n\nfunction DatePickerInput(externalProps: DatePickerInputProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n maskOrder: defaultMaskOrder,\n maskPlaceholder: defaultMaskPlaceholder,\n } = useTranslation().DatePicker\n\n const {\n isRange,\n maskOrder = defaultMaskOrder,\n separatorRegExp,\n id,\n title,\n submitAttributes,\n maskPlaceholder = defaultMaskPlaceholder, // eslint-disable-line\n onFocus,\n onBlur,\n onChange, // eslint-disable-line\n onSubmit, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n inputElement,\n lang,\n disabled,\n skeleton,\n opened,\n size,\n status,\n statusState,\n statusProps,\n\n ...attributes\n } = props\n const [focusState, setFocusState] = useState<string>('virgin')\n\n const { partialDatesRef, setPartialDates } = usePartialDates()\n\n const invalidDatesRef = useRef<InvalidDates>({\n invalidStartDate: null,\n invalidEndDate: null,\n })\n const isDateFullyFilledOutRef = useRef(false)\n\n const {\n updateDates,\n callOnChangeHandler,\n getReturnObject,\n startDate,\n endDate,\n props: { onType, label },\n } = useContext(DatePickerContext)\n\n const { inputDates, updateInputDates } = useInputDates({\n startDate,\n endDate,\n })\n\n const translation = useTranslation().DatePicker\n const { locale } = useContext(Context)\n\n const hasHadValidDate = isValid(startDate) || isValid(endDate)\n\n const modeDate = useMemo(\n () => ({\n startDate,\n endDate,\n }),\n [startDate, endDate]\n )\n\n const inputRefs = useRef<\n Record<string, MutableRefObject<HTMLInputElement>>\n >({\n startDayRef: { current: undefined },\n startMonthRef: { current: undefined },\n startYearRef: { current: undefined },\n endDayRef: { current: undefined },\n endMonthRef: { current: undefined },\n endYearRef: { current: undefined },\n })\n\n const dateRefs = useRef<DatePickerInputDates>({\n startDay: '',\n startMonth: '',\n startYear: '',\n endDay: '',\n endMonth: '',\n endYear: '',\n })\n\n // Keep dateRefs in sync with inputDates on re-render\n syncDateRefs(dateRefs, inputDates)\n\n const temporaryDates = useRef<Record<string, Date>>({\n startDate: undefined,\n endDate: undefined,\n })\n\n const refList = useRef<Array<MutableRefObject<HTMLInputElement>>>()\n\n const focusMode = useRef<string>()\n\n const maskList = useMemo(() => {\n const separators = maskOrder.match(separatorRegExp)\n\n return maskOrder\n .split(separatorRegExp)\n .reduce<Array<string>>((acc, cur) => {\n if (!cur) {\n return acc\n }\n\n acc.push(cur)\n\n if (separators.length > 0) {\n // makes sure that separators are added at the correct places and removed from array when added\n acc.push(separators.shift())\n }\n\n return acc\n }, [])\n }, [maskOrder, separatorRegExp])\n\n const copyHandler = useCallback(\n (\n event: React.ClipboardEvent<HTMLInputElement>,\n mode: DatePickerEventAttributes['mode']\n ) => {\n const date = mode === 'end' ? endDate : startDate\n if (isValid(date)) {\n event.preventDefault()\n const valueToCopy = formatDate(date, { locale })\n event.clipboardData.setData('text/plain', valueToCopy)\n }\n },\n [endDate, locale, startDate]\n )\n\n const pasteHandler = useCallback(\n async (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!focusMode.current) {\n return // Stop here\n }\n\n const success = (\n event.clipboardData ||\n (typeof window !== 'undefined' && window['clipboardData'])\n ).getData('text/plain')\n\n if (!success) {\n return // Stop here\n }\n\n event.preventDefault()\n\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n // TODO: Merge these loops\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date: Date\n let index = 0\n\n for (index; index < possibleFormats.length; ++index) {\n date = convertStringToDate(success, {\n dateFormat: possibleFormats[index],\n })\n\n if (date) {\n break\n }\n }\n\n const mode =\n focusMode.current === 'start' ? 'startDate' : 'endDate'\n\n if (date) {\n updateDates({\n [mode]: date,\n })\n }\n } catch (error: unknown) {\n warn(error)\n }\n },\n [updateDates]\n )\n\n const callOnChangeAsInvalid = useCallback(\n (params: {\n endDate?: Date\n startDate?: Date\n event: React.ChangeEvent<HTMLInputElement>\n }) => {\n // Should fire if user has filled out an invalid date,\n // or if the date was valid. Like if the user has pressed backspace or removed the valid date.\n if (isDateFullyFilledOutRef.current || hasHadValidDate) {\n const datesFromContext = { startDate, endDate }\n\n const {\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n } = {\n ...datesFromContext,\n ...params,\n }\n\n callOnChangeHandler({\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n ...invalidDatesRef.current,\n })\n }\n },\n [callOnChangeHandler, hasHadValidDate, startDate, endDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event,\n }: {\n startDate?: Date\n endDate?: Date\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n }) => {\n const state = {}\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state['startDate'] = startDate\n }\n if (!isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state['endDate'] = endDate\n }\n\n updateDates(state, (dates) => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n callOnChangeHandler({\n event,\n ...dates,\n ...invalidDatesRef.current,\n })\n }\n })\n },\n [updateDates, callOnChangeHandler, isRange]\n )\n\n const callOnType = useCallback(\n ({ event }: { event: React.ChangeEvent<HTMLInputElement> }) => {\n const getDates = () =>\n ['start', 'end'].reduce(\n (acc, mode) => {\n acc[`${mode}Date`] = [\n dateRefs.current[`${mode}Year`] ||\n inputDates[`${mode}Year`] ||\n 'yyyy',\n dateRefs.current[`${mode}Month`] ||\n inputDates[`${mode}Month`] ||\n 'mm',\n dateRefs.current[`${mode}Day`] ||\n inputDates[`${mode}Day`] ||\n 'dd',\n ].join('-')\n return acc\n },\n { startDate: undefined, endDate: undefined }\n )\n\n // Get the typed dates, so we can ...\n const { startDate, endDate } = getDates()\n\n // Get the partial dates, so we can know if something was typed or not in an optional date field\n setPartialDates({\n partialStartDate: startDate,\n // Only set endDate if in range mode\n ...(isRange && { partialEndDate: endDate }),\n })\n\n const parsedStartDate = parseISO(startDate)\n const parsedEndDate = parseISO(endDate)\n\n const isStartDateValid = isValid(parsedStartDate)\n const isEndDateValid = isValid(parsedEndDate)\n\n const {\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject\n } = getReturnObject({\n startDate: isStartDateValid ? parsedStartDate : null,\n endDate: isEndDateValid ? parsedEndDate : null,\n event,\n ...partialDatesRef.current,\n ...invalidDatesRef.current,\n })\n\n // Re-assigns dates to the typed date, instead of `null` from getReturnObject, if dates are invalid\n const typedDates = {\n ...(!isRange && is_valid === false && { date: startDate }),\n ...(isRange &&\n is_valid_start_date === false && { start_date: startDate }),\n ...(isRange &&\n is_valid_end_date === false && { end_date: endDate }),\n }\n\n onType?.({\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject,\n ...typedDates,\n })\n },\n [\n setPartialDates,\n isRange,\n getReturnObject,\n partialDatesRef,\n onType,\n inputDates,\n ]\n )\n\n const setDate = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement>,\n mode: 'start' | 'end',\n type: 'Day' | 'Month' | 'Year'\n ) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = (event.target as HTMLInputElement).value\n\n dateRefs.current[`${mode}${type}`] = value\n\n if (modeDate[`${mode}Date`]) {\n temporaryDates.current[`${mode}Date`] = modeDate[`${mode}Date`]\n }\n\n const fallback = temporaryDates.current[`${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n dateRefs.current[`${mode}Year`] ||\n (fallback && fallback.getFullYear())\n const month =\n dateRefs.current[`${mode}Month`] ||\n (fallback && fallback.getMonth() + 1)\n const day =\n dateRefs.current[`${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(String(year)),\n parseFloat(String(month)) - 1,\n parseFloat(String(day))\n )\n\n const isValidDate =\n !/[^0-9]/.test(String(day)) &&\n !/[^0-9]/.test(String(month)) &&\n !/[^0-9]/.test(String(year)) &&\n isValid(date) &&\n date.getDate() == parseFloat(String(day)) &&\n date.getMonth() + 1 == parseFloat(String(month)) &&\n date.getFullYear() == parseFloat(String(year))\n\n const dateString = `${year}-${month}-${day}`\n\n isDateFullyFilledOutRef.current =\n /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(dateString)\n\n // update the date\n if (isValidDate) {\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: null }\n : { invalidEndDate: null }),\n }\n\n callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n updateDates({\n [`${mode}Date`]: null,\n })\n updateInputDates({ [`${mode}${type}`]: value })\n\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: dateString }\n : { invalidEndDate: dateString }),\n }\n\n callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n callOnType({ event })\n },\n [\n updateDates,\n callOnChange,\n callOnChangeAsInvalid,\n callOnType,\n modeDate,\n dateRefs,\n temporaryDates,\n updateInputDates,\n ]\n )\n\n const dateSetters = useMemo(\n () => ({\n set_startDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Day')\n },\n\n set_startMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Month')\n },\n\n set_startYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Year')\n },\n\n set_endDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Day')\n },\n\n set_endMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Month')\n },\n\n set_endYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Year')\n },\n }),\n [setDate]\n )\n\n const onFocusHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocusState('focus')\n\n onFocus?.({\n ...event,\n ...getReturnObject({ event }),\n })\n\n if (isNaN(parseFloat(event.target.value))) {\n setCursorPosition(event.target)\n }\n },\n [getReturnObject, onFocus]\n )\n\n const onBlurHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n focusMode.current = null\n setFocusState('blur')\n\n onBlur?.({\n ...event,\n ...getReturnObject({ event, ...partialDatesRef.current }),\n })\n },\n [onBlur, getReturnObject, partialDatesRef]\n )\n\n const onKeyDownHandler = useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode = event.key\n const target = event.target as HTMLInputElement\n\n if (target.selectionStart !== target.selectionEnd) {\n setCursorPosition(target)\n }\n\n // The rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n const firstSelectionEnd = target.selectionEnd\n\n // To get the correct position afterwards.\n // Use 10ms in order to make it work on iOS Safari\n await wait(IS_IOS ? 10 : 1)\n\n const secondSelectionStart = target.selectionStart\n\n // Always false (since the old keycode function set number keys to undefined) but needed to not break tests\n const isValid = /[0-9]/g.test(keyCode)\n const refListArray = refList.current\n\n const index = refListArray.findIndex(\n ({ current }) => current === target\n )\n\n const isLastChar = secondSelectionStart === size\n const isFirstChar = firstSelectionStart === size\n\n const isMovingForward =\n keyCode !== 'ArrowLeft' &&\n keyCode !== 'Backspace' &&\n isValid &&\n isLastChar\n\n const isExplicitForward =\n (keyCode === 'ArrowRight' || keyCode === 'Enter') && isFirstChar\n\n const hasNextField = index < refListArray.length - 1\n\n if (hasNextField && (isMovingForward || isExplicitForward)) {\n // stop in case there is no next input element\n if (!refListArray[index + 1].current) {\n return // stop here\n }\n const nextSibling = refListArray[index + 1]?.current\n\n if (nextSibling) {\n setCursorPosition(nextSibling, 0, { withoutDelay: true })\n }\n\n // When the cursor is at the end of the input\n // and the user types a number, we want to set the value on the next input.\n if (\n parseFloat(keyCode) <= 9 &&\n firstSelectionStart === target.size\n ) {\n const name = toCapitalized(\n nextSibling\n .getAttribute('class')\n .match(/__input--(day|month|year)($|\\s)/)[1]\n )\n const mode = nextSibling\n .getAttribute('id')\n .match(/-(start|end)-(day|month|year)/)[1]\n\n dateSetters[`set_${mode}${name}`]({\n persist: () => null,\n ...event,\n target: {\n value: keyCode + nextSibling.value.slice(1),\n },\n })\n\n setCursorPosition(nextSibling, 1)\n }\n } else if (index > 0 && firstSelectionStart === firstSelectionEnd) {\n const isMovingBackward =\n keyCode === 'ArrowLeft' && firstSelectionStart === 0\n const isPressingBackspace =\n keyCode === 'Backspace' && firstSelectionStart <= 1\n\n if (isMovingBackward || isPressingBackspace) {\n const prevSibling = refListArray[index - 1]?.current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n setCursorPosition(prevSibling, endPos, {\n withoutDelay: true,\n })\n }\n }\n }\n },\n [dateSetters]\n )\n\n const onInputHandler = useCallback(\n (event) => {\n const target = event.currentTarget\n\n // Add support for \"backspace\" on Android virtual keyboard\n if (\n IS_ANDROID &&\n event.nativeEvent.inputType === 'deleteContentBackward' &&\n target.selectionStart === 0 &&\n target.selectionEnd === 0\n ) {\n onKeyDownHandler({\n ...event,\n key: 'Backspace',\n })\n }\n },\n [onKeyDownHandler]\n )\n\n const getPlaceholderChar = useCallback(\n (value: string) => {\n const index = maskOrder.indexOf(value)\n return maskPlaceholder[index]\n },\n [maskOrder, maskPlaceholder]\n )\n\n // TODO: Replace with MultiInputMask\n const generateDateList = useCallback(\n (\n element: Omit<React.HTMLProps<HTMLInputElement>, 'size'> &\n DatePickerEventAttributes,\n mode: 'start' | 'end'\n ) => {\n return maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = getPlaceholderChar(value)\n const { day, month, year } = translation\n const isRangeLabel = isRange ? `${translation[mode]} ` : ''\n\n if (!separatorRegExp.test(value)) {\n if (!inputElement) {\n element = {\n ...element,\n onInput: onInputHandler,\n onKeyDown: onKeyDownHandler,\n onFocus: (e) => {\n focusMode.current = mode\n onFocusHandler(e)\n },\n onBlur: onBlurHandler,\n onPaste: pasteHandler,\n onCopy: (event) => {\n copyHandler(event, mode)\n },\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n inputElement && React.isValidElement(inputElement)\n ? inputElement.type\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n refList.current.push(inputRefs.current[`${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}DayRef`]}\n onChange={dateSetters[`set_${mode}Day`]}\n value={inputDates[`${mode}Day`] || ''}\n aria-labelledby={`${id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${id}-${mode}-day-label`}\n htmlFor={`${id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n refList.current.push(inputRefs.current[`${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}MonthRef`]}\n onChange={dateSetters[`set_${mode}Month`]}\n value={inputDates[`${mode}Month`] || ''}\n aria-labelledby={`${id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${id}-${mode}-month-label`}\n htmlFor={`${id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n refList.current.push(inputRefs.current[`${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size={4}\n mask={[/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}YearRef`]}\n onChange={dateSetters[`set_${mode}Year`]}\n value={inputDates[`${mode}Year`] || ''}\n aria-labelledby={`${id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${id}-${mode}-year-label`}\n htmlFor={`${id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n },\n [\n maskList,\n getPlaceholderChar,\n translation,\n isRange,\n separatorRegExp,\n inputElement,\n size,\n onInputHandler,\n onKeyDownHandler,\n pasteHandler,\n onBlurHandler,\n onFocusHandler,\n id,\n dateSetters,\n inputDates,\n ]\n )\n\n const renderInputElement = useCallback(\n (\n element: React.HTMLProps<HTMLInputElement> &\n DatePickerEventAttributes\n ) => {\n refList.current = []\n const startDateList = generateDateList(element, 'start')\n const endDateList = generateDateList(element, 'end')\n\n return (\n <span\n id={`${id}-input`}\n className=\"dnb-date-picker__input__wrapper\"\n >\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n },\n [id, isRange, generateDateList]\n )\n\n const ariaLabel = useMemo(\n () =>\n selectedDateTitle\n ? `${selectedDateTitle}, ${translation.openPickerText}`\n : translation.openPickerText,\n [selectedDateTitle, translation]\n )\n\n validateDOMAttributes(props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const SubmitElement: React.ElementType = useMemo(\n () => (showInput ? SubmitButton : Button),\n [showInput]\n )\n\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={lang}>\n {label && <legend className=\"dnb-sr-only\">{label}</legend>}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n inputElement && typeof inputElement !== 'string'\n ? typeof inputElement === 'function'\n ? inputElement(props)\n : inputElement\n : renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={statusState}\n {...statusProps}\n submit_element={\n <SubmitElement\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={ariaLabel}\n title={title}\n size={size}\n status={status}\n status_state={statusState}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...statusProps}\n />\n }\n lang={lang}\n {...attributes}\n />\n </fieldset>\n )\n}\n\nexport default DatePickerInput\n\nfunction setCursorPosition(\n target: HTMLInputElement,\n position = 0,\n options?: { withoutDelay?: boolean }\n) {\n target.focus()\n\n const select = () => {\n target.setSelectionRange(position, position)\n }\n\n // Delay for correct iOS Safari appearance\n if (!options?.withoutDelay && process.env.NODE_ENV !== 'test') {\n setTimeout(select, 0)\n } else {\n select()\n }\n}\n\nfunction InputElement({ className, value, ...props }: TextMaskProps) {\n return (\n <TextMask\n guide={true}\n inputMode=\"numeric\"\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(String(value)) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nfunction syncDateRefs(\n dateRefs: React.MutableRefObject<DatePickerInputDates>,\n inputDates: DatePickerInputDates\n) {\n for (const date in dateRefs.current) {\n const dateRefValue = dateRefs.current[date]\n const inputDateValue = inputDates[date]\n\n if (dateRefValue !== inputDateValue) {\n dateRefs.current[date] = inputDateValue\n }\n }\n}\n\nconst wait = (duration: number) =>\n new Promise((r) => setTimeout(r, duration))\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerInput.js","names":["_react","_interopRequireWildcard","require","_isValid","_interopRequireDefault","_parseISO","_classnames","_TextMask","_Button","_Input","_componentHelper","_helpers","_DatePickerCalc","_DatePickerContext","_shared","_usePartialDates","_useInputDates","_DateFormatUtils","_span","_excluded","_excluded2","_excluded3","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultProps","separatorRegExp","statusState","opened","DatePickerInput","externalProps","props","maskOrder","defaultMaskOrder","maskPlaceholder","defaultMaskPlaceholder","useTranslation","DatePicker","isRange","id","title","submitAttributes","onFocus","onBlur","onChange","onSubmit","selectedDateTitle","showInput","inputElement","lang","disabled","skeleton","size","status","statusProps","attributes","focusState","setFocusState","useState","partialDatesRef","setPartialDates","usePartialDates","invalidDatesRef","useRef","invalidStartDate","invalidEndDate","isDateFullyFilledOutRef","updateDates","callOnChangeHandler","getReturnObject","startDate","endDate","onType","label","useContext","DatePickerContext","inputDates","updateInputDates","useInputDates","translation","locale","Context","hasHadValidDate","isValid","modeDate","useMemo","inputRefs","startDayRef","current","undefined","startMonthRef","startYearRef","endDayRef","endMonthRef","endYearRef","dateRefs","startDay","startMonth","startYear","endDay","endMonth","endYear","syncDateRefs","temporaryDates","refList","focusMode","maskList","separators","match","split","reduce","acc","cur","shift","copyHandler","useCallback","event","mode","date","preventDefault","valueToCopy","formatDate","clipboardData","setData","pasteHandler","success","window","getData","possibleFormats","sep","replace","reverse","join","index","convertStringToDate","dateFormat","error","warn","callOnChangeAsInvalid","params","datesFromContext","derivedStartDate","derivedEndDate","callOnChange","_ref","state","dates","callOnType","_ref2","getDates","partialStartDate","partialEndDate","parsedStartDate","parseISO","parsedEndDate","isStartDateValid","isEndDateValid","_getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","returnObject","typedDates","start_date","end_date","setDate","type","persist","target","fallback","year","getFullYear","month","getMonth","day","getDate","Date","parseFloat","isValidDate","test","dateString","dateSetters","set_startDay","set_startMonth","set_startYear","set_endDay","set_endMonth","set_endYear","onFocusHandler","isNaN","setCursorPosition","onBlurHandler","onKeyDownHandler","keyCode","key","selectionStart","selectionEnd","getAttribute","firstSelectionStart","firstSelectionEnd","wait","IS_IOS","secondSelectionStart","refListArray","findIndex","_ref3","isLastChar","isFirstChar","isMovingForward","isExplicitForward","hasNextField","_refListArray","nextSibling","withoutDelay","name","toCapitalized","slice","isMovingBackward","isPressingBackspace","_refListArray2","prevSibling","endPos","onInputHandler","currentTarget","IS_ANDROID","nativeEvent","inputType","getPlaceholderChar","generateDateList","element","map","placeholderChar","isRangeLabel","onInput","onKeyDown","onPaste","onCopy","DateField","React","isValidElement","InputElement","inputSizeClassName","createElement","Fragment","className","classnames","mask","inputRef","hidden","htmlFor","renderInputElement","startDateList","endDateList","ariaLabel","openPickerText","validateDOMAttributes","SubmitElement","SubmitButton","Button","innerRef","ref","input_state","input_element","status_state","submit_element","icon","variant","on_submit","on_click","_default","exports","position","options","focus","select","setSelectionRange","process","env","NODE_ENV","setTimeout","_ref4","guide","inputMode","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","dateRefValue","inputDateValue","duration","Promise"],"sources":["../../../../src/components/date-picker/DatePickerInput.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n MutableRefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\n// date-fns\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask, { TextMaskProps } from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport type { InputInputElement, InputSize } from '../Input'\nimport {\n warn,\n validateDOMAttributes,\n toCapitalized,\n} from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport { ReturnObject } from './DatePickerProvider'\nimport { DatePickerEventAttributes, DatePickerProps } from './DatePicker'\nimport { Context, useTranslation } from '../../shared'\nimport usePartialDates from './hooks/usePartialDates'\nimport useInputDates, { DatePickerInputDates } from './hooks/useInputDates'\nimport { formatDate } from '../date-format/DateFormatUtils'\n\nexport type DatePickerInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n | 'children'\n | 'ref'\n | 'value'\n | 'size'\n | 'onFocus'\n | 'onBlur'\n | 'onSubmit'\n | 'label'\n> & {\n selectedDateTitle?: string\n maskOrder?: DatePickerProps['maskOrder']\n maskPlaceholder?: DatePickerProps['maskPlaceholder']\n separatorRegExp?: RegExp\n submitAttributes?: Record<string, unknown>\n isRange?: boolean\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 /**\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 inputElement?: InputInputElement\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n showInput?: boolean\n onSubmit?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onChange?: (\n event: ReturnObject<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n}\n\nexport type InvalidDates = {\n invalidDate?: string\n invalidStartDate?: string\n invalidEndDate?: string\n}\n\nconst defaultProps: DatePickerInputProps = {\n separatorRegExp: /[-/ ]/g,\n statusState: 'error',\n opened: false,\n}\n\nfunction DatePickerInput(externalProps: DatePickerInputProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n maskOrder: defaultMaskOrder,\n maskPlaceholder: defaultMaskPlaceholder,\n } = useTranslation().DatePicker\n\n const {\n isRange,\n maskOrder = defaultMaskOrder,\n separatorRegExp,\n id,\n title,\n submitAttributes,\n maskPlaceholder = defaultMaskPlaceholder, // eslint-disable-line\n onFocus,\n onBlur,\n onChange, // eslint-disable-line\n onSubmit, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n inputElement,\n lang,\n disabled,\n skeleton,\n opened,\n size,\n status,\n statusState,\n statusProps,\n\n ...attributes\n } = props\n const [focusState, setFocusState] = useState<string>('virgin')\n\n const { partialDatesRef, setPartialDates } = usePartialDates()\n\n const invalidDatesRef = useRef<InvalidDates>({\n invalidStartDate: null,\n invalidEndDate: null,\n })\n const isDateFullyFilledOutRef = useRef(false)\n\n const {\n updateDates,\n callOnChangeHandler,\n getReturnObject,\n startDate,\n endDate,\n props: { onType, label },\n } = useContext(DatePickerContext)\n\n const { inputDates, updateInputDates } = useInputDates({\n startDate,\n endDate,\n })\n\n const translation = useTranslation().DatePicker\n const { locale } = useContext(Context)\n\n const hasHadValidDate = isValid(startDate) || isValid(endDate)\n\n const modeDate = useMemo(\n () => ({\n startDate,\n endDate,\n }),\n [startDate, endDate]\n )\n\n const inputRefs = useRef<\n Record<string, MutableRefObject<HTMLInputElement>>\n >({\n startDayRef: { current: undefined },\n startMonthRef: { current: undefined },\n startYearRef: { current: undefined },\n endDayRef: { current: undefined },\n endMonthRef: { current: undefined },\n endYearRef: { current: undefined },\n })\n\n const dateRefs = useRef<DatePickerInputDates>({\n startDay: '',\n startMonth: '',\n startYear: '',\n endDay: '',\n endMonth: '',\n endYear: '',\n })\n\n // Keep dateRefs in sync with inputDates on re-render\n syncDateRefs(dateRefs, inputDates)\n\n const temporaryDates = useRef<Record<string, Date>>({\n startDate: undefined,\n endDate: undefined,\n })\n\n const refList = useRef<Array<MutableRefObject<HTMLInputElement>>>()\n\n const focusMode = useRef<string>()\n\n const maskList = useMemo(() => {\n const separators = maskOrder.match(separatorRegExp)\n\n return maskOrder\n .split(separatorRegExp)\n .reduce<Array<string>>((acc, cur) => {\n if (!cur) {\n return acc\n }\n\n acc.push(cur)\n\n if (separators.length > 0) {\n // makes sure that separators are added at the correct places and removed from array when added\n acc.push(separators.shift())\n }\n\n return acc\n }, [])\n }, [maskOrder, separatorRegExp])\n\n const copyHandler = useCallback(\n (\n event: React.ClipboardEvent<HTMLInputElement>,\n mode: DatePickerEventAttributes['mode']\n ) => {\n const date = mode === 'end' ? endDate : startDate\n if (isValid(date)) {\n event.preventDefault()\n const valueToCopy = formatDate(date, { locale })\n event.clipboardData.setData('text/plain', valueToCopy)\n }\n },\n [endDate, locale, startDate]\n )\n\n const pasteHandler = useCallback(\n async (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!focusMode.current) {\n return // Stop here\n }\n\n const success = (\n event.clipboardData ||\n (typeof window !== 'undefined' && window['clipboardData'])\n ).getData('text/plain')\n\n if (!success) {\n return // Stop here\n }\n\n event.preventDefault()\n\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n // TODO: Merge these loops\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date: Date\n let index = 0\n\n for (index; index < possibleFormats.length; ++index) {\n date = convertStringToDate(success, {\n dateFormat: possibleFormats[index],\n })\n\n if (date) {\n break\n }\n }\n\n const mode =\n focusMode.current === 'start' ? 'startDate' : 'endDate'\n\n if (date) {\n updateDates({\n [mode]: date,\n })\n }\n } catch (error: unknown) {\n warn(error)\n }\n },\n [updateDates]\n )\n\n const callOnChangeAsInvalid = useCallback(\n (params: {\n endDate?: Date\n startDate?: Date\n event: React.ChangeEvent<HTMLInputElement>\n }) => {\n // Should fire if user has filled out an invalid date,\n // or if the date was valid. Like if the user has pressed backspace or removed the valid date.\n if (isDateFullyFilledOutRef.current || hasHadValidDate) {\n const datesFromContext = { startDate, endDate }\n\n const {\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n } = {\n ...datesFromContext,\n ...params,\n }\n\n callOnChangeHandler({\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n ...invalidDatesRef.current,\n })\n }\n },\n [callOnChangeHandler, hasHadValidDate, startDate, endDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event,\n }: {\n startDate?: Date\n endDate?: Date\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n }) => {\n const state = {}\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state['startDate'] = startDate\n }\n if (!isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state['endDate'] = endDate\n }\n\n updateDates(state, (dates) => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n callOnChangeHandler({\n event,\n ...dates,\n ...invalidDatesRef.current,\n })\n }\n })\n },\n [updateDates, callOnChangeHandler, isRange]\n )\n\n const callOnType = useCallback(\n ({ event }: { event: React.ChangeEvent<HTMLInputElement> }) => {\n const getDates = () =>\n ['start', 'end'].reduce(\n (acc, mode) => {\n acc[`${mode}Date`] = [\n dateRefs.current[`${mode}Year`] ||\n inputDates[`${mode}Year`] ||\n 'yyyy',\n dateRefs.current[`${mode}Month`] ||\n inputDates[`${mode}Month`] ||\n 'mm',\n dateRefs.current[`${mode}Day`] ||\n inputDates[`${mode}Day`] ||\n 'dd',\n ].join('-')\n return acc\n },\n { startDate: undefined, endDate: undefined }\n )\n\n // Get the typed dates, so we can ...\n const { startDate, endDate } = getDates()\n\n // Get the partial dates, so we can know if something was typed or not in an optional date field\n setPartialDates({\n partialStartDate: startDate,\n // Only set endDate if in range mode\n ...(isRange && { partialEndDate: endDate }),\n })\n\n const parsedStartDate = parseISO(startDate)\n const parsedEndDate = parseISO(endDate)\n\n const isStartDateValid = isValid(parsedStartDate)\n const isEndDateValid = isValid(parsedEndDate)\n\n const {\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject\n } = getReturnObject({\n startDate: isStartDateValid ? parsedStartDate : null,\n endDate: isEndDateValid ? parsedEndDate : null,\n event,\n ...partialDatesRef.current,\n ...invalidDatesRef.current,\n })\n\n // Re-assigns dates to the typed date, instead of `null` from getReturnObject, if dates are invalid\n const typedDates = {\n ...(!isRange && is_valid === false && { date: startDate }),\n ...(isRange &&\n is_valid_start_date === false && { start_date: startDate }),\n ...(isRange &&\n is_valid_end_date === false && { end_date: endDate }),\n }\n\n onType?.({\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject,\n ...typedDates,\n })\n },\n [\n setPartialDates,\n isRange,\n getReturnObject,\n partialDatesRef,\n onType,\n inputDates,\n ]\n )\n\n const setDate = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement>,\n mode: 'start' | 'end',\n type: 'Day' | 'Month' | 'Year'\n ) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = (event.target as HTMLInputElement).value\n\n dateRefs.current[`${mode}${type}`] = value\n\n if (modeDate[`${mode}Date`]) {\n temporaryDates.current[`${mode}Date`] = modeDate[`${mode}Date`]\n }\n\n const fallback = temporaryDates.current[`${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n dateRefs.current[`${mode}Year`] ||\n (fallback && fallback.getFullYear())\n const month =\n dateRefs.current[`${mode}Month`] ||\n (fallback && fallback.getMonth() + 1)\n const day =\n dateRefs.current[`${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(String(year)),\n parseFloat(String(month)) - 1,\n parseFloat(String(day))\n )\n\n const isValidDate =\n !/[^0-9]/.test(String(day)) &&\n !/[^0-9]/.test(String(month)) &&\n !/[^0-9]/.test(String(year)) &&\n isValid(date) &&\n date.getDate() == parseFloat(String(day)) &&\n date.getMonth() + 1 == parseFloat(String(month)) &&\n date.getFullYear() == parseFloat(String(year))\n\n const dateString = `${year}-${month}-${day}`\n\n isDateFullyFilledOutRef.current =\n /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(dateString)\n\n // update the date\n if (isValidDate) {\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: null }\n : { invalidEndDate: null }),\n }\n\n callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n updateDates({\n [`${mode}Date`]: null,\n })\n updateInputDates({ [`${mode}${type}`]: value })\n\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: dateString }\n : { invalidEndDate: dateString }),\n }\n\n callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n callOnType({ event })\n },\n [\n updateDates,\n callOnChange,\n callOnChangeAsInvalid,\n callOnType,\n modeDate,\n dateRefs,\n temporaryDates,\n updateInputDates,\n ]\n )\n\n const dateSetters = useMemo(\n () => ({\n set_startDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Day')\n },\n\n set_startMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Month')\n },\n\n set_startYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Year')\n },\n\n set_endDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Day')\n },\n\n set_endMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Month')\n },\n\n set_endYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Year')\n },\n }),\n [setDate]\n )\n\n const onFocusHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocusState('focus')\n\n onFocus?.({\n ...event,\n ...getReturnObject({ event }),\n })\n\n if (isNaN(parseFloat(event.target.value))) {\n setCursorPosition(event.target)\n }\n },\n [getReturnObject, onFocus]\n )\n\n const onBlurHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n focusMode.current = null\n setFocusState('blur')\n\n onBlur?.({\n ...event,\n ...getReturnObject({ event, ...partialDatesRef.current }),\n })\n },\n [onBlur, getReturnObject, partialDatesRef]\n )\n\n const onKeyDownHandler = useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode = event.key\n const target = event.target as HTMLInputElement\n\n if (target.selectionStart !== target.selectionEnd) {\n setCursorPosition(target)\n }\n\n // The rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n const firstSelectionEnd = target.selectionEnd\n\n // To get the correct position afterwards.\n // Use 10ms in order to make it work on iOS Safari\n await wait(IS_IOS ? 10 : 1)\n\n const secondSelectionStart = target.selectionStart\n\n // Always false (since the old keycode function set number keys to undefined) but needed to not break tests\n const isValid = /[0-9]/g.test(keyCode)\n const refListArray = refList.current\n\n const index = refListArray.findIndex(\n ({ current }) => current === target\n )\n\n const isLastChar = secondSelectionStart === size\n const isFirstChar = firstSelectionStart === size\n\n const isMovingForward =\n keyCode !== 'ArrowLeft' &&\n keyCode !== 'Backspace' &&\n isValid &&\n isLastChar\n\n const isExplicitForward =\n (keyCode === 'ArrowRight' || keyCode === 'Enter') && isFirstChar\n\n const hasNextField = index < refListArray.length - 1\n\n if (hasNextField && (isMovingForward || isExplicitForward)) {\n // stop in case there is no next input element\n if (!refListArray[index + 1].current) {\n return // stop here\n }\n const nextSibling = refListArray[index + 1]?.current\n\n if (nextSibling) {\n setCursorPosition(nextSibling, 0, { withoutDelay: true })\n }\n\n // When the cursor is at the end of the input\n // and the user types a number, we want to set the value on the next input.\n if (\n parseFloat(keyCode) <= 9 &&\n firstSelectionStart === target.size\n ) {\n const name = toCapitalized(\n nextSibling\n .getAttribute('class')\n .match(/__input--(day|month|year)($|\\s)/)[1]\n )\n const mode = nextSibling\n .getAttribute('id')\n .match(/-(start|end)-(day|month|year)/)[1]\n\n dateSetters[`set_${mode}${name}`]({\n persist: () => null,\n ...event,\n target: {\n value: keyCode + nextSibling.value.slice(1),\n },\n })\n\n setCursorPosition(nextSibling, 1)\n }\n } else if (index > 0 && firstSelectionStart === firstSelectionEnd) {\n const isMovingBackward =\n keyCode === 'ArrowLeft' && firstSelectionStart === 0\n const isPressingBackspace =\n keyCode === 'Backspace' && firstSelectionStart <= 1\n\n if (isMovingBackward || isPressingBackspace) {\n const prevSibling = refListArray[index - 1]?.current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n setCursorPosition(prevSibling, endPos, {\n withoutDelay: true,\n })\n }\n }\n }\n },\n [dateSetters]\n )\n\n const onInputHandler = useCallback(\n (event) => {\n const target = event.currentTarget\n\n // Add support for \"backspace\" on Android virtual keyboard\n if (\n IS_ANDROID &&\n event.nativeEvent.inputType === 'deleteContentBackward' &&\n target.selectionStart === 0 &&\n target.selectionEnd === 0\n ) {\n onKeyDownHandler({\n ...event,\n key: 'Backspace',\n })\n }\n },\n [onKeyDownHandler]\n )\n\n const getPlaceholderChar = useCallback(\n (value: string) => {\n const index = maskOrder.indexOf(value)\n return maskPlaceholder[index]\n },\n [maskOrder, maskPlaceholder]\n )\n\n // TODO: Replace with MultiInputMask\n const generateDateList = useCallback(\n (\n element: Omit<React.HTMLProps<HTMLInputElement>, 'size'> &\n DatePickerEventAttributes,\n mode: 'start' | 'end'\n ) => {\n return maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = getPlaceholderChar(value)\n const { day, month, year } = translation\n const isRangeLabel = isRange ? `${translation[mode]} ` : ''\n\n if (!separatorRegExp.test(value)) {\n if (!inputElement) {\n element = {\n ...element,\n onInput: onInputHandler,\n onKeyDown: onKeyDownHandler,\n onFocus: (e) => {\n focusMode.current = mode\n onFocusHandler(e)\n },\n onBlur: onBlurHandler,\n onPaste: pasteHandler,\n onCopy: (event) => {\n copyHandler(event, mode)\n },\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n inputElement && React.isValidElement(inputElement)\n ? inputElement.type\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n refList.current.push(inputRefs.current[`${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}DayRef`]}\n onChange={dateSetters[`set_${mode}Day`]}\n value={inputDates[`${mode}Day`] || ''}\n aria-labelledby={`${id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${id}-${mode}-day-label`}\n htmlFor={`${id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n refList.current.push(inputRefs.current[`${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}MonthRef`]}\n onChange={dateSetters[`set_${mode}Month`]}\n value={inputDates[`${mode}Month`] || ''}\n aria-labelledby={`${id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${id}-${mode}-month-label`}\n htmlFor={`${id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n refList.current.push(inputRefs.current[`${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size={4}\n mask={[/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}YearRef`]}\n onChange={dateSetters[`set_${mode}Year`]}\n value={inputDates[`${mode}Year`] || ''}\n aria-labelledby={`${id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${id}-${mode}-year-label`}\n htmlFor={`${id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n },\n [\n maskList,\n getPlaceholderChar,\n translation,\n isRange,\n separatorRegExp,\n inputElement,\n size,\n onInputHandler,\n onKeyDownHandler,\n pasteHandler,\n onBlurHandler,\n onFocusHandler,\n id,\n dateSetters,\n inputDates,\n ]\n )\n\n const renderInputElement = useCallback(\n (\n element: React.HTMLProps<HTMLInputElement> &\n DatePickerEventAttributes\n ) => {\n refList.current = []\n const startDateList = generateDateList(element, 'start')\n const endDateList = generateDateList(element, 'end')\n\n return (\n <span\n id={`${id}-input`}\n className=\"dnb-date-picker__input__wrapper\"\n >\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n },\n [id, isRange, generateDateList]\n )\n\n const ariaLabel = useMemo(\n () =>\n selectedDateTitle\n ? `${selectedDateTitle}, ${translation.openPickerText}`\n : translation.openPickerText,\n [selectedDateTitle, translation]\n )\n\n validateDOMAttributes(props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const SubmitElement: React.ElementType = useMemo(\n () => (showInput ? SubmitButton : Button),\n [showInput]\n )\n\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={lang}>\n {label && <legend className=\"dnb-sr-only\">{label}</legend>}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n inputElement && typeof inputElement !== 'string'\n ? typeof inputElement === 'function'\n ? inputElement(props)\n : inputElement\n : renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={statusState}\n {...statusProps}\n submit_element={\n <SubmitElement\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={ariaLabel}\n title={title}\n size={size}\n status={status}\n status_state={statusState}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...statusProps}\n />\n }\n lang={lang}\n {...attributes}\n />\n </fieldset>\n )\n}\n\nexport default DatePickerInput\n\nfunction setCursorPosition(\n target: HTMLInputElement,\n position = 0,\n options?: { withoutDelay?: boolean }\n) {\n target.focus()\n\n const select = () => {\n target.setSelectionRange(position, position)\n }\n\n // Delay for correct iOS Safari appearance\n if (!options?.withoutDelay && process.env.NODE_ENV !== 'test') {\n setTimeout(select, 0)\n } else {\n select()\n }\n}\n\nfunction InputElement({ className, value, ...props }: TextMaskProps) {\n return (\n <TextMask\n guide={true}\n inputMode=\"numeric\"\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(String(value)) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nfunction syncDateRefs(\n dateRefs: React.MutableRefObject<DatePickerInputDates>,\n inputDates: DatePickerInputDates\n) {\n for (const date in dateRefs.current) {\n const dateRefValue = dateRefs.current[date]\n const inputDateValue = inputDates[date]\n\n if (dateRefValue !== inputDateValue) {\n dateRefs.current[date] = inputDateValue\n }\n }\n}\n\nconst wait = (duration: number) =>\n new Promise((r) => setTimeout(r, duration))\n"],"mappings":"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","ignoreList":[]}
@@ -5,5 +5,5 @@ type DatePickerPortalProps = React.HTMLProps<HTMLDivElement> & {
5
5
  alignment?: DatePickerProps['alignPicker'];
6
6
  targetElementRef?: React.RefObject<HTMLElement>;
7
7
  };
8
- export default function DatePickerPortal({ skipPortal, alignment, targetElementRef, children, }: DatePickerPortalProps): React.ReactNode;
8
+ export default function DatePickerPortal({ skipPortal, alignment, targetElementRef, children, }: DatePickerPortalProps): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
9
9
  export {};
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = DatePickerPortal;
8
8
  require("core-js/modules/web.dom-collections.iterator.js");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- var _reactDom = _interopRequireDefault(require("react-dom"));
10
+ var _PortalRoot = _interopRequireDefault(require("../PortalRoot"));
11
11
  var _helpers = require("../../shared/helpers");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -24,7 +24,7 @@ function DatePickerPortal(_ref) {
24
24
  if (targetElementRef.current) {
25
25
  setPosition(getPosition(targetElementRef.current, alignment));
26
26
  }
27
- }, []);
27
+ }, [alignment, targetElementRef]);
28
28
  const setPositionDebounce = (0, _react.useCallback)(() => {
29
29
  const debounced = (0, _helpers.debounce)(() => {
30
30
  if (targetElementRef.current) {
@@ -45,10 +45,10 @@ function DatePickerPortal(_ref) {
45
45
  }
46
46
  };
47
47
  }, [setPositionDebounce, skipPortal]);
48
- return position && (!skipPortal ? _reactDom.default.createPortal(_react.default.createElement("div", {
48
+ return position && (!skipPortal ? _react.default.createElement(_PortalRoot.default, null, _react.default.createElement("div", {
49
49
  className: "dnb-date-picker__portal",
50
50
  style: position
51
- }, children), document.body) : children);
51
+ }, children)) : children);
52
52
  }
53
53
  function getPosition(targetElement, alignment) {
54
54
  const rect = targetElement === null || targetElement === void 0 ? void 0 : targetElement.getBoundingClientRect();
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerPortal.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_helpers","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DatePickerPortal","_ref","skipPortal","alignment","targetElementRef","children","position","setPosition","useState","useLayoutEffect","current","getPosition","setPositionDebounce","useCallback","debounced","debounce","useEffect","window","addEventListener","removeEventListener","ReactDOM","createPortal","createElement","className","style","document","body","targetElement","rect","getBoundingClientRect","scrollY","scrollX","top","left","width"],"sources":["../../../../src/components/date-picker/DatePickerPortal.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useState,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport { DatePickerProps } from './DatePicker'\nimport { debounce } from '../../shared/helpers'\n\ntype DatePickerPortalProps = React.HTMLProps<HTMLDivElement> & {\n skipPortal?: DatePickerProps['skipPortal']\n alignment?: DatePickerProps['alignPicker']\n targetElementRef?: React.RefObject<HTMLElement>\n}\n\nexport default function DatePickerPortal({\n skipPortal,\n alignment,\n targetElementRef,\n children,\n}: DatePickerPortalProps) {\n const [position, setPosition] = useState({})\n\n useLayoutEffect(() => {\n if (targetElementRef.current) {\n setPosition(getPosition(targetElementRef.current, alignment))\n }\n }, [])\n\n const setPositionDebounce = useCallback(() => {\n const debounced = debounce(() => {\n if (targetElementRef.current) {\n setPosition(getPosition(targetElementRef.current, alignment))\n }\n }, 200)\n\n debounced()\n }, [alignment, targetElementRef])\n\n useEffect(() => {\n if (!skipPortal) {\n window.addEventListener('resize', setPositionDebounce)\n window.addEventListener('scroll', setPositionDebounce)\n }\n\n return () => {\n if (!skipPortal) {\n window.removeEventListener('resize', setPositionDebounce)\n window.removeEventListener('scroll', setPositionDebounce)\n }\n }\n }, [setPositionDebounce, skipPortal])\n\n return (\n position &&\n (!skipPortal\n ? ReactDOM.createPortal(\n <div className=\"dnb-date-picker__portal\" style={position}>\n {children}\n </div>,\n document.body\n )\n : children)\n )\n}\n\nfunction getPosition(\n targetElement: HTMLElement,\n alignment: DatePickerPortalProps['alignment']\n) {\n const rect = targetElement?.getBoundingClientRect()\n\n const scrollY = window.scrollY\n const scrollX = window.scrollX\n\n return {\n top: `${rect.top + scrollY}px`,\n left: `${\n alignment === 'right'\n ? rect.left + rect.width + scrollX\n : rect.left + scrollX\n }px`,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerPortal.js","names":["_react","_interopRequireWildcard","require","_PortalRoot","_interopRequireDefault","_helpers","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DatePickerPortal","_ref","skipPortal","alignment","targetElementRef","children","position","setPosition","useState","useLayoutEffect","current","getPosition","setPositionDebounce","useCallback","debounced","debounce","useEffect","window","addEventListener","removeEventListener","createElement","className","style","targetElement","rect","getBoundingClientRect","scrollY","scrollX","top","left","width"],"sources":["../../../../src/components/date-picker/DatePickerPortal.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useState,\n} from 'react'\nimport { DatePickerProps } from './DatePicker'\nimport PortalRoot from '../PortalRoot'\nimport { debounce } from '../../shared/helpers'\n\ntype DatePickerPortalProps = React.HTMLProps<HTMLDivElement> & {\n skipPortal?: DatePickerProps['skipPortal']\n alignment?: DatePickerProps['alignPicker']\n targetElementRef?: React.RefObject<HTMLElement>\n}\n\nexport default function DatePickerPortal({\n skipPortal,\n alignment,\n targetElementRef,\n children,\n}: DatePickerPortalProps) {\n const [position, setPosition] = useState({})\n\n useLayoutEffect(() => {\n if (targetElementRef.current) {\n setPosition(getPosition(targetElementRef.current, alignment))\n }\n }, [alignment, targetElementRef])\n\n const setPositionDebounce = useCallback(() => {\n const debounced = debounce(() => {\n if (targetElementRef.current) {\n setPosition(getPosition(targetElementRef.current, alignment))\n }\n }, 200)\n\n debounced()\n }, [alignment, targetElementRef])\n\n useEffect(() => {\n if (!skipPortal) {\n window.addEventListener('resize', setPositionDebounce)\n window.addEventListener('scroll', setPositionDebounce)\n }\n\n return () => {\n if (!skipPortal) {\n window.removeEventListener('resize', setPositionDebounce)\n window.removeEventListener('scroll', setPositionDebounce)\n }\n }\n }, [setPositionDebounce, skipPortal])\n\n return (\n position &&\n (!skipPortal ? (\n <PortalRoot>\n <div className=\"dnb-date-picker__portal\" style={position}>\n {children}\n </div>\n </PortalRoot>\n ) : (\n children\n ))\n )\n}\n\nfunction getPosition(\n targetElement: HTMLElement,\n alignment: DatePickerPortalProps['alignment']\n) {\n const rect = targetElement?.getBoundingClientRect()\n\n const scrollY = window.scrollY\n const scrollX = window.scrollX\n\n return {\n top: `${rect.top + scrollY}px`,\n left: `${\n alignment === 'right'\n ? rect.left + rect.width + scrollX\n : rect.left + scrollX\n }px`,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -420,7 +420,7 @@ const InfoIcon = props => {
420
420
  title = 'info'
421
421
  } = props || {};
422
422
  const isSbankenTheme = ((_useTheme3 = (0, _shared.useTheme)()) === null || _useTheme3 === void 0 ? void 0 : _useTheme3.name) === 'sbanken';
423
- let fill = isSbankenTheme ? properties.sbanken['--sb-color-violet-light'] : properties.ui['--color-sea-green'];
423
+ let fill = isSbankenTheme ? properties.sbanken['--sb-color-green-dark-2'] : properties.ui['--color-sea-green'];
424
424
  if (props && (props === null || props === void 0 ? void 0 : props.state) === 'success') {
425
425
  fill = isSbankenTheme ? properties.sbanken['--sb-color-green-dark-3'] : properties.ui['--color-summer-green'];
426
426
  }