@dnb/eufemia 10.52.1 → 10.54.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 (921) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/CountryFlag.d.ts +12 -0
  3. package/cjs/components/CountryFlag.js +24 -0
  4. package/cjs/components/CountryFlag.js.map +1 -0
  5. package/cjs/components/autocomplete/Autocomplete.js +2 -3
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  8. package/cjs/components/checkbox/Checkbox.js +1 -2
  9. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  10. package/cjs/components/country-flag/CountryFlag.d.ts +11 -0
  11. package/cjs/components/country-flag/CountryFlag.js +48 -0
  12. package/cjs/components/country-flag/CountryFlag.js.map +1 -0
  13. package/cjs/components/country-flag/CountryFlagDocs.d.ts +2 -0
  14. package/cjs/components/country-flag/CountryFlagDocs.js +25 -0
  15. package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -0
  16. package/cjs/components/country-flag/index.d.ts +7 -0
  17. package/cjs/components/country-flag/index.js +24 -0
  18. package/cjs/components/country-flag/index.js.map +1 -0
  19. package/cjs/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  20. package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  21. package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  22. package/cjs/components/country-flag/style/dnb-country-flag.css +42 -0
  23. package/cjs/components/country-flag/style/dnb-country-flag.min.css +1 -0
  24. package/cjs/components/country-flag/style/dnb-country-flag.scss +53 -0
  25. package/cjs/components/country-flag/style/index.d.ts +5 -0
  26. package/cjs/components/country-flag/style/index.js +4 -0
  27. package/cjs/components/country-flag/style/index.js.map +1 -0
  28. package/cjs/components/country-flag/style.d.ts +5 -0
  29. package/cjs/components/country-flag/style.js +4 -0
  30. package/cjs/components/country-flag/style.js.map +1 -0
  31. package/cjs/components/date-picker/DatePickerCalendar.js +1 -1
  32. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerInput.js +1 -2
  34. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  35. package/cjs/components/dialog/Dialog.js +3 -1
  36. package/cjs/components/dialog/Dialog.js.map +1 -1
  37. package/cjs/components/dialog/DialogDocs.d.ts +2 -0
  38. package/cjs/components/dialog/DialogDocs.js +120 -0
  39. package/cjs/components/dialog/DialogDocs.js.map +1 -0
  40. package/cjs/components/dropdown/Dropdown.js +1 -2
  41. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  42. package/cjs/components/global-status/GlobalStatus.js +2 -3
  43. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  44. package/cjs/components/index.d.ts +2 -1
  45. package/cjs/components/index.js +7 -0
  46. package/cjs/components/index.js.map +1 -1
  47. package/cjs/components/input-masked/InputMaskedHooks.js +1 -2
  48. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  49. package/cjs/components/input-masked/InputMaskedUtils.js +9 -5
  50. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  51. package/cjs/components/lib.d.ts +10 -1
  52. package/cjs/components/lib.js +8 -0
  53. package/cjs/components/lib.js.map +1 -1
  54. package/cjs/components/modal/Modal.d.ts +1 -0
  55. package/cjs/components/modal/Modal.js +4 -1
  56. package/cjs/components/modal/Modal.js.map +1 -1
  57. package/cjs/components/modal/ModalContent.js +4 -4
  58. package/cjs/components/modal/ModalContent.js.map +1 -1
  59. package/cjs/components/modal/style/dnb-modal.css +4 -0
  60. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  61. package/cjs/components/modal/style/dnb-modal.scss +5 -0
  62. package/cjs/components/modal/types.d.ts +4 -0
  63. package/cjs/components/modal/types.js.map +1 -1
  64. package/cjs/components/number-format/NumberUtils.d.ts +2 -2
  65. package/cjs/components/number-format/NumberUtils.js +1 -1
  66. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  67. package/cjs/components/pagination/Pagination.d.ts +3 -3
  68. package/cjs/components/pagination/PaginationBar.d.ts +1 -1
  69. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  70. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  71. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  72. package/cjs/components/radio/Radio.js +1 -2
  73. package/cjs/components/radio/Radio.js.map +1 -1
  74. package/cjs/components/table/TableClickableHead.js +1 -1
  75. package/cjs/components/table/TableClickableHead.js.map +1 -1
  76. package/cjs/components/table/style/dnb-table.css +0 -9
  77. package/cjs/components/table/style/dnb-table.min.css +1 -1
  78. package/cjs/components/table/style/dnb-table.scss +3 -1
  79. package/cjs/components/table/style/table-accordion.scss +0 -10
  80. package/cjs/components/table/style/table-container.scss +3 -2
  81. package/cjs/components/table/style/table-td.scss +2 -1
  82. package/cjs/components/tabs/Tabs.js +2 -3
  83. package/cjs/components/tabs/Tabs.js.map +1 -1
  84. package/cjs/components/toggle-button/ToggleButton.js +2 -3
  85. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  86. package/cjs/components/upload/UploadDocs.js +2 -2
  87. package/cjs/components/upload/UploadDocs.js.map +1 -1
  88. package/cjs/components/upload/UploadFileListCell.js +2 -8
  89. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  90. package/cjs/components/upload/UploadInfo.js +3 -3
  91. package/cjs/components/upload/UploadInfo.js.map +1 -1
  92. package/cjs/components/upload/UploadVerify.js +2 -2
  93. package/cjs/components/upload/UploadVerify.js.map +1 -1
  94. package/cjs/extensions/forms/DataContext/Context.d.ts +13 -9
  95. package/cjs/extensions/forms/DataContext/Context.js +2 -4
  96. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  97. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  98. package/cjs/extensions/forms/DataContext/Provider/Provider.js +37 -24
  99. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  100. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  101. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  102. package/cjs/extensions/forms/DataContext/index.d.ts +3 -0
  103. package/cjs/extensions/forms/DataContext/index.js +5 -0
  104. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  105. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
  106. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  107. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  108. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  109. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +51 -12
  110. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  111. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  112. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +25 -0
  113. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  114. package/cjs/extensions/forms/Field/Date/Date.js +21 -5
  115. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  116. package/cjs/extensions/forms/Field/Email/Email.js +13 -8
  117. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  118. package/cjs/extensions/forms/Field/Expiry/Expiry.js +42 -34
  119. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  120. package/cjs/extensions/forms/Field/Name/Name.js +20 -13
  121. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  122. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  123. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -17
  124. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  125. package/cjs/extensions/forms/Field/Number/Number.d.ts +4 -11
  126. package/cjs/extensions/forms/Field/Number/Number.js +14 -16
  127. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  128. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  129. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  130. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  131. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +43 -30
  132. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  133. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  134. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +65 -21
  135. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  136. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  137. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  138. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  139. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  140. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  142. package/cjs/extensions/forms/Field/Selection/Selection.js +39 -18
  143. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  144. package/cjs/extensions/forms/Field/Slider/Slider.js +37 -13
  145. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  146. package/cjs/extensions/forms/Field/String/String.d.ts +2 -9
  147. package/cjs/extensions/forms/Field/String/String.js +9 -12
  148. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  149. package/cjs/extensions/forms/Field/Toggle/Toggle.js +8 -1
  150. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  151. package/cjs/extensions/forms/Field/Upload/Upload.js +6 -8
  152. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  153. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  154. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +37 -14
  155. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  156. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  157. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  158. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  159. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  160. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  161. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  162. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  163. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -2
  164. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  165. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  166. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  167. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +9 -5
  168. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  169. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  170. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  171. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  172. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  173. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  174. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  175. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +7 -5
  176. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  177. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  178. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  179. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  180. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  181. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  182. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  183. package/cjs/extensions/forms/Iterate/Array/Array.js +53 -29
  184. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  185. package/cjs/extensions/forms/Tools/Log.js +2 -2
  186. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  187. package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -0
  188. package/cjs/extensions/forms/Value/Date/Date.js +27 -13
  189. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  190. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  191. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  192. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  193. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  194. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  195. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  196. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -40
  197. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  198. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  199. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  200. package/cjs/extensions/forms/constants/countries.js +20 -20
  201. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  202. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  203. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  204. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  205. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  206. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  207. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  208. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  209. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  210. package/cjs/extensions/forms/hooks/index.d.ts +2 -1
  211. package/cjs/extensions/forms/hooks/index.js +1 -1
  212. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  213. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  214. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  215. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -5
  216. package/cjs/extensions/forms/hooks/useFieldProps.js +176 -79
  217. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  218. package/cjs/extensions/forms/hooks/usePath.d.ts +3 -0
  219. package/cjs/extensions/forms/hooks/usePath.js +2 -1
  220. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useProcessManager.js +1 -1
  222. package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -1
  223. package/cjs/extensions/forms/hooks/useTranslation.d.ts +4 -1
  224. package/cjs/extensions/forms/hooks/useTranslation.js +6 -3
  225. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  226. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  227. package/cjs/extensions/forms/hooks/useValueProps.js +2 -2
  228. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  229. package/cjs/extensions/forms/style/dnb-forms.css +7 -6
  230. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  231. package/cjs/extensions/forms/types.d.ts +61 -37
  232. package/cjs/extensions/forms/types.js +0 -17
  233. package/cjs/extensions/forms/types.js.map +1 -1
  234. package/cjs/extensions/forms/utils/FormError.d.ts +45 -0
  235. package/cjs/extensions/forms/utils/FormError.js +25 -0
  236. package/cjs/extensions/forms/utils/FormError.js.map +1 -0
  237. package/cjs/extensions/forms/utils/ajv.d.ts +17 -1
  238. package/cjs/extensions/forms/utils/ajv.js +82 -7
  239. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  240. package/cjs/extensions/forms/utils/errors.d.ts +1 -1
  241. package/cjs/extensions/forms/utils/errors.js.map +1 -1
  242. package/cjs/extensions/forms/utils/index.d.ts +2 -0
  243. package/cjs/extensions/forms/utils/index.js +24 -0
  244. package/cjs/extensions/forms/utils/index.js.map +1 -1
  245. package/cjs/fragments/drawer-list/DrawerList.js +1 -2
  246. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  247. package/cjs/fragments/drawer-list/DrawerListProvider.js +2 -3
  248. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  249. package/cjs/index.d.ts +2 -1
  250. package/cjs/index.js +7 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/shared/Context.d.ts +4 -4
  253. package/cjs/shared/Context.js.map +1 -1
  254. package/cjs/shared/Eufemia.d.ts +1 -1
  255. package/cjs/shared/Eufemia.js +2 -2
  256. package/cjs/shared/Eufemia.js.map +1 -1
  257. package/cjs/shared/component-helper.d.ts +2 -1
  258. package/cjs/shared/component-helper.js +9 -2
  259. package/cjs/shared/component-helper.js.map +1 -1
  260. package/cjs/shared/defaults.d.ts +1 -0
  261. package/cjs/shared/defaults.js +3 -1
  262. package/cjs/shared/defaults.js.map +1 -1
  263. package/cjs/shared/keycode.d.ts +75 -0
  264. package/cjs/shared/keycode.js +138 -0
  265. package/cjs/shared/keycode.js.map +1 -0
  266. package/cjs/shared/libs/Shortcuts.js +1 -3
  267. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  268. package/cjs/shared/locales/nb-NO.js +2 -2
  269. package/cjs/shared/locales/nb-NO.js.map +1 -1
  270. package/cjs/shared/useTranslation.d.ts +11 -4
  271. package/cjs/shared/useTranslation.js +68 -22
  272. package/cjs/shared/useTranslation.js.map +1 -1
  273. package/cjs/style/core/scopes.scss +1 -1
  274. package/cjs/style/dnb-ui-basis.css +1 -1
  275. package/cjs/style/dnb-ui-basis.min.css +1 -1
  276. package/cjs/style/dnb-ui-body.css +1 -1
  277. package/cjs/style/dnb-ui-body.min.css +1 -1
  278. package/cjs/style/dnb-ui-components.css +1313 -186
  279. package/cjs/style/dnb-ui-components.min.css +3 -3
  280. package/cjs/style/dnb-ui-components.scss +2 -0
  281. package/cjs/style/dnb-ui-core.css +1 -1
  282. package/cjs/style/dnb-ui-core.min.css +1 -1
  283. package/cjs/style/dnb-ui-extensions.css +7 -6
  284. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  285. package/cjs/style/dnb-ui-forms.css +7 -6
  286. package/cjs/style/dnb-ui-forms.min.css +1 -1
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
  290. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  291. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  297. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  299. package/cjs/style/themes/theme-ui/ui-theme-components.css +1308 -180
  300. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  301. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -6
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  303. package/cjs/style/themes/theme-ui/ui-theme-forms.css +7 -6
  304. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  305. package/components/CountryFlag.d.ts +12 -0
  306. package/components/CountryFlag.js +4 -0
  307. package/components/CountryFlag.js.map +1 -0
  308. package/components/autocomplete/Autocomplete.js +1 -2
  309. package/components/autocomplete/Autocomplete.js.map +1 -1
  310. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  311. package/components/checkbox/Checkbox.js +1 -2
  312. package/components/checkbox/Checkbox.js.map +1 -1
  313. package/components/country-flag/CountryFlag.d.ts +11 -0
  314. package/components/country-flag/CountryFlag.js +38 -0
  315. package/components/country-flag/CountryFlag.js.map +1 -0
  316. package/components/country-flag/CountryFlagDocs.d.ts +2 -0
  317. package/components/country-flag/CountryFlagDocs.js +18 -0
  318. package/components/country-flag/CountryFlagDocs.js.map +1 -0
  319. package/components/country-flag/index.d.ts +7 -0
  320. package/components/country-flag/index.js +4 -0
  321. package/components/country-flag/index.js.map +1 -0
  322. package/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  323. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  324. package/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  325. package/components/country-flag/style/dnb-country-flag.css +42 -0
  326. package/components/country-flag/style/dnb-country-flag.min.css +1 -0
  327. package/components/country-flag/style/dnb-country-flag.scss +53 -0
  328. package/components/country-flag/style/index.d.ts +5 -0
  329. package/components/country-flag/style/index.js +1 -0
  330. package/components/country-flag/style/index.js.map +1 -0
  331. package/components/country-flag/style.d.ts +5 -0
  332. package/components/country-flag/style.js +1 -0
  333. package/components/country-flag/style.js.map +1 -0
  334. package/components/date-picker/DatePickerCalendar.js +1 -1
  335. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  336. package/components/date-picker/DatePickerInput.js +1 -2
  337. package/components/date-picker/DatePickerInput.js.map +1 -1
  338. package/components/dialog/Dialog.js +3 -1
  339. package/components/dialog/Dialog.js.map +1 -1
  340. package/components/dialog/DialogDocs.d.ts +2 -0
  341. package/components/dialog/DialogDocs.js +113 -0
  342. package/components/dialog/DialogDocs.js.map +1 -0
  343. package/components/dropdown/Dropdown.js +1 -2
  344. package/components/dropdown/Dropdown.js.map +1 -1
  345. package/components/global-status/GlobalStatus.js +1 -2
  346. package/components/global-status/GlobalStatus.js.map +1 -1
  347. package/components/index.d.ts +2 -1
  348. package/components/index.js +2 -1
  349. package/components/index.js.map +1 -1
  350. package/components/input-masked/InputMaskedHooks.js +1 -2
  351. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  352. package/components/input-masked/InputMaskedUtils.js +9 -5
  353. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  354. package/components/lib.d.ts +10 -1
  355. package/components/lib.js +3 -1
  356. package/components/lib.js.map +1 -1
  357. package/components/modal/Modal.d.ts +1 -0
  358. package/components/modal/Modal.js +4 -1
  359. package/components/modal/Modal.js.map +1 -1
  360. package/components/modal/ModalContent.js +4 -4
  361. package/components/modal/ModalContent.js.map +1 -1
  362. package/components/modal/style/dnb-modal.css +4 -0
  363. package/components/modal/style/dnb-modal.min.css +1 -1
  364. package/components/modal/style/dnb-modal.scss +5 -0
  365. package/components/modal/types.d.ts +4 -0
  366. package/components/modal/types.js.map +1 -1
  367. package/components/number-format/NumberUtils.d.ts +2 -2
  368. package/components/number-format/NumberUtils.js +1 -1
  369. package/components/number-format/NumberUtils.js.map +1 -1
  370. package/components/pagination/Pagination.d.ts +3 -3
  371. package/components/pagination/PaginationBar.d.ts +1 -1
  372. package/components/pagination/PaginationBar.js.map +1 -1
  373. package/components/progress-indicator/ProgressIndicator.js +2 -2
  374. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  375. package/components/radio/Radio.js +1 -2
  376. package/components/radio/Radio.js.map +1 -1
  377. package/components/table/TableClickableHead.js +1 -1
  378. package/components/table/TableClickableHead.js.map +1 -1
  379. package/components/table/style/dnb-table.css +0 -9
  380. package/components/table/style/dnb-table.min.css +1 -1
  381. package/components/table/style/dnb-table.scss +3 -1
  382. package/components/table/style/table-accordion.scss +0 -10
  383. package/components/table/style/table-container.scss +3 -2
  384. package/components/table/style/table-td.scss +2 -1
  385. package/components/tabs/Tabs.js +1 -2
  386. package/components/tabs/Tabs.js.map +1 -1
  387. package/components/toggle-button/ToggleButton.js +1 -2
  388. package/components/toggle-button/ToggleButton.js.map +1 -1
  389. package/components/upload/UploadDocs.js +2 -2
  390. package/components/upload/UploadDocs.js.map +1 -1
  391. package/components/upload/UploadFileListCell.js +2 -8
  392. package/components/upload/UploadFileListCell.js.map +1 -1
  393. package/components/upload/UploadInfo.js +3 -3
  394. package/components/upload/UploadInfo.js.map +1 -1
  395. package/components/upload/UploadVerify.js +2 -2
  396. package/components/upload/UploadVerify.js.map +1 -1
  397. package/es/components/CountryFlag.d.ts +12 -0
  398. package/es/components/CountryFlag.js +4 -0
  399. package/es/components/CountryFlag.js.map +1 -0
  400. package/es/components/autocomplete/Autocomplete.js +1 -2
  401. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  402. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  403. package/es/components/checkbox/Checkbox.js +1 -2
  404. package/es/components/checkbox/Checkbox.js.map +1 -1
  405. package/es/components/country-flag/CountryFlag.d.ts +11 -0
  406. package/es/components/country-flag/CountryFlag.js +38 -0
  407. package/es/components/country-flag/CountryFlag.js.map +1 -0
  408. package/es/components/country-flag/CountryFlagDocs.d.ts +2 -0
  409. package/es/components/country-flag/CountryFlagDocs.js +18 -0
  410. package/es/components/country-flag/CountryFlagDocs.js.map +1 -0
  411. package/es/components/country-flag/index.d.ts +7 -0
  412. package/es/components/country-flag/index.js +4 -0
  413. package/es/components/country-flag/index.js.map +1 -0
  414. package/es/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  415. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  416. package/es/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  417. package/es/components/country-flag/style/dnb-country-flag.css +42 -0
  418. package/es/components/country-flag/style/dnb-country-flag.min.css +1 -0
  419. package/es/components/country-flag/style/dnb-country-flag.scss +53 -0
  420. package/es/components/country-flag/style/index.d.ts +5 -0
  421. package/es/components/country-flag/style/index.js +1 -0
  422. package/es/components/country-flag/style/index.js.map +1 -0
  423. package/es/components/country-flag/style.d.ts +5 -0
  424. package/es/components/country-flag/style.js +1 -0
  425. package/es/components/country-flag/style.js.map +1 -0
  426. package/es/components/date-picker/DatePickerCalendar.js +1 -1
  427. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  428. package/es/components/date-picker/DatePickerInput.js +1 -2
  429. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  430. package/es/components/dialog/Dialog.js +3 -1
  431. package/es/components/dialog/Dialog.js.map +1 -1
  432. package/es/components/dialog/DialogDocs.d.ts +2 -0
  433. package/es/components/dialog/DialogDocs.js +113 -0
  434. package/es/components/dialog/DialogDocs.js.map +1 -0
  435. package/es/components/dropdown/Dropdown.js +1 -2
  436. package/es/components/dropdown/Dropdown.js.map +1 -1
  437. package/es/components/global-status/GlobalStatus.js +1 -2
  438. package/es/components/global-status/GlobalStatus.js.map +1 -1
  439. package/es/components/index.d.ts +2 -1
  440. package/es/components/index.js +2 -1
  441. package/es/components/index.js.map +1 -1
  442. package/es/components/input-masked/InputMaskedHooks.js +1 -2
  443. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  444. package/es/components/input-masked/InputMaskedUtils.js +9 -5
  445. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  446. package/es/components/lib.d.ts +10 -1
  447. package/es/components/lib.js +3 -1
  448. package/es/components/lib.js.map +1 -1
  449. package/es/components/modal/Modal.d.ts +1 -0
  450. package/es/components/modal/Modal.js +4 -1
  451. package/es/components/modal/Modal.js.map +1 -1
  452. package/es/components/modal/ModalContent.js +4 -4
  453. package/es/components/modal/ModalContent.js.map +1 -1
  454. package/es/components/modal/style/dnb-modal.css +4 -0
  455. package/es/components/modal/style/dnb-modal.min.css +1 -1
  456. package/es/components/modal/style/dnb-modal.scss +5 -0
  457. package/es/components/modal/types.d.ts +4 -0
  458. package/es/components/modal/types.js.map +1 -1
  459. package/es/components/number-format/NumberUtils.d.ts +2 -2
  460. package/es/components/number-format/NumberUtils.js +1 -1
  461. package/es/components/number-format/NumberUtils.js.map +1 -1
  462. package/es/components/pagination/Pagination.d.ts +3 -3
  463. package/es/components/pagination/PaginationBar.d.ts +1 -1
  464. package/es/components/pagination/PaginationBar.js.map +1 -1
  465. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  466. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  467. package/es/components/radio/Radio.js +1 -2
  468. package/es/components/radio/Radio.js.map +1 -1
  469. package/es/components/table/TableClickableHead.js +1 -1
  470. package/es/components/table/TableClickableHead.js.map +1 -1
  471. package/es/components/table/style/dnb-table.css +0 -9
  472. package/es/components/table/style/dnb-table.min.css +1 -1
  473. package/es/components/table/style/dnb-table.scss +3 -1
  474. package/es/components/table/style/table-accordion.scss +0 -10
  475. package/es/components/table/style/table-container.scss +3 -2
  476. package/es/components/table/style/table-td.scss +2 -1
  477. package/es/components/tabs/Tabs.js +1 -2
  478. package/es/components/tabs/Tabs.js.map +1 -1
  479. package/es/components/toggle-button/ToggleButton.js +1 -2
  480. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  481. package/es/components/upload/UploadDocs.js +2 -2
  482. package/es/components/upload/UploadDocs.js.map +1 -1
  483. package/es/components/upload/UploadFileListCell.js +2 -8
  484. package/es/components/upload/UploadFileListCell.js.map +1 -1
  485. package/es/components/upload/UploadInfo.js +3 -3
  486. package/es/components/upload/UploadInfo.js.map +1 -1
  487. package/es/components/upload/UploadVerify.js +2 -2
  488. package/es/components/upload/UploadVerify.js.map +1 -1
  489. package/es/extensions/forms/DataContext/Context.d.ts +13 -9
  490. package/es/extensions/forms/DataContext/Context.js +1 -3
  491. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  492. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  493. package/es/extensions/forms/DataContext/Provider/Provider.js +35 -22
  494. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  495. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  496. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  497. package/es/extensions/forms/DataContext/index.d.ts +3 -0
  498. package/es/extensions/forms/DataContext/index.js +5 -0
  499. package/es/extensions/forms/DataContext/index.js.map +1 -1
  500. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
  501. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +24 -9
  502. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  503. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  504. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -13
  505. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  506. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  507. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  508. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  509. package/es/extensions/forms/Field/Date/Date.js +23 -6
  510. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  511. package/es/extensions/forms/Field/Email/Email.js +11 -8
  512. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  513. package/es/extensions/forms/Field/Expiry/Expiry.js +42 -34
  514. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  515. package/es/extensions/forms/Field/Name/Name.js +18 -13
  516. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  517. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  518. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  519. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  520. package/es/extensions/forms/Field/Number/Number.d.ts +4 -11
  521. package/es/extensions/forms/Field/Number/Number.js +15 -17
  522. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  523. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  524. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  525. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  526. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  527. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  528. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  529. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +63 -21
  530. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  531. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  532. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  533. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  534. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  535. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  536. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  537. package/es/extensions/forms/Field/Selection/Selection.js +37 -15
  538. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  539. package/es/extensions/forms/Field/Slider/Slider.js +38 -14
  540. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  541. package/es/extensions/forms/Field/String/String.d.ts +2 -9
  542. package/es/extensions/forms/Field/String/String.js +10 -13
  543. package/es/extensions/forms/Field/String/String.js.map +1 -1
  544. package/es/extensions/forms/Field/Toggle/Toggle.js +9 -2
  545. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  546. package/es/extensions/forms/Field/Upload/Upload.js +7 -9
  547. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  548. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  549. package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -13
  550. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  551. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  552. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  553. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  554. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  555. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  556. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  557. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  558. package/es/extensions/forms/Form/Handler/Handler.js +1 -2
  559. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  560. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  561. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  562. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  563. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  564. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  565. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  566. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  567. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  568. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  569. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  570. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  571. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  572. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  573. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  574. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  575. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  576. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  577. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  578. package/es/extensions/forms/Iterate/Array/Array.js +55 -31
  579. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  580. package/es/extensions/forms/Tools/Log.js +2 -2
  581. package/es/extensions/forms/Tools/Log.js.map +1 -1
  582. package/es/extensions/forms/Value/Date/Date.d.ts +5 -0
  583. package/es/extensions/forms/Value/Date/Date.js +25 -14
  584. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  585. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  586. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  587. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  588. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  589. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  590. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  591. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -37
  592. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  593. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  594. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  595. package/es/extensions/forms/constants/countries.js +20 -20
  596. package/es/extensions/forms/constants/countries.js.map +1 -1
  597. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  598. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  599. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  600. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  601. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  602. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  603. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  604. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  605. package/es/extensions/forms/hooks/index.d.ts +2 -1
  606. package/es/extensions/forms/hooks/index.js +1 -1
  607. package/es/extensions/forms/hooks/index.js.map +1 -1
  608. package/es/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  609. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  610. package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -5
  611. package/es/extensions/forms/hooks/useFieldProps.js +174 -78
  612. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  613. package/es/extensions/forms/hooks/usePath.d.ts +3 -0
  614. package/es/extensions/forms/hooks/usePath.js +2 -1
  615. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  616. package/es/extensions/forms/hooks/useProcessManager.js +1 -1
  617. package/es/extensions/forms/hooks/useProcessManager.js.map +1 -1
  618. package/es/extensions/forms/hooks/useTranslation.d.ts +4 -1
  619. package/es/extensions/forms/hooks/useTranslation.js +7 -4
  620. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  621. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  622. package/es/extensions/forms/hooks/useValueProps.js +2 -2
  623. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  624. package/es/extensions/forms/style/dnb-forms.css +7 -6
  625. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  626. package/es/extensions/forms/types.d.ts +61 -37
  627. package/es/extensions/forms/types.js +0 -13
  628. package/es/extensions/forms/types.js.map +1 -1
  629. package/es/extensions/forms/utils/FormError.d.ts +45 -0
  630. package/es/extensions/forms/utils/FormError.js +16 -0
  631. package/es/extensions/forms/utils/FormError.js.map +1 -0
  632. package/es/extensions/forms/utils/ajv.d.ts +17 -1
  633. package/es/extensions/forms/utils/ajv.js +72 -7
  634. package/es/extensions/forms/utils/ajv.js.map +1 -1
  635. package/es/extensions/forms/utils/errors.d.ts +1 -1
  636. package/es/extensions/forms/utils/errors.js.map +1 -1
  637. package/es/extensions/forms/utils/index.d.ts +2 -0
  638. package/es/extensions/forms/utils/index.js +2 -0
  639. package/es/extensions/forms/utils/index.js.map +1 -1
  640. package/es/fragments/drawer-list/DrawerList.js +1 -2
  641. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  642. package/es/fragments/drawer-list/DrawerListProvider.js +1 -2
  643. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  644. package/es/index.d.ts +2 -1
  645. package/es/index.js +2 -1
  646. package/es/index.js.map +1 -1
  647. package/es/shared/Context.d.ts +4 -4
  648. package/es/shared/Context.js.map +1 -1
  649. package/es/shared/Eufemia.d.ts +1 -1
  650. package/es/shared/Eufemia.js +2 -2
  651. package/es/shared/Eufemia.js.map +1 -1
  652. package/es/shared/component-helper.d.ts +2 -1
  653. package/es/shared/component-helper.js +2 -2
  654. package/es/shared/component-helper.js.map +1 -1
  655. package/es/shared/defaults.d.ts +1 -0
  656. package/es/shared/defaults.js +1 -0
  657. package/es/shared/defaults.js.map +1 -1
  658. package/es/shared/keycode.d.ts +75 -0
  659. package/es/shared/keycode.js +127 -0
  660. package/es/shared/keycode.js.map +1 -0
  661. package/es/shared/libs/Shortcuts.js +1 -2
  662. package/es/shared/libs/Shortcuts.js.map +1 -1
  663. package/es/shared/locales/nb-NO.js +2 -2
  664. package/es/shared/locales/nb-NO.js.map +1 -1
  665. package/es/shared/useTranslation.d.ts +11 -4
  666. package/es/shared/useTranslation.js +64 -22
  667. package/es/shared/useTranslation.js.map +1 -1
  668. package/es/style/core/scopes.scss +1 -1
  669. package/es/style/dnb-ui-basis.css +1 -1
  670. package/es/style/dnb-ui-basis.min.css +1 -1
  671. package/es/style/dnb-ui-body.css +1 -1
  672. package/es/style/dnb-ui-body.min.css +1 -1
  673. package/es/style/dnb-ui-components.css +1313 -186
  674. package/es/style/dnb-ui-components.min.css +3 -3
  675. package/es/style/dnb-ui-components.scss +2 -0
  676. package/es/style/dnb-ui-core.css +1 -1
  677. package/es/style/dnb-ui-core.min.css +1 -1
  678. package/es/style/dnb-ui-extensions.css +7 -6
  679. package/es/style/dnb-ui-extensions.min.css +1 -1
  680. package/es/style/dnb-ui-forms.css +7 -6
  681. package/es/style/dnb-ui-forms.min.css +1 -1
  682. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
  683. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  684. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
  685. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  686. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
  687. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  688. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
  689. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  690. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
  691. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  692. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
  693. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  694. package/es/style/themes/theme-ui/ui-theme-components.css +1308 -180
  695. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  696. package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -6
  697. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  698. package/es/style/themes/theme-ui/ui-theme-forms.css +7 -6
  699. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  700. package/esm/dnb-ui-basis.min.mjs +1 -1
  701. package/esm/dnb-ui-components.min.mjs +1 -1
  702. package/esm/dnb-ui-elements.min.mjs +1 -1
  703. package/esm/dnb-ui-extensions.min.mjs +5 -5
  704. package/esm/dnb-ui-lib.min.mjs +1 -1
  705. package/extensions/forms/DataContext/Context.d.ts +13 -9
  706. package/extensions/forms/DataContext/Context.js +1 -3
  707. package/extensions/forms/DataContext/Context.js.map +1 -1
  708. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  709. package/extensions/forms/DataContext/Provider/Provider.js +35 -22
  710. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  711. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  712. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  713. package/extensions/forms/DataContext/index.d.ts +3 -0
  714. package/extensions/forms/DataContext/index.js +5 -0
  715. package/extensions/forms/DataContext/index.js.map +1 -1
  716. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
  717. package/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  718. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  719. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  720. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -13
  721. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  722. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  723. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  724. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  725. package/extensions/forms/Field/Date/Date.js +23 -6
  726. package/extensions/forms/Field/Date/Date.js.map +1 -1
  727. package/extensions/forms/Field/Email/Email.js +11 -8
  728. package/extensions/forms/Field/Email/Email.js.map +1 -1
  729. package/extensions/forms/Field/Expiry/Expiry.js +42 -34
  730. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  731. package/extensions/forms/Field/Name/Name.js +18 -13
  732. package/extensions/forms/Field/Name/Name.js.map +1 -1
  733. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  734. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  735. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  736. package/extensions/forms/Field/Number/Number.d.ts +4 -11
  737. package/extensions/forms/Field/Number/Number.js +15 -17
  738. package/extensions/forms/Field/Number/Number.js.map +1 -1
  739. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  740. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  741. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  742. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  743. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  744. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  745. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +63 -21
  746. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  747. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  748. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  749. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  750. package/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  751. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  752. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  753. package/extensions/forms/Field/Selection/Selection.js +38 -17
  754. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  755. package/extensions/forms/Field/Slider/Slider.js +38 -14
  756. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  757. package/extensions/forms/Field/String/String.d.ts +2 -9
  758. package/extensions/forms/Field/String/String.js +10 -13
  759. package/extensions/forms/Field/String/String.js.map +1 -1
  760. package/extensions/forms/Field/Toggle/Toggle.js +9 -2
  761. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  762. package/extensions/forms/Field/Upload/Upload.js +7 -9
  763. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  764. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  765. package/extensions/forms/FieldBlock/FieldBlock.js +36 -13
  766. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  767. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  768. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  769. package/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  770. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  771. package/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  772. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  773. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  774. package/extensions/forms/Form/Handler/Handler.js +1 -2
  775. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  776. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  777. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  778. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  779. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  780. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  781. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  782. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  783. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  784. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  785. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  786. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  787. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  788. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  789. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  790. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  791. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  792. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  793. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  794. package/extensions/forms/Iterate/Array/Array.js +55 -31
  795. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  796. package/extensions/forms/Tools/Log.js +2 -2
  797. package/extensions/forms/Tools/Log.js.map +1 -1
  798. package/extensions/forms/Value/Date/Date.d.ts +5 -0
  799. package/extensions/forms/Value/Date/Date.js +26 -14
  800. package/extensions/forms/Value/Date/Date.js.map +1 -1
  801. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  802. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  803. package/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  804. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  805. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  806. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  807. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -40
  808. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  809. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  810. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  811. package/extensions/forms/constants/countries.js +20 -20
  812. package/extensions/forms/constants/countries.js.map +1 -1
  813. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  814. package/extensions/forms/constants/locales/en-GB.js +3 -2
  815. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  816. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  817. package/extensions/forms/constants/locales/index.d.ts +4 -2
  818. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  819. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  820. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  821. package/extensions/forms/hooks/index.d.ts +2 -1
  822. package/extensions/forms/hooks/index.js +1 -1
  823. package/extensions/forms/hooks/index.js.map +1 -1
  824. package/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  825. package/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  826. package/extensions/forms/hooks/useFieldProps.d.ts +8 -5
  827. package/extensions/forms/hooks/useFieldProps.js +177 -80
  828. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  829. package/extensions/forms/hooks/usePath.d.ts +3 -0
  830. package/extensions/forms/hooks/usePath.js +2 -1
  831. package/extensions/forms/hooks/usePath.js.map +1 -1
  832. package/extensions/forms/hooks/useProcessManager.js +1 -1
  833. package/extensions/forms/hooks/useProcessManager.js.map +1 -1
  834. package/extensions/forms/hooks/useTranslation.d.ts +4 -1
  835. package/extensions/forms/hooks/useTranslation.js +7 -4
  836. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  837. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  838. package/extensions/forms/hooks/useValueProps.js +2 -2
  839. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  840. package/extensions/forms/style/dnb-forms.css +7 -6
  841. package/extensions/forms/style/dnb-forms.min.css +1 -1
  842. package/extensions/forms/types.d.ts +61 -37
  843. package/extensions/forms/types.js +0 -13
  844. package/extensions/forms/types.js.map +1 -1
  845. package/extensions/forms/utils/FormError.d.ts +45 -0
  846. package/extensions/forms/utils/FormError.js +16 -0
  847. package/extensions/forms/utils/FormError.js.map +1 -0
  848. package/extensions/forms/utils/ajv.d.ts +17 -1
  849. package/extensions/forms/utils/ajv.js +77 -7
  850. package/extensions/forms/utils/ajv.js.map +1 -1
  851. package/extensions/forms/utils/errors.d.ts +1 -1
  852. package/extensions/forms/utils/errors.js.map +1 -1
  853. package/extensions/forms/utils/index.d.ts +2 -0
  854. package/extensions/forms/utils/index.js +2 -0
  855. package/extensions/forms/utils/index.js.map +1 -1
  856. package/fragments/drawer-list/DrawerList.js +1 -2
  857. package/fragments/drawer-list/DrawerList.js.map +1 -1
  858. package/fragments/drawer-list/DrawerListProvider.js +1 -2
  859. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  860. package/index.d.ts +2 -1
  861. package/index.js +2 -1
  862. package/index.js.map +1 -1
  863. package/package.json +2 -2
  864. package/shared/Context.d.ts +4 -4
  865. package/shared/Context.js.map +1 -1
  866. package/shared/Eufemia.d.ts +1 -1
  867. package/shared/Eufemia.js +2 -2
  868. package/shared/Eufemia.js.map +1 -1
  869. package/shared/component-helper.d.ts +2 -1
  870. package/shared/component-helper.js +2 -2
  871. package/shared/component-helper.js.map +1 -1
  872. package/shared/defaults.d.ts +1 -0
  873. package/shared/defaults.js +1 -0
  874. package/shared/defaults.js.map +1 -1
  875. package/shared/keycode.d.ts +75 -0
  876. package/shared/keycode.js +127 -0
  877. package/shared/keycode.js.map +1 -0
  878. package/shared/libs/Shortcuts.js +1 -2
  879. package/shared/libs/Shortcuts.js.map +1 -1
  880. package/shared/locales/nb-NO.js +2 -2
  881. package/shared/locales/nb-NO.js.map +1 -1
  882. package/shared/useTranslation.d.ts +11 -4
  883. package/shared/useTranslation.js +64 -22
  884. package/shared/useTranslation.js.map +1 -1
  885. package/style/core/scopes.scss +1 -1
  886. package/style/dnb-ui-basis.css +1 -1
  887. package/style/dnb-ui-basis.min.css +1 -1
  888. package/style/dnb-ui-body.css +1 -1
  889. package/style/dnb-ui-body.min.css +1 -1
  890. package/style/dnb-ui-components.css +1313 -186
  891. package/style/dnb-ui-components.min.css +3 -3
  892. package/style/dnb-ui-components.scss +2 -0
  893. package/style/dnb-ui-core.css +1 -1
  894. package/style/dnb-ui-core.min.css +1 -1
  895. package/style/dnb-ui-extensions.css +7 -6
  896. package/style/dnb-ui-extensions.min.css +1 -1
  897. package/style/dnb-ui-forms.css +7 -6
  898. package/style/dnb-ui-forms.min.css +1 -1
  899. package/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
  900. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  901. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
  902. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  903. package/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
  904. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  905. package/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
  906. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  907. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
  908. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  909. package/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
  910. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  911. package/style/themes/theme-ui/ui-theme-components.css +1308 -180
  912. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  913. package/style/themes/theme-ui/ui-theme-extensions.css +7 -6
  914. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  915. package/style/themes/theme-ui/ui-theme-forms.css +7 -6
  916. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  917. package/umd/dnb-ui-basis.min.js +1 -1
  918. package/umd/dnb-ui-components.min.js +1 -1
  919. package/umd/dnb-ui-elements.min.js +1 -1
  920. package/umd/dnb-ui-extensions.min.js +5 -5
  921. package/umd/dnb-ui-lib.min.js +1 -1
@@ -0,0 +1,42 @@
1
+ /*
2
+ * CountryFlag component
3
+ *
4
+ */
5
+ /*
6
+ * Utilities
7
+ */
8
+ .dnb-icon:has(.dnb-country-flag) {
9
+ display: inline-flex;
10
+ justify-content: center;
11
+ }
12
+
13
+ .dnb-country-flag {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ }
17
+ .dnb-country-flag__size--auto {
18
+ --size: 1em;
19
+ }
20
+ .dnb-country-flag__size--small {
21
+ --size: 1rem;
22
+ }
23
+ .dnb-country-flag__size--medium {
24
+ --size: 1.5rem;
25
+ }
26
+ .dnb-country-flag__size--large {
27
+ --size: 2rem;
28
+ }
29
+ .dnb-country-flag__size--x-large {
30
+ --size: 2.5rem;
31
+ }
32
+ p .dnb-country-flag, h1 .dnb-country-flag, h2 .dnb-country-flag, h3 .dnb-country-flag, h4 .dnb-country-flag {
33
+ vertical-align: sub;
34
+ }
35
+ .dnb-country-flag__flag {
36
+ border-radius: 50%;
37
+ width: var(--size);
38
+ height: var(--size);
39
+ }
40
+ .dnb-country-flag__shape--square .dnb-country-flag__flag {
41
+ border-radius: unset;
42
+ }
@@ -0,0 +1 @@
1
+ .dnb-icon:has(.dnb-country-flag){display:inline-flex;justify-content:center}.dnb-country-flag{align-items:center;display:inline-flex}.dnb-country-flag__size--auto{--size:1em}.dnb-country-flag__size--small{--size:1rem}.dnb-country-flag__size--medium{--size:1.5rem}.dnb-country-flag__size--large{--size:2rem}.dnb-country-flag__size--x-large{--size:2.5rem}h1 .dnb-country-flag,h2 .dnb-country-flag,h3 .dnb-country-flag,h4 .dnb-country-flag,p .dnb-country-flag{vertical-align:sub}.dnb-country-flag__flag{border-radius:50%;height:var(--size);width:var(--size)}.dnb-country-flag__shape--square .dnb-country-flag__flag{border-radius:unset}
@@ -0,0 +1,53 @@
1
+ /*
2
+ * CountryFlag component
3
+ *
4
+ */
5
+
6
+ @import '../../../style/core/utilities.scss';
7
+
8
+ .dnb-icon:has(.dnb-country-flag) {
9
+ display: inline-flex;
10
+ justify-content: center;
11
+ }
12
+
13
+ .dnb-country-flag {
14
+ display: inline-flex;
15
+ align-items: center;
16
+
17
+ &__size {
18
+ &--auto {
19
+ --size: 1em;
20
+ }
21
+ &--small {
22
+ --size: 1rem;
23
+ }
24
+ &--medium {
25
+ --size: 1.5rem;
26
+ }
27
+ &--large {
28
+ --size: 2rem;
29
+ }
30
+ &--x-large {
31
+ --size: 2.5rem;
32
+ }
33
+ }
34
+
35
+ p &,
36
+ h1 &,
37
+ h2 &,
38
+ h3 &,
39
+ h4 & {
40
+ vertical-align: sub;
41
+ }
42
+
43
+ &__flag {
44
+ border-radius: 50%;
45
+
46
+ width: var(--size);
47
+ height: var(--size);
48
+ }
49
+
50
+ &__shape--square &__flag {
51
+ border-radius: unset;
52
+ }
53
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Web Style Import
3
+ *
4
+ */
5
+ import './dnb-country-flag.scss';
@@ -0,0 +1 @@
1
+ import "./dnb-country-flag.min.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/country-flag/style/index.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './dnb-country-flag.scss'\n"],"mappings":"AAKA,OAAO,4BAAyB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Web Style Import
3
+ *
4
+ */
5
+ import './style/dnb-country-flag.scss';
@@ -0,0 +1 @@
1
+ import "./style/dnb-country-flag.min.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","names":[],"sources":["../../../../src/components/country-flag/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './style/dnb-country-flag.scss'\n"],"mappings":"AAKA,OAAO,kCAA+B"}
@@ -15,7 +15,7 @@ import differenceInCalendarDays from 'date-fns/differenceInCalendarDays';
15
15
  import differenceInMonths from 'date-fns/differenceInMonths';
16
16
  import lastDayOfMonth from 'date-fns/lastDayOfMonth';
17
17
  import setDate from 'date-fns/setDate';
18
- import keycode from 'keycode';
18
+ import keycode from '../../shared/keycode';
19
19
  import nbLocale from 'date-fns/locale/nb';
20
20
  import { isDisabled, makeDayObject, toRange, getWeek, dayOffset, getCalendar } from './DatePickerCalc';
21
21
  import Button from '../button/Button';
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalendar.js","names":["React","PropTypes","classnames","format","subMonths","addMonths","addWeeks","addDays","isSameDay","isSameMonth","startOfDay","differenceInCalendarDays","differenceInMonths","lastDayOfMonth","setDate","keycode","nbLocale","isDisabled","makeDayObject","toRange","getWeek","dayOffset","getCalendar","Button","DatePickerContext","DatePickerCalendar","PureComponent","constructor","props","_defineProperty","context","updateState","hoverDate","event","_event$target","String","target","nodeName","toLowerCase","_listRef","current","focus","preventScroll","e","nr","isRange","onlyMonth","hideNav","onKeyDown","keyCode","preventDefault","persist","type","newDate","keyNavCalc","Date","callOnSelect","hidePicker","state","currentMonth","Math","abs","findValid","hasReachedEnd","endDate","startDate","changeMonthViews","date","minDate","maxDate","day","className","isStartDate","isEndDate","isPreview","isWithinSelection","isSelectable","isInactive","isToday","createRef","_labelRef","_days","_cache","componentDidMount","noAutofocus","args","onSelect","on_days_render","month","getDays","Array","isArray","foundDate","find","cur","nextDate","getCacheKey","firstDayOfWeek","hideNextMonthWeek","join","getMemorizedDays","key","count","Object","values","reduce","acc","i","push","days","map","changedDays","render","id","rtl","titleFormat","locale","dayOfWeekFormat","hideDays","onPrev","onNext","resetDate","onHover","prevBtn","nextBtn","translation","DatePicker","selected_month","weekDays","createElement","lang","code","PrevButton","title","replace","tabIndex","ref","NextButton","role","onKeyDownHandler","onMouseLeave","onMouseLeaveHandler","scope","week","handleAsDisabled","isLastMonth","isNextMonth","paramsCell","paramsButton","_extends","buildClassNames","onFocus","size","variant","text","bounding","disabled","onClick","undefined","_ref","onSelectRange","onMouseOver","onHoverDay","process","env","NODE_ENV","propTypes","string","number","instanceOf","bool","func","object","_ref2","Fragment","prev_month","icon","isRequired","defaultProps","_ref3","next_month","_ref4","hasEndDate","daysToStartDate","daysToEndDate","range","_ref5"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\nimport keycode from 'keycode'\nimport nbLocale from 'date-fns/locale/nb'\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerCalendar extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n nr: PropTypes.number,\n month: PropTypes.instanceOf(Date), // What month will be displayed in the first calendar. Default: new Date()\n prevBtn: PropTypes.bool,\n nextBtn: PropTypes.bool,\n titleFormat: PropTypes.string,\n dayOfWeekFormat: PropTypes.string,\n firstDayOfWeek: PropTypes.string,\n hideNav: PropTypes.bool,\n hideDays: PropTypes.bool,\n onlyMonth: PropTypes.bool,\n hideNextMonthWeek: PropTypes.bool,\n noAutofocus: PropTypes.bool,\n\n onHover: PropTypes.func,\n onSelect: PropTypes.func,\n onPrev: PropTypes.func,\n onNext: PropTypes.func,\n\n locale: PropTypes.object,\n rtl: PropTypes.bool,\n\n isRange: PropTypes.bool,\n resetDate: PropTypes.bool,\n onKeyDown: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n nr: null,\n month: null,\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutofocus: false,\n\n // locale\n locale: nbLocale,\n rtl: false,\n\n // events\n onHover: null,\n onSelect: null,\n onPrev: null,\n onNext: null,\n\n // dates\n isRange: null,\n resetDate: true, // reset start/end date once we already have them\n\n // Limit selection with minDate and maxDate\n // maxDate: null, // addDays(new Date(), 45)\n onKeyDown: null,\n }\n\n constructor(props) {\n super(props)\n this._listRef = React.createRef()\n this._labelRef = React.createRef()\n this._days = {}\n this._cache = {}\n }\n\n componentDidMount() {\n if (!this.props.noAutofocus && this.props.nr === 0) {\n if (this._listRef.current) {\n this._listRef.current.focus({ preventScroll: true })\n }\n }\n }\n\n onMouseLeaveHandler = () => {\n this.context.updateState({\n hoverDate: null,\n })\n }\n\n onKeyDownHandler = (event) => {\n if (String(event?.target?.nodeName).toLowerCase() === 'td') {\n try {\n this._listRef.current.focus({ preventScroll: true })\n } catch (e) {\n //\n }\n }\n\n const { nr, isRange, onlyMonth, hideNav, onKeyDown } = this.props\n\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, this._listRef, nr)\n }\n\n const keyCode = keycode(event)\n\n // only continue of key is one of these\n switch (keyCode) {\n case 'enter':\n case 'space':\n case 'left':\n case 'right':\n case 'up':\n case 'down':\n event.preventDefault()\n event.persist() // since we use the event after setState\n break\n default:\n return\n }\n\n let type = nr === 0 ? 'start' : 'end'\n if (!isRange) {\n type = 'start'\n }\n let newDate = this.context[`${type}Date`]\n\n if (newDate) {\n newDate = this.keyNavCalc(newDate, keyCode)\n } else {\n // use the date picker month, if provided\n newDate =\n this.context[`${type}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n }\n\n if (newDate === this.context[`${type}Date`]) {\n switch (keyCode) {\n case 'enter':\n case 'space':\n this.callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n break\n }\n } else {\n // const state = {...this.context}\n const state = {}\n\n const currentMonth = this.context[`${type}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !this.context[`${type}Date`]) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n if (!isRange) {\n newDate = currentMonth\n } else {\n newDate =\n nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n }\n // only to make sure we navigate the calendar to the new date\n } else if (\n currentMonth &&\n !isSameMonth(this.context[`${type}Date`], currentMonth)\n ) {\n state[`${type}Month`] = newDate\n }\n\n newDate = this.findValid(newDate, keyCode)\n\n if (this.hasReachedEnd(newDate)) {\n return\n }\n\n state[`${type}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n state.endDate = newDate\n } else {\n if (!this.context.startDate) {\n state.startDate = newDate\n }\n if (!this.context.endDate) {\n state.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(state.startDate, this.context.startDate) ||\n !isSameMonth(state.endDate, this.context.startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n state.changeMonthViews = true\n\n this.context.updateState(state, () => {\n // call after state update, so the input get's the latest state as well\n this.callOnSelect({\n event,\n nr,\n hidePicker: false,\n })\n\n // and set the focus back again\n if (this._listRef && this._listRef.current) {\n this._listRef.current.focus({ preventScroll: true })\n }\n })\n }\n }\n\n callOnSelect(args) {\n this.props.onSelect && this.props.onSelect(args)\n }\n\n keyNavCalc(date, keyCode) {\n // only to process key up and down press\n switch (keyCode) {\n case 'left':\n date = addDays(date, -1)\n break\n case 'right':\n date = addDays(date, 1)\n break\n case 'up':\n date = addWeeks(date, -1)\n break\n case 'down':\n date = addWeeks(date, 1)\n break\n }\n\n return date\n }\n\n findValid(date, keyCode) {\n if (this.context.props.on_days_render) {\n const month = format(date, 'yyyy-MM')\n\n if (!this._days) {\n return date\n }\n\n if (!this._days[month]) {\n // re-render with new month\n this.getDays(date)\n }\n\n if (Array.isArray(this._days[month])) {\n const foundDate = this._days[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate &&\n foundDate.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = this.keyNavCalc(foundDate.date, keyCode)\n foundDate.date = this.findValid(nextDate, keyCode)\n }\n\n if (foundDate && foundDate.date) {\n return foundDate.date\n }\n }\n }\n\n return date\n }\n\n hasReachedEnd = (date) =>\n isDisabled(date, this.context.minDate, this.context.maxDate)\n\n buildClassNames = (day) =>\n classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n\n getCacheKey() {\n const { nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek } =\n this.props\n\n const { startDate, endDate, hoverDate, maxDate, minDate } =\n this.context\n\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }\n\n getMemorizedDays(month) {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n const key = this.getCacheKey()\n\n if (this._cache[key]) {\n return this._cache[key]\n } else {\n let count = 0\n return (this._cache[key] = Object.values(\n this.getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }\n }\n\n getDays(month) {\n const { nr, firstDayOfWeek, onlyMonth, hideNextMonthWeek } = this.props\n\n const { startDate, endDate, hoverDate, maxDate, minDate } =\n this.context\n\n let days = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (this.context.props.on_days_render) {\n const changedDays = this.context.props.on_days_render(days, nr)\n if (Array.isArray(changedDays)) {\n days = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n this._days[format(month, 'yyyy-MM')] = days\n\n return days\n }\n\n render() {\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n locale,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n hideDays,\n onPrev,\n onNext,\n resetDate,\n onHover,\n prevBtn,\n nextBtn,\n } = this.props\n\n const {\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n translation: {\n DatePicker: { selected_month },\n },\n } = this.context\n\n const weekDays = this.getMemorizedDays(month)\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={locale?.code}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <PrevButton\n nr={nr}\n minDate={minDate}\n month={month}\n locale={locale}\n context={this.context}\n prevBtn={prevBtn}\n onPrev={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selected_month.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex=\"-1\"\n ref={this._labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <NextButton\n nr={nr}\n maxDate={maxDate}\n month={month}\n locale={locale}\n context={this.context}\n nextBtn={nextBtn}\n onNext={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex=\"0\"\n aria-labelledby={`${id}--title`}\n onKeyDown={this.onKeyDownHandler}\n onMouseLeave={this.onMouseLeaveHandler}\n ref={this._listRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n // cell params\n const paramsCell = {}\n paramsCell.tabIndex = '-1'\n if (day.isStartDate) {\n paramsCell.id = id + '--button-start'\n } else if (day.isEndDate) {\n paramsCell.id = id + '--button-end'\n }\n\n // cell + button params\n const paramsButton = {}\n if (nr === 0 ? day.isStartDate : day.isEndDate) {\n paramsButton['aria-current'] = 'date'\n paramsCell['aria-selected'] = true // aria-selected is not allowed on buttons\n }\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n this.buildClassNames(day)\n )}\n onFocus={this.onKeyDownHandler}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', { locale })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? '0' : '-1'} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n onClick={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n onSelect: (state) =>\n this.context.updateState(state, () =>\n this.callOnSelect({\n event,\n nr,\n hidePicker: !isRange,\n })\n ),\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({ day, hoverDate, onHover })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n }\n}\n\nconst PrevButton = ({\n nr,\n minDate,\n month,\n locale,\n context,\n prevBtn,\n onPrev,\n onKeyDown,\n}) => {\n if (!prevBtn) {\n return <></>\n }\n const disabled = minDate && isSameMonth(month, minDate)\n const onClick = () => onPrev && !disabled && onPrev({ nr })\n\n const {\n translation: {\n DatePicker: { prev_month },\n },\n } = context\n const title = prev_month.replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n return (\n <Button\n className={classnames('dnb-date-picker__prev', { disabled })}\n icon=\"chevron_left\"\n size=\"small\"\n aria-label={title}\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n )\n}\nPrevButton.propTypes = {\n nr: PropTypes.number.isRequired,\n minDate: PropTypes.instanceOf(Date),\n month: PropTypes.object.isRequired,\n locale: PropTypes.object.isRequired,\n context: PropTypes.object.isRequired,\n prevBtn: PropTypes.bool.isRequired,\n onPrev: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n}\nPrevButton.defaultProps = {\n minDate: null,\n onKeyDown: null,\n}\n\nconst NextButton = ({\n nr,\n maxDate,\n month,\n locale,\n context,\n nextBtn,\n onNext,\n onKeyDown,\n}) => {\n if (!nextBtn) {\n return <></>\n }\n const disabled = maxDate && isSameMonth(month, maxDate)\n const onClick = () => onNext && !disabled && onNext({ nr })\n\n const {\n translation: {\n DatePicker: { next_month },\n },\n } = context\n const title = next_month.replace(\n /%s/,\n format(addMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n return (\n nextBtn && (\n <Button\n className={classnames('dnb-date-picker__next', { disabled })}\n icon=\"chevron_right\"\n size=\"small\"\n aria-label={title}\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n )\n )\n}\nNextButton.propTypes = {\n nr: PropTypes.number.isRequired,\n maxDate: PropTypes.instanceOf(Date),\n month: PropTypes.object.isRequired,\n locale: PropTypes.object.isRequired,\n context: PropTypes.object.isRequired,\n nextBtn: PropTypes.bool.isRequired,\n onNext: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n}\nNextButton.defaultProps = {\n maxDate: null,\n onKeyDown: null,\n}\n\nconst onSelectRange = ({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n}) => {\n event.persist()\n if (!isRange) {\n // set only date\n onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n } else if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n } else {\n const hasEndDate = endDate\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n let range = toRange(startDate, day.date)\n if (hasEndDate && !resetDate && daysToStartDate < daysToEndDate) {\n range = toRange(endDate, day.date)\n }\n onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n }\n}\n\nconst onHoverDay = ({ day, hoverDate, onHover }) => {\n if (!isSameDay(day.date, hoverDate)) {\n onHover && onHover(day.date)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerCalendar.js","names":["React","PropTypes","classnames","format","subMonths","addMonths","addWeeks","addDays","isSameDay","isSameMonth","startOfDay","differenceInCalendarDays","differenceInMonths","lastDayOfMonth","setDate","keycode","nbLocale","isDisabled","makeDayObject","toRange","getWeek","dayOffset","getCalendar","Button","DatePickerContext","DatePickerCalendar","PureComponent","constructor","props","_defineProperty","context","updateState","hoverDate","event","_event$target","String","target","nodeName","toLowerCase","_listRef","current","focus","preventScroll","e","nr","isRange","onlyMonth","hideNav","onKeyDown","keyCode","preventDefault","persist","type","newDate","keyNavCalc","Date","callOnSelect","hidePicker","state","currentMonth","Math","abs","findValid","hasReachedEnd","endDate","startDate","changeMonthViews","date","minDate","maxDate","day","className","isStartDate","isEndDate","isPreview","isWithinSelection","isSelectable","isInactive","isToday","createRef","_labelRef","_days","_cache","componentDidMount","noAutofocus","args","onSelect","on_days_render","month","getDays","Array","isArray","foundDate","find","cur","nextDate","getCacheKey","firstDayOfWeek","hideNextMonthWeek","join","getMemorizedDays","key","count","Object","values","reduce","acc","i","push","days","map","changedDays","render","id","rtl","titleFormat","locale","dayOfWeekFormat","hideDays","onPrev","onNext","resetDate","onHover","prevBtn","nextBtn","translation","DatePicker","selected_month","weekDays","createElement","lang","code","PrevButton","title","replace","tabIndex","ref","NextButton","role","onKeyDownHandler","onMouseLeave","onMouseLeaveHandler","scope","week","handleAsDisabled","isLastMonth","isNextMonth","paramsCell","paramsButton","_extends","buildClassNames","onFocus","size","variant","text","bounding","disabled","onClick","undefined","_ref","onSelectRange","onMouseOver","onHoverDay","process","env","NODE_ENV","propTypes","string","number","instanceOf","bool","func","object","_ref2","Fragment","prev_month","icon","isRequired","defaultProps","_ref3","next_month","_ref4","hasEndDate","daysToStartDate","daysToEndDate","range","_ref5"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\nimport keycode from '../../shared/keycode'\nimport nbLocale from 'date-fns/locale/nb'\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerCalendar extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n nr: PropTypes.number,\n month: PropTypes.instanceOf(Date), // What month will be displayed in the first calendar. Default: new Date()\n prevBtn: PropTypes.bool,\n nextBtn: PropTypes.bool,\n titleFormat: PropTypes.string,\n dayOfWeekFormat: PropTypes.string,\n firstDayOfWeek: PropTypes.string,\n hideNav: PropTypes.bool,\n hideDays: PropTypes.bool,\n onlyMonth: PropTypes.bool,\n hideNextMonthWeek: PropTypes.bool,\n noAutofocus: PropTypes.bool,\n\n onHover: PropTypes.func,\n onSelect: PropTypes.func,\n onPrev: PropTypes.func,\n onNext: PropTypes.func,\n\n locale: PropTypes.object,\n rtl: PropTypes.bool,\n\n isRange: PropTypes.bool,\n resetDate: PropTypes.bool,\n onKeyDown: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n nr: null,\n month: null,\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutofocus: false,\n\n // locale\n locale: nbLocale,\n rtl: false,\n\n // events\n onHover: null,\n onSelect: null,\n onPrev: null,\n onNext: null,\n\n // dates\n isRange: null,\n resetDate: true, // reset start/end date once we already have them\n\n // Limit selection with minDate and maxDate\n // maxDate: null, // addDays(new Date(), 45)\n onKeyDown: null,\n }\n\n constructor(props) {\n super(props)\n this._listRef = React.createRef()\n this._labelRef = React.createRef()\n this._days = {}\n this._cache = {}\n }\n\n componentDidMount() {\n if (!this.props.noAutofocus && this.props.nr === 0) {\n if (this._listRef.current) {\n this._listRef.current.focus({ preventScroll: true })\n }\n }\n }\n\n onMouseLeaveHandler = () => {\n this.context.updateState({\n hoverDate: null,\n })\n }\n\n onKeyDownHandler = (event) => {\n if (String(event?.target?.nodeName).toLowerCase() === 'td') {\n try {\n this._listRef.current.focus({ preventScroll: true })\n } catch (e) {\n //\n }\n }\n\n const { nr, isRange, onlyMonth, hideNav, onKeyDown } = this.props\n\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, this._listRef, nr)\n }\n\n const keyCode = keycode(event)\n\n // only continue of key is one of these\n switch (keyCode) {\n case 'enter':\n case 'space':\n case 'left':\n case 'right':\n case 'up':\n case 'down':\n event.preventDefault()\n event.persist() // since we use the event after setState\n break\n default:\n return\n }\n\n let type = nr === 0 ? 'start' : 'end'\n if (!isRange) {\n type = 'start'\n }\n let newDate = this.context[`${type}Date`]\n\n if (newDate) {\n newDate = this.keyNavCalc(newDate, keyCode)\n } else {\n // use the date picker month, if provided\n newDate =\n this.context[`${type}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n }\n\n if (newDate === this.context[`${type}Date`]) {\n switch (keyCode) {\n case 'enter':\n case 'space':\n this.callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n break\n }\n } else {\n // const state = {...this.context}\n const state = {}\n\n const currentMonth = this.context[`${type}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !this.context[`${type}Date`]) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n if (!isRange) {\n newDate = currentMonth\n } else {\n newDate =\n nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n }\n // only to make sure we navigate the calendar to the new date\n } else if (\n currentMonth &&\n !isSameMonth(this.context[`${type}Date`], currentMonth)\n ) {\n state[`${type}Month`] = newDate\n }\n\n newDate = this.findValid(newDate, keyCode)\n\n if (this.hasReachedEnd(newDate)) {\n return\n }\n\n state[`${type}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n state.endDate = newDate\n } else {\n if (!this.context.startDate) {\n state.startDate = newDate\n }\n if (!this.context.endDate) {\n state.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(state.startDate, this.context.startDate) ||\n !isSameMonth(state.endDate, this.context.startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n state.changeMonthViews = true\n\n this.context.updateState(state, () => {\n // call after state update, so the input get's the latest state as well\n this.callOnSelect({\n event,\n nr,\n hidePicker: false,\n })\n\n // and set the focus back again\n if (this._listRef && this._listRef.current) {\n this._listRef.current.focus({ preventScroll: true })\n }\n })\n }\n }\n\n callOnSelect(args) {\n this.props.onSelect && this.props.onSelect(args)\n }\n\n keyNavCalc(date, keyCode) {\n // only to process key up and down press\n switch (keyCode) {\n case 'left':\n date = addDays(date, -1)\n break\n case 'right':\n date = addDays(date, 1)\n break\n case 'up':\n date = addWeeks(date, -1)\n break\n case 'down':\n date = addWeeks(date, 1)\n break\n }\n\n return date\n }\n\n findValid(date, keyCode) {\n if (this.context.props.on_days_render) {\n const month = format(date, 'yyyy-MM')\n\n if (!this._days) {\n return date\n }\n\n if (!this._days[month]) {\n // re-render with new month\n this.getDays(date)\n }\n\n if (Array.isArray(this._days[month])) {\n const foundDate = this._days[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate &&\n foundDate.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = this.keyNavCalc(foundDate.date, keyCode)\n foundDate.date = this.findValid(nextDate, keyCode)\n }\n\n if (foundDate && foundDate.date) {\n return foundDate.date\n }\n }\n }\n\n return date\n }\n\n hasReachedEnd = (date) =>\n isDisabled(date, this.context.minDate, this.context.maxDate)\n\n buildClassNames = (day) =>\n classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n\n getCacheKey() {\n const { nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek } =\n this.props\n\n const { startDate, endDate, hoverDate, maxDate, minDate } =\n this.context\n\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }\n\n getMemorizedDays(month) {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n const key = this.getCacheKey()\n\n if (this._cache[key]) {\n return this._cache[key]\n } else {\n let count = 0\n return (this._cache[key] = Object.values(\n this.getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }\n }\n\n getDays(month) {\n const { nr, firstDayOfWeek, onlyMonth, hideNextMonthWeek } = this.props\n\n const { startDate, endDate, hoverDate, maxDate, minDate } =\n this.context\n\n let days = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (this.context.props.on_days_render) {\n const changedDays = this.context.props.on_days_render(days, nr)\n if (Array.isArray(changedDays)) {\n days = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n this._days[format(month, 'yyyy-MM')] = days\n\n return days\n }\n\n render() {\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n locale,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n hideDays,\n onPrev,\n onNext,\n resetDate,\n onHover,\n prevBtn,\n nextBtn,\n } = this.props\n\n const {\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n translation: {\n DatePicker: { selected_month },\n },\n } = this.context\n\n const weekDays = this.getMemorizedDays(month)\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={locale?.code}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <PrevButton\n nr={nr}\n minDate={minDate}\n month={month}\n locale={locale}\n context={this.context}\n prevBtn={prevBtn}\n onPrev={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selected_month.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex=\"-1\"\n ref={this._labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <NextButton\n nr={nr}\n maxDate={maxDate}\n month={month}\n locale={locale}\n context={this.context}\n nextBtn={nextBtn}\n onNext={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex=\"0\"\n aria-labelledby={`${id}--title`}\n onKeyDown={this.onKeyDownHandler}\n onMouseLeave={this.onMouseLeaveHandler}\n ref={this._listRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n // cell params\n const paramsCell = {}\n paramsCell.tabIndex = '-1'\n if (day.isStartDate) {\n paramsCell.id = id + '--button-start'\n } else if (day.isEndDate) {\n paramsCell.id = id + '--button-end'\n }\n\n // cell + button params\n const paramsButton = {}\n if (nr === 0 ? day.isStartDate : day.isEndDate) {\n paramsButton['aria-current'] = 'date'\n paramsCell['aria-selected'] = true // aria-selected is not allowed on buttons\n }\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n this.buildClassNames(day)\n )}\n onFocus={this.onKeyDownHandler}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', { locale })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? '0' : '-1'} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n onClick={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n onSelect: (state) =>\n this.context.updateState(state, () =>\n this.callOnSelect({\n event,\n nr,\n hidePicker: !isRange,\n })\n ),\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({ day, hoverDate, onHover })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n }\n}\n\nconst PrevButton = ({\n nr,\n minDate,\n month,\n locale,\n context,\n prevBtn,\n onPrev,\n onKeyDown,\n}) => {\n if (!prevBtn) {\n return <></>\n }\n const disabled = minDate && isSameMonth(month, minDate)\n const onClick = () => onPrev && !disabled && onPrev({ nr })\n\n const {\n translation: {\n DatePicker: { prev_month },\n },\n } = context\n const title = prev_month.replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n return (\n <Button\n className={classnames('dnb-date-picker__prev', { disabled })}\n icon=\"chevron_left\"\n size=\"small\"\n aria-label={title}\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n )\n}\nPrevButton.propTypes = {\n nr: PropTypes.number.isRequired,\n minDate: PropTypes.instanceOf(Date),\n month: PropTypes.object.isRequired,\n locale: PropTypes.object.isRequired,\n context: PropTypes.object.isRequired,\n prevBtn: PropTypes.bool.isRequired,\n onPrev: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n}\nPrevButton.defaultProps = {\n minDate: null,\n onKeyDown: null,\n}\n\nconst NextButton = ({\n nr,\n maxDate,\n month,\n locale,\n context,\n nextBtn,\n onNext,\n onKeyDown,\n}) => {\n if (!nextBtn) {\n return <></>\n }\n const disabled = maxDate && isSameMonth(month, maxDate)\n const onClick = () => onNext && !disabled && onNext({ nr })\n\n const {\n translation: {\n DatePicker: { next_month },\n },\n } = context\n const title = next_month.replace(\n /%s/,\n format(addMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n return (\n nextBtn && (\n <Button\n className={classnames('dnb-date-picker__next', { disabled })}\n icon=\"chevron_right\"\n size=\"small\"\n aria-label={title}\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n )\n )\n}\nNextButton.propTypes = {\n nr: PropTypes.number.isRequired,\n maxDate: PropTypes.instanceOf(Date),\n month: PropTypes.object.isRequired,\n locale: PropTypes.object.isRequired,\n context: PropTypes.object.isRequired,\n nextBtn: PropTypes.bool.isRequired,\n onNext: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n}\nNextButton.defaultProps = {\n maxDate: null,\n onKeyDown: null,\n}\n\nconst onSelectRange = ({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n}) => {\n event.persist()\n if (!isRange) {\n // set only date\n onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n } else if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n } else {\n const hasEndDate = endDate\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n let range = toRange(startDate, day.date)\n if (hasEndDate && !resetDate && daysToStartDate < daysToEndDate) {\n range = toRange(endDate, day.date)\n }\n onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n }\n}\n\nconst onHoverDay = ({ day, hoverDate, onHover }) => {\n if (!isSameDay(day.date, hoverDate)) {\n onHover && onHover(day.date)\n }\n}\n"],"mappings":"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"}
@@ -17,8 +17,7 @@ import classnames from 'classnames';
17
17
  import TextMask from '../input-masked/TextMask';
18
18
  import Button from '../button/Button';
19
19
  import Input, { SubmitButton } from '../input/Input';
20
- import keycode from 'keycode';
21
- import { warn, validateDOMAttributes, dispatchCustomElementEvent } from '../../shared/component-helper';
20
+ import { warn, validateDOMAttributes, dispatchCustomElementEvent, keycode } from '../../shared/component-helper';
22
21
  import { convertStringToDate } from './DatePickerCalc';
23
22
  import DatePickerContext from './DatePickerContext';
24
23
  export default class DatePickerInput extends React.PureComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerInput.js","names":["React","PropTypes","addDays","addMonths","addYears","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","keycode","warn","validateDOMAttributes","dispatchCustomElementEvent","convertStringToDate","DatePickerContext","DatePickerInput","PureComponent","constructor","props","_defineProperty","_listenForPropChanges","focusState","partialStartDate","partialEndDate","e","focusMode","success","clipboardData","window","getData","preventDefault","separators","possibleFormats","forEach","date","sep","push","replace","split","reverse","join","i","l","length","date_format","mode","state","context","setState","updateState","hoverDate","hasHadValidDate","startDate","endDate","event","_objectSpread","callOnChangeHandler","_ref","changeMonthViews","isRange","_ref2","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","_ref3","keyCode","target","isDate","getAttribute","match","isInRange","count","callOnChange","wait","selectAll","focus","setSelectionRange","onFocus","onBlur","selectionStart","selectionEnd","selectStart","persist","prepareCounting","size","parseFloat","firstSelectionStart","secondSelectionStart","test","index","refList","findIndex","_ref4","current","nextSibling","prevSibling","endPos","value","setDate","type","fallback","year","getFullYear","month","getMonth","day","getDate","Date","isValidDate","callOnChangeAsInvalid","callOnType","params","id","startDateList","generateDateList","endDateList","createElement","className","_span","maskOrder","separatorRexExp","maskList","cur","shift","_startDayRef","createRef","_startMonthRef","_startYearRef","_endDayRef","_endMonthRef","_endYearRef","componentWillUnmount","_shortcuts","remove","osShortcut","getPlaceholderChar","indexOf","maskPlaceholder","map","slice","placeholderChar","input_element","translation","DatePicker","isRangeLabel","onKeyDown","onKeyDownHandler","onPaste","shortcutHandler","onFocusHandler","onBlurHandler","DateField","isValidElement","InputElement","inputSizeClassName","Fragment","key","_extends","mask","inputRef","onChange","hidden","htmlFor","formatDate","open_picker_text","selectedDateTitle","render","_this$props","title","submitAttributes","onSubmit","showInput","locale","disabled","skeleton","opened","status","status_state","status_props","attributes","_objectWithoutProperties","_excluded","UsedButton","innerRef","ref","lang","code","label","input_state","renderInputElement","submit_element","icon","variant","on_submit","on_click","process","env","NODE_ENV","propTypes","string","instanceOf","RegExp","object","bool","oneOf","oneOfType","func","node","select","_ref5","_excluded2","guide","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","t","Promise","r","setTimeout"],"sources":["../../../../src/components/date-picker/DatePickerInput.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n// date-fns\nimport addDays from 'date-fns/addDays'\nimport addMonths from 'date-fns/addMonths'\nimport addYears from 'date-fns/addYears'\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport keycode from 'keycode'\nimport {\n warn,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerInput extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n selectedDateTitle: PropTypes.string,\n maskOrder: PropTypes.string,\n maskPlaceholder: PropTypes.string,\n separatorRexExp: PropTypes.instanceOf(RegExp),\n submitAttributes: PropTypes.object,\n isRange: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n locale: PropTypes.object,\n disabled: PropTypes.bool,\n skeleton: PropTypes.bool,\n opened: PropTypes.bool,\n showInput: PropTypes.bool,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n selectedDateTitle: null,\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRexExp: /[-/ ]/g,\n submitAttributes: null,\n isRange: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n input_element: null,\n disabled: null,\n locale: null,\n skeleton: null,\n opened: false,\n showInput: null,\n onChange: null,\n onSubmit: null,\n onFocus: null,\n onBlur: null,\n }\n\n state = {\n _listenForPropChanges: true,\n focusState: 'virgin',\n partialStartDate: '',\n partialEndDate: '',\n }\n\n constructor(props) {\n super(props)\n\n const separators = props.maskOrder.match(props.separatorRexExp)\n this.maskList = props.maskOrder\n .split(props.separatorRexExp)\n .reduce((acc, cur) => {\n if (cur) {\n acc.push(cur)\n if (separators.length > 0) {\n acc.push(separators.shift())\n }\n }\n return acc\n }, [])\n\n this._startDayRef = React.createRef()\n this._startMonthRef = React.createRef()\n this._startYearRef = React.createRef()\n this._endDayRef = React.createRef()\n this._endMonthRef = React.createRef()\n this._endYearRef = React.createRef()\n }\n\n componentWillUnmount() {\n if (this._shortcuts) {\n this._shortcuts.remove(this.osShortcut)\n }\n }\n\n shortcutHandler = async (e) => {\n if (this.focusMode) {\n const success = (\n e.clipboardData ||\n (typeof window !== 'undefined' && window.clipboardData)\n ).getData('text')\n if (success) {\n e.preventDefault()\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date\n for (let i = 0, l = possibleFormats.length; i < l; ++i) {\n date = convertStringToDate(success, {\n date_format: possibleFormats[i],\n })\n if (date) {\n break\n }\n }\n const mode = this.focusMode === 'start' ? 'startDate' : 'endDate'\n if (date && !this.state[mode]) {\n this.context.setState({\n [mode]: date,\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n callOnChangeAsInvalid = (state) => {\n this.context.updateState(\n {\n hoverDate: null,\n },\n () => {\n if (this.context.hasHadValidDate) {\n const { startDate, endDate, event } = {\n ...this.context,\n ...state,\n }\n this.context.callOnChangeHandler({ startDate, endDate, event })\n }\n }\n )\n }\n\n callOnChange = ({ startDate, endDate, event }) => {\n const state = { changeMonthViews: true }\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state.startDate = startDate\n }\n if (!this.props.isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state.endDate = endDate\n }\n\n this.context.updateState(state, () => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n this.context.callOnChangeHandler({ event })\n }\n })\n }\n\n callOnType = ({ event }) => {\n const getDates = () =>\n ['start', 'end'].reduce((acc, mode) => {\n acc[`${mode}Date`] = [\n this[`_${mode}Year`] || this.context[`__${mode}Year`] || 'yyyy',\n this[`_${mode}Month`] || this.context[`__${mode}Month`] || 'mm',\n this[`_${mode}Day`] || this.context[`__${mode}Day`] || 'dd',\n ].join('-')\n return acc\n }, {})\n\n // Get the typed dates, so we can ...\n let { 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 const partialStartDate = startDate\n const partialEndDate = endDate\n this.setState({\n partialStartDate,\n partialEndDate,\n })\n startDate = parseISO(startDate)\n endDate = parseISO(endDate)\n\n // ... check if they were valid\n if (!isValid(startDate)) {\n startDate = null\n }\n if (!isValid(endDate)) {\n endDate = null\n }\n\n let returnObject = this.context.getReturnObject({\n startDate,\n endDate,\n event,\n partialStartDate,\n partialEndDate,\n })\n\n // Now, lets correct\n if (\n returnObject.is_valid === false ||\n returnObject.is_valid_start_date === false ||\n returnObject.is_valid_end_date === false\n ) {\n const { startDate, endDate } = getDates()\n\n const typedDates = this.props.isRange\n ? {\n start_date: startDate,\n end_date: endDate,\n }\n : { date: startDate }\n\n returnObject = {\n ...returnObject,\n ...typedDates,\n }\n }\n\n dispatchCustomElementEvent(this.context, 'on_type', returnObject)\n }\n\n prepareCounting = async ({ keyCode, target, event }) => {\n try {\n const isDate = target\n .getAttribute('class')\n .match(/__input--([day|month|year]+)($|\\s)/)[1]\n\n const isInRange = target\n .getAttribute('id')\n .match(/-([start|end]+)-/)[1]\n\n let date =\n isInRange === 'start'\n ? this.context.startDate\n : this.context.endDate\n\n // do nothing if date is not set yet\n if (!date) {\n return\n }\n\n const count = keyCode === 'up' ? 1 : -1\n\n if (keyCode === 'up' || keyCode === 'down') {\n switch (isDate) {\n case 'day':\n date = addDays(date, count)\n break\n case 'month':\n date = addMonths(date, count)\n break\n case 'year':\n date = addYears(date, count)\n break\n }\n }\n\n this.callOnChange({\n [isInRange === 'start' ? 'startDate' : 'endDate']: date,\n event,\n })\n\n await wait(1) // to get the correct position afterwards\n\n selectAll(target)\n } catch (e) {\n warn(e)\n }\n }\n\n selectStart = (target) => {\n target.focus()\n target.setSelectionRange(0, 0)\n }\n\n onFocusHandler = (event) => {\n try {\n selectAll(event.target)\n } catch (e) {\n warn(e)\n }\n\n this.setState({\n focusState: 'focus',\n _listenForPropChanges: false,\n })\n\n if (this.props.onFocus) {\n this.props.onFocus({\n ...event,\n ...this.context.getReturnObject({ event }),\n })\n }\n }\n\n onBlurHandler = (event) => {\n const { partialStartDate, partialEndDate } = this.state\n this.focusMode = null\n this.setState({\n focusState: 'blur',\n _listenForPropChanges: false,\n })\n\n if (this.props.onBlur) {\n this.props.onBlur({\n ...event,\n ...this.context.getReturnObject({\n event,\n partialStartDate,\n partialEndDate,\n }),\n })\n }\n }\n\n onKeyDownHandler = async (event) => {\n const keyCode = keycode(event)\n const target = event.target\n\n if (target.selectionStart !== target.selectionEnd) {\n this.selectStart(target)\n }\n\n // only to process key up and down press\n switch (keyCode) {\n case 'up':\n case 'down':\n event.persist()\n event.preventDefault()\n this.prepareCounting({ event, keyCode, target })\n return false\n case 'tab':\n // case 'backspace': // We need backspace down here\n return false\n }\n\n // the rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n\n await wait(1) // to get the correct position afterwards\n\n const secondSelectionStart = target.selectionStart\n const isValid = /[0-9]/.test(keyCode)\n const index = this.refList.findIndex(\n ({ current }) => current === target\n )\n\n if (\n index < this.refList.length - 1 &&\n ((secondSelectionStart === size &&\n isValid &&\n keyCode !== 'left' &&\n keyCode !== 'backspace') ||\n (firstSelectionStart === size && keyCode === 'right'))\n ) {\n try {\n // stop in case there is no next input element\n if (!this.refList[index + 1].current) {\n return\n }\n const nextSibling = this.refList[index + 1].current\n if (nextSibling) {\n nextSibling.focus()\n nextSibling.setSelectionRange(0, 0)\n }\n } catch (e) {\n warn(e)\n }\n } else if (firstSelectionStart === 0 && index > 0) {\n switch (keyCode) {\n case 'left':\n case 'backspace':\n try {\n const prevSibling = this.refList[index - 1].current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n prevSibling.focus()\n prevSibling.setSelectionRange(endPos, endPos)\n }\n } catch (e) {\n warn(e)\n }\n break\n }\n }\n }\n\n set_startDay = (event) => {\n this.setDate(event, 'start', 'Day')\n }\n\n set_startMonth = (event) => {\n this.setDate(event, 'start', 'Month')\n }\n\n set_startYear = (event) => {\n this.setDate(event, 'start', 'Year')\n }\n\n set_endDay = (event) => {\n this.setDate(event, 'end', 'Day')\n }\n\n set_endMonth = (event) => {\n this.setDate(event, 'end', 'Month')\n }\n\n set_endYear = (event) => {\n this.setDate(event, 'end', 'Year')\n }\n\n setDate = (event, mode, type) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = event.target.value\n\n this[`_${mode}${type}`] = value\n\n if (this.context[`${mode}Date`]) {\n this[`tmp_${mode}Date`] = this.context[`${mode}Date`]\n }\n\n const fallback = this[`tmp_${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n this[`_${mode}Year`] || (fallback && fallback.getFullYear())\n const month =\n this[`_${mode}Month`] || (fallback && fallback.getMonth() + 1)\n const day = this[`_${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(year),\n parseFloat(month) - 1,\n parseFloat(day)\n )\n\n const isValidDate =\n !/[^0-9]/.test(day) &&\n !/[^0-9]/.test(month) &&\n !/[^0-9]/.test(year) &&\n isValid(date) &&\n date.getDate() == parseFloat(day) &&\n date.getMonth() + 1 == parseFloat(month) &&\n date.getFullYear() == parseFloat(year)\n\n // update the date\n if (isValidDate) {\n this.callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n this.context.updateState({ [`${mode}Date`]: null })\n this.context.updateState({ [`__${mode}${type}`]: value })\n\n this.callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n this.callOnType({\n event,\n })\n }\n\n renderInputElement = (params) => {\n const { id, isRange } = this.props\n this.refList = []\n const startDateList = this.generateDateList(params, 'start')\n const endDateList = this.generateDateList(params, 'end')\n return (\n <span id={`${id}-input`} className=\"dnb-date-picker__input__wrapper\">\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\n getPlaceholderChar(value) {\n const index = this.props.maskOrder.indexOf(value)\n return this.props.maskPlaceholder[index]\n }\n\n generateDateList(params, mode) {\n return this.maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = this.getPlaceholderChar(value)\n const { input_element, separatorRexExp, isRange, size } = this.props\n const { day, month, year } = this.context.translation.DatePicker\n const isRangeLabel = isRange\n ? `${this.context.translation.DatePicker[mode]} `\n : ''\n\n if (!separatorRexExp.test(value)) {\n if (!input_element) {\n params = {\n ...params,\n onKeyDown: this.onKeyDownHandler,\n onPaste: this.shortcutHandler,\n onFocus: (e) => {\n this.focusMode = mode\n this.onFocusHandler(e)\n },\n onBlur: this.onBlurHandler,\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n input_element && React.isValidElement(input_element)\n ? input_element\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n this.refList.push(this[`_${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-3]/, /[0-9]/]}\n inputRef={this[`_${mode}DayRef`]}\n onChange={this[`set_${mode}Day`]}\n value={this.context[`__${mode}Day`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${this.props.id}-${mode}-day-label`}\n htmlFor={`${this.props.id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n this.refList.push(this[`_${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-1]/, /[0-9]/]}\n inputRef={this[`_${mode}MonthRef`]}\n onChange={this[`set_${mode}Month`]}\n value={this.context[`__${mode}Month`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${this.props.id}-${mode}-month-label`}\n htmlFor={`${this.props.id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n this.refList.push(this[`_${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size=\"4\"\n mask={[/[1-2]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={this[`_${mode}YearRef`]}\n onChange={this[`set_${mode}Year`]}\n value={this.context[`__${mode}Year`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${this.props.id}-${mode}-year-label`}\n htmlFor={`${this.props.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 formatDate() {\n const { open_picker_text } = this.context.translation.DatePicker\n\n const { selectedDateTitle } = this.props\n\n return selectedDateTitle\n ? `${selectedDateTitle}, ${open_picker_text}`\n : open_picker_text\n }\n\n render() {\n const {\n id,\n title,\n\n submitAttributes,\n isRange, // eslint-disable-line\n maskOrder, // eslint-disable-line\n maskPlaceholder, // eslint-disable-line\n separatorRexExp, // eslint-disable-line\n onChange, // eslint-disable-line\n onFocus, // eslint-disable-line\n onSubmit, // eslint-disable-line\n onBlur, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n input_element,\n locale,\n disabled,\n skeleton,\n opened,\n size,\n status,\n status_state,\n status_props,\n\n ...attributes\n } = this.props\n\n const { focusState } = this.state\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const UsedButton = showInput ? SubmitButton : Button\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={locale?.code}>\n {this.context.props.label && (\n <legend className=\"dnb-sr-only\">\n {this.context.props.label}\n </legend>\n )}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n input_element && typeof input_element !== 'string'\n ? typeof input_element === 'function'\n ? input_element(this.props)\n : input_element\n : this.renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={status_state}\n {...status_props}\n submit_element={\n <UsedButton\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={this.formatDate()}\n title={title}\n size={size}\n status={status}\n status_state={status_state}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...status_props}\n />\n }\n lang={locale?.code}\n {...attributes}\n />\n </fieldset>\n )\n }\n}\n\nconst selectAll = (target) => {\n target.focus()\n target.select()\n}\n\nconst InputElement = ({ className, value, ...props }) => {\n return (\n <TextMask\n guide={true}\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(value) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nconst wait = (t) => new Promise((r) => setTimeout(r, t))\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerInput.js","names":["React","PropTypes","addDays","addMonths","addYears","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","warn","validateDOMAttributes","dispatchCustomElementEvent","keycode","convertStringToDate","DatePickerContext","DatePickerInput","PureComponent","constructor","props","_defineProperty","_listenForPropChanges","focusState","partialStartDate","partialEndDate","e","focusMode","success","clipboardData","window","getData","preventDefault","separators","possibleFormats","forEach","date","sep","push","replace","split","reverse","join","i","l","length","date_format","mode","state","context","setState","updateState","hoverDate","hasHadValidDate","startDate","endDate","event","_objectSpread","callOnChangeHandler","_ref","changeMonthViews","isRange","_ref2","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","_ref3","keyCode","target","isDate","getAttribute","match","isInRange","count","callOnChange","wait","selectAll","focus","setSelectionRange","onFocus","onBlur","selectionStart","selectionEnd","selectStart","persist","prepareCounting","size","parseFloat","firstSelectionStart","secondSelectionStart","test","index","refList","findIndex","_ref4","current","nextSibling","prevSibling","endPos","value","setDate","type","fallback","year","getFullYear","month","getMonth","day","getDate","Date","isValidDate","callOnChangeAsInvalid","callOnType","params","id","startDateList","generateDateList","endDateList","createElement","className","_span","maskOrder","separatorRexExp","maskList","cur","shift","_startDayRef","createRef","_startMonthRef","_startYearRef","_endDayRef","_endMonthRef","_endYearRef","componentWillUnmount","_shortcuts","remove","osShortcut","getPlaceholderChar","indexOf","maskPlaceholder","map","slice","placeholderChar","input_element","translation","DatePicker","isRangeLabel","onKeyDown","onKeyDownHandler","onPaste","shortcutHandler","onFocusHandler","onBlurHandler","DateField","isValidElement","InputElement","inputSizeClassName","Fragment","key","_extends","mask","inputRef","onChange","hidden","htmlFor","formatDate","open_picker_text","selectedDateTitle","render","_this$props","title","submitAttributes","onSubmit","showInput","locale","disabled","skeleton","opened","status","status_state","status_props","attributes","_objectWithoutProperties","_excluded","UsedButton","innerRef","ref","lang","code","label","input_state","renderInputElement","submit_element","icon","variant","on_submit","on_click","process","env","NODE_ENV","propTypes","string","instanceOf","RegExp","object","bool","oneOf","oneOfType","func","node","select","_ref5","_excluded2","guide","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","t","Promise","r","setTimeout"],"sources":["../../../../src/components/date-picker/DatePickerInput.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n// date-fns\nimport addDays from 'date-fns/addDays'\nimport addMonths from 'date-fns/addMonths'\nimport addYears from 'date-fns/addYears'\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport {\n warn,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerInput extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n selectedDateTitle: PropTypes.string,\n maskOrder: PropTypes.string,\n maskPlaceholder: PropTypes.string,\n separatorRexExp: PropTypes.instanceOf(RegExp),\n submitAttributes: PropTypes.object,\n isRange: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n locale: PropTypes.object,\n disabled: PropTypes.bool,\n skeleton: PropTypes.bool,\n opened: PropTypes.bool,\n showInput: PropTypes.bool,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n selectedDateTitle: null,\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRexExp: /[-/ ]/g,\n submitAttributes: null,\n isRange: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n input_element: null,\n disabled: null,\n locale: null,\n skeleton: null,\n opened: false,\n showInput: null,\n onChange: null,\n onSubmit: null,\n onFocus: null,\n onBlur: null,\n }\n\n state = {\n _listenForPropChanges: true,\n focusState: 'virgin',\n partialStartDate: '',\n partialEndDate: '',\n }\n\n constructor(props) {\n super(props)\n\n const separators = props.maskOrder.match(props.separatorRexExp)\n this.maskList = props.maskOrder\n .split(props.separatorRexExp)\n .reduce((acc, cur) => {\n if (cur) {\n acc.push(cur)\n if (separators.length > 0) {\n acc.push(separators.shift())\n }\n }\n return acc\n }, [])\n\n this._startDayRef = React.createRef()\n this._startMonthRef = React.createRef()\n this._startYearRef = React.createRef()\n this._endDayRef = React.createRef()\n this._endMonthRef = React.createRef()\n this._endYearRef = React.createRef()\n }\n\n componentWillUnmount() {\n if (this._shortcuts) {\n this._shortcuts.remove(this.osShortcut)\n }\n }\n\n shortcutHandler = async (e) => {\n if (this.focusMode) {\n const success = (\n e.clipboardData ||\n (typeof window !== 'undefined' && window.clipboardData)\n ).getData('text')\n if (success) {\n e.preventDefault()\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date\n for (let i = 0, l = possibleFormats.length; i < l; ++i) {\n date = convertStringToDate(success, {\n date_format: possibleFormats[i],\n })\n if (date) {\n break\n }\n }\n const mode = this.focusMode === 'start' ? 'startDate' : 'endDate'\n if (date && !this.state[mode]) {\n this.context.setState({\n [mode]: date,\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n callOnChangeAsInvalid = (state) => {\n this.context.updateState(\n {\n hoverDate: null,\n },\n () => {\n if (this.context.hasHadValidDate) {\n const { startDate, endDate, event } = {\n ...this.context,\n ...state,\n }\n this.context.callOnChangeHandler({ startDate, endDate, event })\n }\n }\n )\n }\n\n callOnChange = ({ startDate, endDate, event }) => {\n const state = { changeMonthViews: true }\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state.startDate = startDate\n }\n if (!this.props.isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state.endDate = endDate\n }\n\n this.context.updateState(state, () => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n this.context.callOnChangeHandler({ event })\n }\n })\n }\n\n callOnType = ({ event }) => {\n const getDates = () =>\n ['start', 'end'].reduce((acc, mode) => {\n acc[`${mode}Date`] = [\n this[`_${mode}Year`] || this.context[`__${mode}Year`] || 'yyyy',\n this[`_${mode}Month`] || this.context[`__${mode}Month`] || 'mm',\n this[`_${mode}Day`] || this.context[`__${mode}Day`] || 'dd',\n ].join('-')\n return acc\n }, {})\n\n // Get the typed dates, so we can ...\n let { 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 const partialStartDate = startDate\n const partialEndDate = endDate\n this.setState({\n partialStartDate,\n partialEndDate,\n })\n startDate = parseISO(startDate)\n endDate = parseISO(endDate)\n\n // ... check if they were valid\n if (!isValid(startDate)) {\n startDate = null\n }\n if (!isValid(endDate)) {\n endDate = null\n }\n\n let returnObject = this.context.getReturnObject({\n startDate,\n endDate,\n event,\n partialStartDate,\n partialEndDate,\n })\n\n // Now, lets correct\n if (\n returnObject.is_valid === false ||\n returnObject.is_valid_start_date === false ||\n returnObject.is_valid_end_date === false\n ) {\n const { startDate, endDate } = getDates()\n\n const typedDates = this.props.isRange\n ? {\n start_date: startDate,\n end_date: endDate,\n }\n : { date: startDate }\n\n returnObject = {\n ...returnObject,\n ...typedDates,\n }\n }\n\n dispatchCustomElementEvent(this.context, 'on_type', returnObject)\n }\n\n prepareCounting = async ({ keyCode, target, event }) => {\n try {\n const isDate = target\n .getAttribute('class')\n .match(/__input--([day|month|year]+)($|\\s)/)[1]\n\n const isInRange = target\n .getAttribute('id')\n .match(/-([start|end]+)-/)[1]\n\n let date =\n isInRange === 'start'\n ? this.context.startDate\n : this.context.endDate\n\n // do nothing if date is not set yet\n if (!date) {\n return\n }\n\n const count = keyCode === 'up' ? 1 : -1\n\n if (keyCode === 'up' || keyCode === 'down') {\n switch (isDate) {\n case 'day':\n date = addDays(date, count)\n break\n case 'month':\n date = addMonths(date, count)\n break\n case 'year':\n date = addYears(date, count)\n break\n }\n }\n\n this.callOnChange({\n [isInRange === 'start' ? 'startDate' : 'endDate']: date,\n event,\n })\n\n await wait(1) // to get the correct position afterwards\n\n selectAll(target)\n } catch (e) {\n warn(e)\n }\n }\n\n selectStart = (target) => {\n target.focus()\n target.setSelectionRange(0, 0)\n }\n\n onFocusHandler = (event) => {\n try {\n selectAll(event.target)\n } catch (e) {\n warn(e)\n }\n\n this.setState({\n focusState: 'focus',\n _listenForPropChanges: false,\n })\n\n if (this.props.onFocus) {\n this.props.onFocus({\n ...event,\n ...this.context.getReturnObject({ event }),\n })\n }\n }\n\n onBlurHandler = (event) => {\n const { partialStartDate, partialEndDate } = this.state\n this.focusMode = null\n this.setState({\n focusState: 'blur',\n _listenForPropChanges: false,\n })\n\n if (this.props.onBlur) {\n this.props.onBlur({\n ...event,\n ...this.context.getReturnObject({\n event,\n partialStartDate,\n partialEndDate,\n }),\n })\n }\n }\n\n onKeyDownHandler = async (event) => {\n const keyCode = keycode(event)\n const target = event.target\n\n if (target.selectionStart !== target.selectionEnd) {\n this.selectStart(target)\n }\n\n // only to process key up and down press\n switch (keyCode) {\n case 'up':\n case 'down':\n event.persist()\n event.preventDefault()\n this.prepareCounting({ event, keyCode, target })\n return false\n case 'tab':\n // case 'backspace': // We need backspace down here\n return false\n }\n\n // the rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n\n await wait(1) // to get the correct position afterwards\n\n const secondSelectionStart = target.selectionStart\n const isValid = /[0-9]/.test(keyCode)\n const index = this.refList.findIndex(\n ({ current }) => current === target\n )\n\n if (\n index < this.refList.length - 1 &&\n ((secondSelectionStart === size &&\n isValid &&\n keyCode !== 'left' &&\n keyCode !== 'backspace') ||\n (firstSelectionStart === size && keyCode === 'right'))\n ) {\n try {\n // stop in case there is no next input element\n if (!this.refList[index + 1].current) {\n return\n }\n const nextSibling = this.refList[index + 1].current\n if (nextSibling) {\n nextSibling.focus()\n nextSibling.setSelectionRange(0, 0)\n }\n } catch (e) {\n warn(e)\n }\n } else if (firstSelectionStart === 0 && index > 0) {\n switch (keyCode) {\n case 'left':\n case 'backspace':\n try {\n const prevSibling = this.refList[index - 1].current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n prevSibling.focus()\n prevSibling.setSelectionRange(endPos, endPos)\n }\n } catch (e) {\n warn(e)\n }\n break\n }\n }\n }\n\n set_startDay = (event) => {\n this.setDate(event, 'start', 'Day')\n }\n\n set_startMonth = (event) => {\n this.setDate(event, 'start', 'Month')\n }\n\n set_startYear = (event) => {\n this.setDate(event, 'start', 'Year')\n }\n\n set_endDay = (event) => {\n this.setDate(event, 'end', 'Day')\n }\n\n set_endMonth = (event) => {\n this.setDate(event, 'end', 'Month')\n }\n\n set_endYear = (event) => {\n this.setDate(event, 'end', 'Year')\n }\n\n setDate = (event, mode, type) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = event.target.value\n\n this[`_${mode}${type}`] = value\n\n if (this.context[`${mode}Date`]) {\n this[`tmp_${mode}Date`] = this.context[`${mode}Date`]\n }\n\n const fallback = this[`tmp_${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n this[`_${mode}Year`] || (fallback && fallback.getFullYear())\n const month =\n this[`_${mode}Month`] || (fallback && fallback.getMonth() + 1)\n const day = this[`_${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(year),\n parseFloat(month) - 1,\n parseFloat(day)\n )\n\n const isValidDate =\n !/[^0-9]/.test(day) &&\n !/[^0-9]/.test(month) &&\n !/[^0-9]/.test(year) &&\n isValid(date) &&\n date.getDate() == parseFloat(day) &&\n date.getMonth() + 1 == parseFloat(month) &&\n date.getFullYear() == parseFloat(year)\n\n // update the date\n if (isValidDate) {\n this.callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n this.context.updateState({ [`${mode}Date`]: null })\n this.context.updateState({ [`__${mode}${type}`]: value })\n\n this.callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n this.callOnType({\n event,\n })\n }\n\n renderInputElement = (params) => {\n const { id, isRange } = this.props\n this.refList = []\n const startDateList = this.generateDateList(params, 'start')\n const endDateList = this.generateDateList(params, 'end')\n return (\n <span id={`${id}-input`} className=\"dnb-date-picker__input__wrapper\">\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\n getPlaceholderChar(value) {\n const index = this.props.maskOrder.indexOf(value)\n return this.props.maskPlaceholder[index]\n }\n\n generateDateList(params, mode) {\n return this.maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = this.getPlaceholderChar(value)\n const { input_element, separatorRexExp, isRange, size } = this.props\n const { day, month, year } = this.context.translation.DatePicker\n const isRangeLabel = isRange\n ? `${this.context.translation.DatePicker[mode]} `\n : ''\n\n if (!separatorRexExp.test(value)) {\n if (!input_element) {\n params = {\n ...params,\n onKeyDown: this.onKeyDownHandler,\n onPaste: this.shortcutHandler,\n onFocus: (e) => {\n this.focusMode = mode\n this.onFocusHandler(e)\n },\n onBlur: this.onBlurHandler,\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n input_element && React.isValidElement(input_element)\n ? input_element\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n this.refList.push(this[`_${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-3]/, /[0-9]/]}\n inputRef={this[`_${mode}DayRef`]}\n onChange={this[`set_${mode}Day`]}\n value={this.context[`__${mode}Day`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${this.props.id}-${mode}-day-label`}\n htmlFor={`${this.props.id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n this.refList.push(this[`_${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-1]/, /[0-9]/]}\n inputRef={this[`_${mode}MonthRef`]}\n onChange={this[`set_${mode}Month`]}\n value={this.context[`__${mode}Month`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${this.props.id}-${mode}-month-label`}\n htmlFor={`${this.props.id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n this.refList.push(this[`_${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size=\"4\"\n mask={[/[1-2]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={this[`_${mode}YearRef`]}\n onChange={this[`set_${mode}Year`]}\n value={this.context[`__${mode}Year`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${this.props.id}-${mode}-year-label`}\n htmlFor={`${this.props.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 formatDate() {\n const { open_picker_text } = this.context.translation.DatePicker\n\n const { selectedDateTitle } = this.props\n\n return selectedDateTitle\n ? `${selectedDateTitle}, ${open_picker_text}`\n : open_picker_text\n }\n\n render() {\n const {\n id,\n title,\n\n submitAttributes,\n isRange, // eslint-disable-line\n maskOrder, // eslint-disable-line\n maskPlaceholder, // eslint-disable-line\n separatorRexExp, // eslint-disable-line\n onChange, // eslint-disable-line\n onFocus, // eslint-disable-line\n onSubmit, // eslint-disable-line\n onBlur, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n input_element,\n locale,\n disabled,\n skeleton,\n opened,\n size,\n status,\n status_state,\n status_props,\n\n ...attributes\n } = this.props\n\n const { focusState } = this.state\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const UsedButton = showInput ? SubmitButton : Button\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={locale?.code}>\n {this.context.props.label && (\n <legend className=\"dnb-sr-only\">\n {this.context.props.label}\n </legend>\n )}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n input_element && typeof input_element !== 'string'\n ? typeof input_element === 'function'\n ? input_element(this.props)\n : input_element\n : this.renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={status_state}\n {...status_props}\n submit_element={\n <UsedButton\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={this.formatDate()}\n title={title}\n size={size}\n status={status}\n status_state={status_state}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...status_props}\n />\n }\n lang={locale?.code}\n {...attributes}\n />\n </fieldset>\n )\n }\n}\n\nconst selectAll = (target) => {\n target.focus()\n target.select()\n}\n\nconst InputElement = ({ className, value, ...props }) => {\n return (\n <TextMask\n guide={true}\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(value) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nconst wait = (t) => new Promise((r) => setTimeout(r, t))\n"],"mappings":"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"}