@dnb/eufemia 10.64.1 → 10.65.1

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 (426) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cjs/components/date-picker/DatePicker.d.ts +3 -1
  3. package/cjs/components/date-picker/DatePicker.js +4 -6
  4. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  5. package/cjs/components/date-picker/DatePickerAddon.js +8 -1
  6. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerInput.js +2 -2
  8. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  9. package/cjs/components/input-masked/MultiInputMask.d.ts +2 -1
  10. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  11. package/cjs/components/radio/RadioGroup.d.ts +1 -1
  12. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +4 -7
  13. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +1 -0
  14. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +5 -7
  15. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +4 -7
  16. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +1 -0
  17. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +5 -7
  18. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +2 -0
  19. package/cjs/components/toggle-button/ToggleButtonGroup.js +5 -1
  20. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  21. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  22. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  23. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  24. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  25. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  26. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  27. package/cjs/extensions/forms/DataContext/Provider/Provider.js +2 -2
  28. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  29. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +8 -1
  30. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +9 -2
  31. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  32. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +5 -0
  33. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  34. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  35. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  36. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
  37. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  38. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +3 -1
  39. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  40. package/cjs/extensions/forms/Field/Date/Date.d.ts +5 -4
  41. package/cjs/extensions/forms/Field/Date/Date.js +123 -11
  42. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  43. package/cjs/extensions/forms/Field/Date/DateDocs.js +13 -4
  44. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +7 -1
  46. package/cjs/extensions/forms/Field/Expiry/Expiry.js +2 -0
  47. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  48. package/cjs/extensions/forms/Field/Expiry/ExpiryDocs.d.ts +2 -0
  49. package/cjs/extensions/forms/Field/Expiry/ExpiryDocs.js +19 -0
  50. package/cjs/extensions/forms/Field/Expiry/ExpiryDocs.js.map +1 -0
  51. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  52. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  53. package/cjs/extensions/forms/Field/Number/NumberDocs.js +8 -1
  54. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  55. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  56. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  57. package/cjs/extensions/forms/Field/Password/PasswordDocs.js +1 -1
  58. package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  59. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  60. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  61. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  62. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +2 -0
  63. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  64. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -1
  65. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +6 -2
  66. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  67. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -1
  68. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  69. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +5 -0
  70. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +2 -0
  71. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  72. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +10 -1
  73. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  74. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +9 -0
  75. package/cjs/extensions/forms/Field/Selection/Selection.js +14 -6
  76. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  77. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  78. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  79. package/cjs/extensions/forms/Field/String/StringDocs.js +8 -1
  80. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  81. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +3 -0
  82. package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -1
  83. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +5 -0
  85. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  86. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -1
  87. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  88. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  89. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  90. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  91. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  92. package/cjs/extensions/forms/Value/Date/Date.d.ts +3 -2
  93. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  94. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +20 -8
  95. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  96. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  97. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  98. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +16 -1
  99. package/cjs/extensions/forms/Wizard/Step/Step.js +32 -10
  100. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  101. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +18 -3
  102. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  103. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +6 -0
  104. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -1
  105. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  106. package/cjs/extensions/forms/constants/locales/en-US.d.ts +6 -0
  107. package/cjs/extensions/forms/constants/locales/index.d.ts +12 -0
  108. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +6 -0
  109. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -1
  110. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  111. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -8
  112. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  113. package/cjs/extensions/forms/types.d.ts +1 -0
  114. package/cjs/extensions/forms/types.js.map +1 -1
  115. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  116. package/cjs/shared/Eufemia.d.ts +1 -1
  117. package/cjs/shared/Eufemia.js +2 -2
  118. package/cjs/shared/Eufemia.js.map +1 -1
  119. package/cjs/style/core/scopes.scss +1 -1
  120. package/cjs/style/dnb-ui-basis.css +1 -1
  121. package/cjs/style/dnb-ui-basis.min.css +1 -1
  122. package/cjs/style/dnb-ui-body.css +1 -1
  123. package/cjs/style/dnb-ui-body.min.css +1 -1
  124. package/cjs/style/dnb-ui-core.css +1 -1
  125. package/cjs/style/dnb-ui-core.min.css +1 -1
  126. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +0 -2
  127. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  128. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +5 -7
  129. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  130. package/cjs/style/themes/theme-sbanken/globals.scss +0 -4
  131. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -2
  132. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  133. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +5 -7
  134. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  135. package/cjs/style/themes/theme-ui/globals.scss +0 -4
  136. package/cjs/style/themes/theme-ui/ui-theme-basis.css +0 -2
  137. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  138. package/cjs/style/themes/theme-ui/ui-theme-components.css +5 -7
  139. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  140. package/components/date-picker/DatePicker.d.ts +3 -1
  141. package/components/date-picker/DatePicker.js +4 -6
  142. package/components/date-picker/DatePicker.js.map +1 -1
  143. package/components/date-picker/DatePickerAddon.js +6 -1
  144. package/components/date-picker/DatePickerAddon.js.map +1 -1
  145. package/components/date-picker/DatePickerInput.js +2 -2
  146. package/components/date-picker/DatePickerInput.js.map +1 -1
  147. package/components/input-masked/MultiInputMask.d.ts +2 -1
  148. package/components/input-masked/MultiInputMask.js.map +1 -1
  149. package/components/radio/RadioGroup.d.ts +1 -1
  150. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +4 -7
  151. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +1 -0
  152. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +5 -7
  153. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +4 -7
  154. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +1 -0
  155. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +5 -7
  156. package/components/toggle-button/ToggleButtonGroup.d.ts +2 -0
  157. package/components/toggle-button/ToggleButtonGroup.js +5 -1
  158. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  159. package/es/components/date-picker/DatePicker.d.ts +3 -1
  160. package/es/components/date-picker/DatePicker.js +4 -6
  161. package/es/components/date-picker/DatePicker.js.map +1 -1
  162. package/es/components/date-picker/DatePickerAddon.js +6 -1
  163. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  164. package/es/components/date-picker/DatePickerInput.js +2 -2
  165. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  166. package/es/components/input-masked/MultiInputMask.d.ts +2 -1
  167. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  168. package/es/components/radio/RadioGroup.d.ts +1 -1
  169. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +4 -7
  170. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +1 -0
  171. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +5 -7
  172. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +4 -7
  173. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +1 -0
  174. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +5 -7
  175. package/es/components/toggle-button/ToggleButtonGroup.d.ts +2 -0
  176. package/es/components/toggle-button/ToggleButtonGroup.js +5 -1
  177. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  178. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  179. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  180. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  181. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  182. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  183. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  184. package/es/extensions/forms/DataContext/Provider/Provider.js +2 -2
  185. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  186. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +8 -1
  187. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +9 -2
  188. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  189. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +5 -0
  190. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  191. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  192. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  193. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
  194. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  195. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +3 -1
  196. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  197. package/es/extensions/forms/Field/Date/Date.d.ts +5 -4
  198. package/es/extensions/forms/Field/Date/Date.js +124 -12
  199. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  200. package/es/extensions/forms/Field/Date/DateDocs.js +13 -4
  201. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  202. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +7 -1
  203. package/es/extensions/forms/Field/Expiry/Expiry.js +2 -0
  204. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  205. package/es/extensions/forms/Field/Expiry/ExpiryDocs.d.ts +2 -0
  206. package/es/extensions/forms/Field/Expiry/ExpiryDocs.js +10 -0
  207. package/es/extensions/forms/Field/Expiry/ExpiryDocs.js.map +1 -0
  208. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  209. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  210. package/es/extensions/forms/Field/Number/NumberDocs.js +6 -1
  211. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  212. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  213. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  214. package/es/extensions/forms/Field/Password/PasswordDocs.js +1 -1
  215. package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  216. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  217. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  218. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  219. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +2 -0
  220. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  221. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -1
  222. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +6 -2
  223. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  224. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -1
  225. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  226. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +5 -0
  227. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +2 -0
  228. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  229. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  230. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  231. package/es/extensions/forms/Field/Selection/Selection.d.ts +9 -0
  232. package/es/extensions/forms/Field/Selection/Selection.js +14 -6
  233. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  234. package/es/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  235. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  236. package/es/extensions/forms/Field/String/StringDocs.js +6 -1
  237. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  238. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +3 -0
  239. package/es/extensions/forms/Field/Toggle/Toggle.js +6 -1
  240. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  241. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +5 -0
  242. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  243. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -1
  244. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  245. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  246. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  247. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  248. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  249. package/es/extensions/forms/Value/Date/Date.d.ts +3 -2
  250. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  251. package/es/extensions/forms/Wizard/Container/WizardContainer.js +20 -8
  252. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  253. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  254. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  255. package/es/extensions/forms/Wizard/Step/Step.d.ts +16 -1
  256. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  257. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  258. package/es/extensions/forms/Wizard/Step/StepDocs.js +18 -3
  259. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  260. package/es/extensions/forms/constants/locales/en-GB.d.ts +6 -0
  261. package/es/extensions/forms/constants/locales/en-GB.js +7 -1
  262. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  263. package/es/extensions/forms/constants/locales/en-US.d.ts +6 -0
  264. package/es/extensions/forms/constants/locales/index.d.ts +12 -0
  265. package/es/extensions/forms/constants/locales/nb-NO.d.ts +6 -0
  266. package/es/extensions/forms/constants/locales/nb-NO.js +7 -1
  267. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  268. package/es/extensions/forms/hooks/useFieldProps.js +8 -8
  269. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  270. package/es/extensions/forms/types.d.ts +1 -0
  271. package/es/extensions/forms/types.js.map +1 -1
  272. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  273. package/es/shared/Eufemia.d.ts +1 -1
  274. package/es/shared/Eufemia.js +2 -2
  275. package/es/shared/Eufemia.js.map +1 -1
  276. package/es/style/core/scopes.scss +1 -1
  277. package/es/style/dnb-ui-basis.css +1 -1
  278. package/es/style/dnb-ui-basis.min.css +1 -1
  279. package/es/style/dnb-ui-body.css +1 -1
  280. package/es/style/dnb-ui-body.min.css +1 -1
  281. package/es/style/dnb-ui-core.css +1 -1
  282. package/es/style/dnb-ui-core.min.css +1 -1
  283. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +0 -2
  284. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  285. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +5 -7
  286. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  287. package/es/style/themes/theme-sbanken/globals.scss +0 -4
  288. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -2
  289. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  290. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +5 -7
  291. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  292. package/es/style/themes/theme-ui/globals.scss +0 -4
  293. package/es/style/themes/theme-ui/ui-theme-basis.css +0 -2
  294. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  295. package/es/style/themes/theme-ui/ui-theme-components.css +5 -7
  296. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  297. package/esm/dnb-ui-basis.min.mjs +1 -1
  298. package/esm/dnb-ui-components.min.mjs +1 -1
  299. package/esm/dnb-ui-elements.min.mjs +1 -1
  300. package/esm/dnb-ui-extensions.min.mjs +3 -3
  301. package/esm/dnb-ui-lib.min.mjs +1 -1
  302. package/extensions/forms/DataContext/Context.d.ts +1 -1
  303. package/extensions/forms/DataContext/Context.js.map +1 -1
  304. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  305. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  306. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  307. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  308. package/extensions/forms/DataContext/Provider/Provider.js +2 -2
  309. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  310. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +8 -1
  311. package/extensions/forms/Field/ArraySelection/ArraySelection.js +9 -2
  312. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  313. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +5 -0
  314. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  315. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  316. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  317. package/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
  318. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  319. package/extensions/forms/Field/Boolean/BooleanDocs.js +3 -1
  320. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  321. package/extensions/forms/Field/Date/Date.d.ts +5 -4
  322. package/extensions/forms/Field/Date/Date.js +124 -12
  323. package/extensions/forms/Field/Date/Date.js.map +1 -1
  324. package/extensions/forms/Field/Date/DateDocs.js +13 -4
  325. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  326. package/extensions/forms/Field/Expiry/Expiry.d.ts +7 -1
  327. package/extensions/forms/Field/Expiry/Expiry.js +2 -0
  328. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  329. package/extensions/forms/Field/Expiry/ExpiryDocs.d.ts +2 -0
  330. package/extensions/forms/Field/Expiry/ExpiryDocs.js +10 -0
  331. package/extensions/forms/Field/Expiry/ExpiryDocs.js.map +1 -0
  332. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  333. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  334. package/extensions/forms/Field/Number/NumberDocs.js +6 -1
  335. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  336. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  337. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  338. package/extensions/forms/Field/Password/PasswordDocs.js +1 -1
  339. package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  340. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  341. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  342. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  343. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +2 -0
  344. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  345. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -1
  346. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +6 -2
  347. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  348. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -1
  349. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  350. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +5 -0
  351. package/extensions/forms/Field/SelectCountry/SelectCountry.js +2 -0
  352. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  353. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  354. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  355. package/extensions/forms/Field/Selection/Selection.d.ts +9 -0
  356. package/extensions/forms/Field/Selection/Selection.js +14 -6
  357. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  358. package/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  359. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  360. package/extensions/forms/Field/String/StringDocs.js +6 -1
  361. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  362. package/extensions/forms/Field/Toggle/Toggle.d.ts +3 -0
  363. package/extensions/forms/Field/Toggle/Toggle.js +6 -1
  364. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  365. package/extensions/forms/Field/Toggle/ToggleDocs.js +5 -0
  366. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  367. package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -1
  368. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  369. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  370. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  371. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  372. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  373. package/extensions/forms/Value/Date/Date.d.ts +3 -2
  374. package/extensions/forms/Value/Date/Date.js.map +1 -1
  375. package/extensions/forms/Wizard/Container/WizardContainer.js +20 -8
  376. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  377. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  378. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  379. package/extensions/forms/Wizard/Step/Step.d.ts +16 -1
  380. package/extensions/forms/Wizard/Step/Step.js +29 -10
  381. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  382. package/extensions/forms/Wizard/Step/StepDocs.js +18 -3
  383. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  384. package/extensions/forms/constants/locales/en-GB.d.ts +6 -0
  385. package/extensions/forms/constants/locales/en-GB.js +7 -1
  386. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  387. package/extensions/forms/constants/locales/en-US.d.ts +6 -0
  388. package/extensions/forms/constants/locales/index.d.ts +12 -0
  389. package/extensions/forms/constants/locales/nb-NO.d.ts +6 -0
  390. package/extensions/forms/constants/locales/nb-NO.js +7 -1
  391. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  392. package/extensions/forms/hooks/useFieldProps.js +8 -8
  393. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  394. package/extensions/forms/types.d.ts +1 -0
  395. package/extensions/forms/types.js.map +1 -1
  396. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  397. package/package.json +1 -1
  398. package/shared/Eufemia.d.ts +1 -1
  399. package/shared/Eufemia.js +2 -2
  400. package/shared/Eufemia.js.map +1 -1
  401. package/style/core/scopes.scss +1 -1
  402. package/style/dnb-ui-basis.css +1 -1
  403. package/style/dnb-ui-basis.min.css +1 -1
  404. package/style/dnb-ui-body.css +1 -1
  405. package/style/dnb-ui-body.min.css +1 -1
  406. package/style/dnb-ui-core.css +1 -1
  407. package/style/dnb-ui-core.min.css +1 -1
  408. package/style/themes/theme-eiendom/eiendom-theme-basis.css +0 -2
  409. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  410. package/style/themes/theme-eiendom/eiendom-theme-components.css +5 -7
  411. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  412. package/style/themes/theme-sbanken/globals.scss +0 -4
  413. package/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -2
  414. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  415. package/style/themes/theme-sbanken/sbanken-theme-components.css +5 -7
  416. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  417. package/style/themes/theme-ui/globals.scss +0 -4
  418. package/style/themes/theme-ui/ui-theme-basis.css +0 -2
  419. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  420. package/style/themes/theme-ui/ui-theme-components.css +5 -7
  421. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  422. package/umd/dnb-ui-basis.min.js +1 -1
  423. package/umd/dnb-ui-components.min.js +1 -1
  424. package/umd/dnb-ui-elements.min.js +1 -1
  425. package/umd/dnb-ui-extensions.min.js +3 -3
  426. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_FieldBlock","_hooks","_useFieldProps","_utils","_ToggleButtonGroupContext","_Selection","_Context","_useDataValue","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","hasError","info","warning","disabled","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","labelHeight","disableStatusSummary","pickSpacingProps","options","useCheckboxOrToggleOptions","handleActiveData","_ref","labels","createElement","Provider","status","_ref2","setFieldInternals","useContext","DataContext","optionsCount","useMemo","React","Children","count","activeData","createOption","useCallback","active","error","title","help","rest","includes","label","suffix","HelpButton","size","convertJsxToString","content","handleSelect","newValue","Component","Checkbox","ToggleButton","text","checked","checkForError","on_change","result","map","mapOptions","Boolean","_ref3","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { DefaultErrorMessages, FieldProps, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { mapOptions, Data } from '../Selection'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n }>\n>\n\ntype OptionValue = string | number\n\nexport type Props = FieldProps<Array<OptionValue> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n errorMessages?: DefaultErrorMessages & {\n minItems?: string\n maxItems?: string\n }\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n path,\n dataPath,\n data,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n value,\n hasError,\n info,\n warning,\n disabled,\n emptyValue,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout--${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n labelHeight: 'small',\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n const options = useCheckboxOrToggleOptions({\n id,\n path,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n hasError,\n handleChange,\n handleActiveData: ({ labels }) => {\n setDisplayValue(labels)\n },\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function useCheckboxOrToggleOptions({\n id,\n path,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n hasError,\n handleChange,\n handleActiveData,\n}: {\n id: Props['id']\n path?: Props['path']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n dataList?: Props['data']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n handleActiveData?: (item: { labels: Array<Props['children']> }) => void\n}) {\n const { setFieldInternals } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const activeData = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: active,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(active)) {\n activeData.push(props)\n }\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const handleSelect = () => {\n const newValue = value?.includes(active)\n ? value.filter((value) => value !== active)\n : [...(value ?? []), active]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n variant={variant === 'checkbox-button' ? 'checkbox' : undefined}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(active)}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n disabled,\n emptyValue,\n handleChange,\n hasError,\n htmlAttributes,\n id,\n info,\n optionsCount,\n value,\n variant,\n warning,\n ]\n )\n\n const result = [\n ...(dataList || []).map((props, i) =>\n createOption(props as OptionProps, i)\n ),\n ...(mapOptions(children, { createOption }) || []).filter(Boolean),\n ]\n\n if (handleActiveData) {\n handleActiveData({\n labels: activeData.map(({ title, children }) => title ?? children),\n })\n }\n\n if (path) {\n setFieldInternals?.(path + '/arraySelectionData', activeData)\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
1
+ {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_FieldBlock","_hooks","_useFieldProps","_utils","_ToggleButtonGroupContext","_Selection","_Context","_useDataValue","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","disableStatusSummary","pickSpacingProps","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","_ref","labels","createElement","Provider","status","_ref2","setFieldInternals","useContext","DataContext","optionsCount","useMemo","React","Children","count","activeData","createOption","useCallback","active","error","title","help","rest","includes","label","suffix","HelpButton","convertJsxToString","content","handleSelect","newValue","Component","Checkbox","ToggleButton","text","checked","checkForError","on_change","result","map","mapOptions","Boolean","_ref3","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { DefaultErrorMessages, FieldProps, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { mapOptions, Data } from '../Selection'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n }>\n>\n\ntype OptionValue = string | number\n\nexport type Props = FieldProps<Array<OptionValue> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * The size of the component.\n */\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n errorMessages?: DefaultErrorMessages & {\n minItems?: string\n maxItems?: string\n }\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n path,\n dataPath,\n data,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n value,\n hasError,\n info,\n warning,\n disabled,\n size,\n emptyValue,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout--${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n if (!size) {\n fieldBlockProps.labelHeight = 'small'\n }\n\n const options = useCheckboxOrToggleOptions({\n id,\n path,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData: ({ labels }) => {\n setDisplayValue(labels)\n },\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function useCheckboxOrToggleOptions({\n id,\n path,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData,\n}: {\n id: Props['id']\n path?: Props['path']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n dataList?: Props['data']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n size?: Props['size']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n handleActiveData?: (item: { labels: Array<Props['children']> }) => void\n}) {\n const { setFieldInternals } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const activeData = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: active,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(active)) {\n activeData.push(props)\n }\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const handleSelect = () => {\n const newValue = value?.includes(active)\n ? value.filter((value) => value !== active)\n : [...(value ?? []), active]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n variant={variant === 'checkbox-button' ? 'checkbox' : undefined}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n size={size}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(active)}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n disabled,\n emptyValue,\n handleChange,\n hasError,\n htmlAttributes,\n id,\n info,\n optionsCount,\n value,\n variant,\n warning,\n ]\n )\n\n const result = [\n ...(dataList || []).map((props, i) =>\n createOption(props as OptionProps, i)\n ),\n ...(mapOptions(children, { createOption }) || []).filter(Boolean),\n ]\n\n if (handleActiveData) {\n handleActiveData({\n labels: activeData.map(({ title, children }) => title ?? children),\n })\n }\n\n if (path) {\n setFieldInternals?.(path + '/arraySelectionData', activeData)\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
@@ -22,6 +22,11 @@ const arraySelectionProperties = {
22
22
  type: 'React.Node',
23
23
  status: 'optional'
24
24
  },
25
+ size: {
26
+ doc: 'The sizes you can choose is small (1.5rem), default (2rem), medium (2.5rem) and large (3rem) are supported component sizes. Defaults to default / null. Also, if you define a number like size="2" then it will be forwarded as the input element attribute. Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).',
27
+ type: 'string',
28
+ status: 'optional'
29
+ },
25
30
  data: {
26
31
  doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',
27
32
  type: 'array',
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelectionDocs.js","names":["arraySelectionProperties","variant","doc","type","defaultValue","status","optionsLayout","children","data","dataPath","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const arraySelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature.',\n type: [`'checkbox'`, `'button'`, `'checkbox-button'`],\n defaultValue: `'checkbox'`,\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options.',\n type: [`'horizontal'`, `'vertical'`],\n defaultValue: `'vertical'`,\n status: 'optional',\n },\n children: {\n doc: 'For providing `<Field.Option>` components.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,wBAA8C,GAAG;EAC5DC,OAAO,EAAE;IACPC,GAAG,EAAE,uBAAuB;IAC5BC,IAAI,EAAE,CAAE,YAAW,EAAG,UAAS,EAAG,mBAAkB,CAAC;IACrDC,YAAY,EAAG,YAAW;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbJ,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,CAAE,cAAa,EAAG,YAAW,CAAC;IACpCC,YAAY,EAAG,YAAW;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRL,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,YAAY;IAClBE,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAE;IACJN,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbE,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRP,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdE,MAAM,EAAE;EACV;AACF,CAAC;AAAAK,OAAA,CAAAV,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"file":"ArraySelectionDocs.js","names":["arraySelectionProperties","variant","doc","type","defaultValue","status","optionsLayout","children","size","data","dataPath","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const arraySelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature.',\n type: [`'checkbox'`, `'button'`, `'checkbox-button'`],\n defaultValue: `'checkbox'`,\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options.',\n type: [`'horizontal'`, `'vertical'`],\n defaultValue: `'vertical'`,\n status: 'optional',\n },\n children: {\n doc: 'For providing `<Field.Option>` components.',\n type: 'React.Node',\n status: 'optional',\n },\n size: {\n doc: 'The sizes you can choose is small (1.5rem), default (2rem), medium (2.5rem) and large (3rem) are supported component sizes. Defaults to default / null. Also, if you define a number like size=\"2\" then it will be forwarded as the input element attribute. Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).',\n type: 'string',\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,wBAA8C,GAAG;EAC5DC,OAAO,EAAE;IACPC,GAAG,EAAE,uBAAuB;IAC5BC,IAAI,EAAE,CAAE,YAAW,EAAG,UAAS,EAAG,mBAAkB,CAAC;IACrDC,YAAY,EAAG,YAAW;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbJ,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,CAAE,cAAa,EAAG,YAAW,CAAC;IACpCC,YAAY,EAAG,YAAW;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRL,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,YAAY;IAClBE,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAE;IACJN,GAAG,EAAE,oWAAoW;IACzWC,IAAI,EAAE,QAAQ;IACdE,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJP,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbE,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRR,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdE,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAX,wBAAA,GAAAA,wBAAA"}
@@ -1,9 +1,9 @@
1
1
  import { Props as StringFieldProps } from '../String';
2
- import { Validator } from '../../types';
2
+ import type { ValidatorDisableable } from '../../types';
3
3
  export type Props = Omit<StringFieldProps, 'onBlurValidator'> & {
4
4
  validate?: boolean;
5
5
  omitMask?: boolean;
6
- onBlurValidator?: Validator<string> | false;
6
+ onBlurValidator?: ValidatorDisableable<string>;
7
7
  };
8
8
  declare function BankAccountNumber(props: Props): import("react/jsx-runtime").JSX.Element;
9
9
  declare namespace BankAccountNumber {
@@ -1 +1 @@
1
- {"version":3,"file":"BankAccountNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","BankAccountNumber","props","errorBankAccountNumber","errorBankAccountNumberLength","errorRequired","label","useTranslation","errorMessages","useMemo","bankAccountNumberValidator","useCallback","bankAccountNoIs11Digits","Error","isValidAccountNumber","validate","omitMask","validator","onChangeValidator","onBlurValidator","labelProp","width","mask","onBlurValidatorToUse","StringFieldProps","className","inputMode","exportValidators","createElement","digits","checkDigit","sum","parseInt","charAt","result","finalCheckDigit","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport useTranslation from '../../hooks/useTranslation'\nimport { Validator } from '../../types'\n\nexport type Props = Omit<StringFieldProps, 'onBlurValidator'> & {\n validate?: boolean\n omitMask?: boolean\n onBlurValidator?: Validator<string> | false\n}\n\nfunction BankAccountNumber(props: Props) {\n const {\n errorBankAccountNumber,\n errorBankAccountNumberLength,\n errorRequired,\n label,\n } = useTranslation().BankAccountNumber\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorBankAccountNumber,\n ...props.errorMessages,\n }\n }, [errorBankAccountNumber, errorRequired, props.errorMessages])\n\n const bankAccountNumberValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n const bankAccountNoIs11Digits = value?.length === 11\n\n if (!bankAccountNoIs11Digits) {\n return Error(errorBankAccountNumberLength)\n }\n\n if (bankAccountNoIs11Digits && !isValidAccountNumber(value)) {\n return Error(errorBankAccountNumber)\n }\n }\n },\n [errorBankAccountNumber, errorBankAccountNumberLength]\n )\n\n const {\n validate = true,\n omitMask,\n // Deprecated – can be removed in v11\n validator,\n onChangeValidator = validator,\n onBlurValidator = bankAccountNumberValidator,\n label: labelProp,\n width,\n } = props\n\n const mask = useMemo(\n () =>\n omitMask\n ? [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const onBlurValidatorToUse =\n onBlurValidator === false ? undefined : onBlurValidator\n\n const StringFieldProps: StringFieldProps = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n label: labelProp ?? label,\n errorMessages,\n mask,\n width: width ?? 'medium',\n inputMode: 'numeric',\n onChangeValidator: validate ? onChangeValidator : undefined,\n onBlurValidator: validate ? onBlurValidatorToUse : undefined,\n exportValidators: { bankAccountNumberValidator },\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nfunction isValidAccountNumber(digits: string) {\n let checkDigit = 2\n let sum = 0\n\n for (let i = digits.length - 2; i >= 0; --i) {\n sum += parseInt(digits.charAt(i)) * checkDigit\n\n checkDigit += 1\n\n if (checkDigit > 7) {\n checkDigit = 2\n }\n }\n\n const result = 11 - (sum % 11)\n const finalCheckDigit = result === 11 ? 0 : result\n\n return parseInt(digits.charAt(digits.length - 1), 10) === finalCheckDigit\n}\n\nBankAccountNumber._supportsSpacingProps = true\nexport default BankAccountNumber\n"],"mappings":"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"}
1
+ {"version":3,"file":"BankAccountNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","BankAccountNumber","props","errorBankAccountNumber","errorBankAccountNumberLength","errorRequired","label","useTranslation","errorMessages","useMemo","bankAccountNumberValidator","useCallback","bankAccountNoIs11Digits","Error","isValidAccountNumber","validate","omitMask","validator","onChangeValidator","onBlurValidator","labelProp","width","mask","onBlurValidatorToUse","StringFieldProps","className","inputMode","exportValidators","createElement","digits","checkDigit","sum","parseInt","charAt","result","finalCheckDigit","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport useTranslation from '../../hooks/useTranslation'\nimport type { ValidatorDisableable } from '../../types'\n\nexport type Props = Omit<StringFieldProps, 'onBlurValidator'> & {\n validate?: boolean\n omitMask?: boolean\n onBlurValidator?: ValidatorDisableable<string>\n}\n\nfunction BankAccountNumber(props: Props) {\n const {\n errorBankAccountNumber,\n errorBankAccountNumberLength,\n errorRequired,\n label,\n } = useTranslation().BankAccountNumber\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorBankAccountNumber,\n ...props.errorMessages,\n }\n }, [errorBankAccountNumber, errorRequired, props.errorMessages])\n\n const bankAccountNumberValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n const bankAccountNoIs11Digits = value?.length === 11\n\n if (!bankAccountNoIs11Digits) {\n return Error(errorBankAccountNumberLength)\n }\n\n if (bankAccountNoIs11Digits && !isValidAccountNumber(value)) {\n return Error(errorBankAccountNumber)\n }\n }\n },\n [errorBankAccountNumber, errorBankAccountNumberLength]\n )\n\n const {\n validate = true,\n omitMask,\n // Deprecated – can be removed in v11\n validator,\n onChangeValidator = validator,\n onBlurValidator = bankAccountNumberValidator,\n label: labelProp,\n width,\n } = props\n\n const mask = useMemo(\n () =>\n omitMask\n ? [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const onBlurValidatorToUse =\n onBlurValidator === false ? undefined : onBlurValidator\n\n const StringFieldProps: StringFieldProps = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n label: labelProp ?? label,\n errorMessages,\n mask,\n width: width ?? 'medium',\n inputMode: 'numeric',\n onChangeValidator: validate ? onChangeValidator : undefined,\n onBlurValidator: validate ? onBlurValidatorToUse : undefined,\n exportValidators: { bankAccountNumberValidator },\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nfunction isValidAccountNumber(digits: string) {\n let checkDigit = 2\n let sum = 0\n\n for (let i = digits.length - 2; i >= 0; --i) {\n sum += parseInt(digits.charAt(i)) * checkDigit\n\n checkDigit += 1\n\n if (checkDigit > 7) {\n checkDigit = 2\n }\n }\n\n const result = 11 - (sum % 11)\n const finalCheckDigit = result === 11 ? 0 : result\n\n return parseInt(digits.charAt(digits.length - 1), 10) === finalCheckDigit\n}\n\nBankAccountNumber._supportsSpacingProps = true\nexport default BankAccountNumber\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ type BooleanProps = {
4
4
  trueText?: string;
5
5
  falseText?: string;
6
6
  variant?: ToggleFieldProps['variant'];
7
+ size?: ToggleFieldProps['size'];
7
8
  dependencePaths?: never;
8
9
  };
9
10
  type NeverBooleanProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"Boolean.js","names":["_react","_interopRequireDefault","require","_Toggle","_useTranslation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","BooleanComponent","props","trueText","falseText","restProps","translations","useTranslation","BooleanField","createElement","valueOn","valueOff","textOn","yes","textOff","no","valueType","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport ToggleField, { Props as ToggleFieldProps } from '../Toggle'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FieldProps, Path } from '../../types'\n\ntype BooleanProps = {\n trueText?: string\n falseText?: string\n variant?: ToggleFieldProps['variant']\n dependencePaths?: never\n}\ntype NeverBooleanProps = {\n // eslint-disable-next-line no-unused-vars\n [K in keyof Partial<Omit<BooleanProps, 'dependencePaths'>>]: never\n}\ntype SharedFieldProps = Omit<\n FieldProps<unknown>,\n 'layout' | 'layoutOptions'\n>\nexport type IndeterminateProps = SharedFieldProps & {\n dependencePaths: Array<Path>\n} & NeverBooleanProps\nexport type Props = SharedFieldProps & BooleanProps\n\nfunction BooleanComponent(props: Props | IndeterminateProps) {\n const { trueText, falseText, ...restProps } = props\n const translations = useTranslation().BooleanField\n\n return (\n <ToggleField\n {...(restProps as ToggleFieldProps)}\n valueOn={true}\n valueOff={false}\n textOn={trueText ?? translations.yes}\n textOff={falseText ?? translations.no}\n valueType=\"boolean\"\n />\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAuD,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAsBvD,SAASmB,gBAAgBA,CAACC,KAAiC,EAAE;EAC3D,MAAM;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAGF,KAAK;IAAnBG,SAAS,GAAAb,wBAAA,CAAKU,KAAK,EAAA5B,SAAA;EACnD,MAAMgC,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,YAAY;EAElD,OACEvC,MAAA,CAAAQ,OAAA,CAAAgC,aAAA,CAACrC,OAAA,CAAAK,OAAW,EAAAC,QAAA,KACL2B,SAAS;IACdK,OAAO,EAAE,IAAK;IACdC,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAET,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,YAAY,CAACO,GAAI;IACrCC,OAAO,EAAEV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIE,YAAY,CAACS,EAAG;IACtCC,SAAS,EAAC;EAAS,EACpB,CAAC;AAEN;AAEAf,gBAAgB,CAACgB,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC9BjB,gBAAgB;AAAAkB,OAAA,CAAA1C,OAAA,GAAAyC,QAAA"}
1
+ {"version":3,"file":"Boolean.js","names":["_react","_interopRequireDefault","require","_Toggle","_useTranslation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","BooleanComponent","props","trueText","falseText","restProps","translations","useTranslation","BooleanField","createElement","valueOn","valueOff","textOn","yes","textOff","no","valueType","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport ToggleField, { Props as ToggleFieldProps } from '../Toggle'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FieldProps, Path } from '../../types'\n\ntype BooleanProps = {\n trueText?: string\n falseText?: string\n variant?: ToggleFieldProps['variant']\n size?: ToggleFieldProps['size']\n dependencePaths?: never\n}\ntype NeverBooleanProps = {\n // eslint-disable-next-line no-unused-vars\n [K in keyof Partial<Omit<BooleanProps, 'dependencePaths'>>]: never\n}\ntype SharedFieldProps = Omit<\n FieldProps<unknown>,\n 'layout' | 'layoutOptions'\n>\nexport type IndeterminateProps = SharedFieldProps & {\n dependencePaths: Array<Path>\n} & NeverBooleanProps\nexport type Props = SharedFieldProps & BooleanProps\n\nfunction BooleanComponent(props: Props | IndeterminateProps) {\n const { trueText, falseText, ...restProps } = props\n const translations = useTranslation().BooleanField\n\n return (\n <ToggleField\n {...(restProps as ToggleFieldProps)}\n valueOn={true}\n valueOff={false}\n textOn={trueText ?? translations.yes}\n textOff={falseText ?? translations.no}\n valueType=\"boolean\"\n />\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAuD,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAuBvD,SAASmB,gBAAgBA,CAACC,KAAiC,EAAE;EAC3D,MAAM;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAGF,KAAK;IAAnBG,SAAS,GAAAb,wBAAA,CAAKU,KAAK,EAAA5B,SAAA;EACnD,MAAMgC,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,YAAY;EAElD,OACEvC,MAAA,CAAAQ,OAAA,CAAAgC,aAAA,CAACrC,OAAA,CAAAK,OAAW,EAAAC,QAAA,KACL2B,SAAS;IACdK,OAAO,EAAE,IAAK;IACdC,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAET,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,YAAY,CAACO,GAAI;IACrCC,OAAO,EAAEV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIE,YAAY,CAACS,EAAG;IACtCC,SAAS,EAAC;EAAS,EACpB,CAAC;AAEN;AAEAf,gBAAgB,CAACgB,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC9BjB,gBAAgB;AAAAkB,OAAA,CAAA1C,OAAA,GAAAyC,QAAA"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BooleanProperties = void 0;
7
+ var _ToggleDocs = require("../Toggle/ToggleDocs");
7
8
  const BooleanProperties = {
8
9
  trueText: {
9
10
  doc: 'Text to show in the UI when value is `true`.',
@@ -19,7 +20,8 @@ const BooleanProperties = {
19
20
  doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',
20
21
  type: 'string',
21
22
  status: 'optional'
22
- }
23
+ },
24
+ size: _ToggleDocs.ToggleProperties.size
23
25
  };
24
26
  exports.BooleanProperties = BooleanProperties;
25
27
  //# sourceMappingURL=BooleanDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanDocs.js","names":["BooleanProperties","trueText","doc","type","status","falseText","variant","exports"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/BooleanDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const BooleanProperties: PropertiesTableProps = {\n trueText: {\n doc: 'Text to show in the UI when value is `true`.',\n type: 'string',\n status: 'optional',\n },\n falseText: {\n doc: 'Text to show in the UI when value is `false`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,iBAAuC,GAAG;EACrDC,QAAQ,EAAE;IACRC,GAAG,EAAE,8CAA8C;IACnDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;IACTH,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAAAG,OAAA,CAAAP,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"file":"BooleanDocs.js","names":["_ToggleDocs","require","BooleanProperties","trueText","doc","type","status","falseText","variant","size","ToggleProperties","exports"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/BooleanDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { ToggleProperties } from '../Toggle/ToggleDocs'\n\nexport const BooleanProperties: PropertiesTableProps = {\n trueText: {\n doc: 'Text to show in the UI when value is `true`.',\n type: 'string',\n status: 'optional',\n },\n falseText: {\n doc: 'Text to show in the UI when value is `false`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n size: ToggleProperties.size,\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,iBAAuC,GAAG;EACrDC,QAAQ,EAAE;IACRC,GAAG,EAAE,8CAA8C;IACnDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;IACTH,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAEC,4BAAgB,CAACD;AACzB,CAAC;AAAAE,OAAA,CAAAT,iBAAA,GAAAA,iBAAA"}
@@ -1,6 +1,6 @@
1
- import { FieldProps } from '../../types';
1
+ import type { FieldProps, ValidatorDisableable } from '../../types';
2
2
  import { DatePickerProps } from '../../../../components/DatePicker';
3
- export type Props = FieldProps<string, undefined | string> & {
3
+ export type DateProps = Omit<FieldProps<string, undefined | string>, 'onBlurValidator'> & {
4
4
  pattern?: string;
5
5
  /**
6
6
  * Defines if the Date field should support a value of two dates (starting and ending date).
@@ -20,8 +20,9 @@ export type Props = FieldProps<string, undefined | string> & {
20
20
  * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text="Tilbakestill"` Defaults to `true`.
21
21
  */
22
22
  showResetButton?: DatePickerProps['showResetButton'];
23
- } & Pick<DatePickerProps, 'month' | 'startMonth' | 'endMonth' | 'minDate' | 'maxDate' | 'correctInvalidDate' | 'maskOrder' | 'maskPlaceholder' | 'dateFormat' | 'returnFormat' | 'hideNavigation' | 'hideDays' | 'onlyMonth' | 'hideLastWeek' | 'disableAutofocus' | 'showSubmitButton' | 'submitButtonText' | 'cancelButtonText' | 'resetButtonText' | 'firstDay' | 'link' | 'sync' | 'addonElement' | 'shortcuts' | 'opened' | 'direction' | 'alignPicker' | 'onDaysRender' | 'onType' | 'onShow' | 'onHide' | 'onSubmit' | 'onCancel' | 'onReset'>;
24
- declare function DateComponent(props: Props): import("react/jsx-runtime").JSX.Element;
23
+ onBlurValidator?: ValidatorDisableable<string>;
24
+ } & Pick<DatePickerProps, 'month' | 'startMonth' | 'endMonth' | 'minDate' | 'maxDate' | 'correctInvalidDate' | 'maskOrder' | 'maskPlaceholder' | 'dateFormat' | 'returnFormat' | 'hideNavigation' | 'hideDays' | 'onlyMonth' | 'hideLastWeek' | 'disableAutofocus' | 'showSubmitButton' | 'submitButtonText' | 'cancelButtonText' | 'resetButtonText' | 'firstDay' | 'link' | 'size' | 'sync' | 'addonElement' | 'shortcuts' | 'opened' | 'direction' | 'alignPicker' | 'onDaysRender' | 'onType' | 'onShow' | 'onHide' | 'onSubmit' | 'onCancel' | 'onReset'>;
25
+ declare function DateComponent(props: DateProps): import("react/jsx-runtime").JSX.Element;
25
26
  declare namespace DateComponent {
26
27
  var _supportsSpacingProps: boolean;
27
28
  }
@@ -15,7 +15,10 @@ var _Context = _interopRequireDefault(require("../../../../shared/Context"));
15
15
  var _dateFns = require("date-fns");
16
16
  var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
17
17
  var _Date = require("../../Value/Date");
18
- const _excluded = ["id", "path", "itemPath", "className", "label", "value", "hasError", "disabled", "htmlAttributes", "handleFocus", "handleBlur", "handleChange", "setDisplayValue", "range", "showCancelButton", "showResetButton", "showInput", "onReset"];
18
+ var _DatePickerCalc = require("../../../../components/date-picker/DatePickerCalc");
19
+ var _utils2 = require("../../utils");
20
+ const _excluded = ["id", "path", "itemPath", "className", "label", "value", "hasError", "disabled", "htmlAttributes", "handleFocus", "handleBlur", "handleChange", "setDisplayValue", "range", "showCancelButton", "showResetButton", "showInput", "onReset", "minDate", "maxDate"],
21
+ _excluded2 = ["value", "isRange", "locale"];
19
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -28,16 +31,20 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
28
31
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
29
32
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
30
33
  function DateComponent(props) {
31
- const translations = (0, _useTranslation.default)();
34
+ var _props$validateInitia;
35
+ const {
36
+ errorRequired,
37
+ label: defaultLabel
38
+ } = (0, _useTranslation.default)().Date;
32
39
  const {
33
40
  locale
34
41
  } = (0, _react.useContext)(_Context.default);
35
42
  const errorMessages = (0, _react.useMemo)(() => {
36
43
  return _objectSpread({
37
- 'Field.errorRequired': translations.Date.errorRequired,
38
- 'Field.errorPattern': translations.Date.errorRequired
44
+ 'Field.errorRequired': errorRequired,
45
+ 'Field.errorPattern': errorRequired
39
46
  }, props.errorMessages);
40
- }, [props.errorMessages, translations.Date.errorRequired]);
47
+ }, [props.errorMessages, errorRequired]);
41
48
  const schema = (0, _react.useMemo)(() => {
42
49
  var _props$schema;
43
50
  return (_props$schema = props.schema) !== null && _props$schema !== void 0 ? _props$schema : {
@@ -55,6 +62,28 @@ function DateComponent(props) {
55
62
  }
56
63
  return undefined;
57
64
  }, []);
65
+ const dateLimitValidator = (0, _react.useCallback)(value => {
66
+ const res = validateDateLimit({
67
+ value,
68
+ locale,
69
+ minDate: props.minDate,
70
+ maxDate: props.maxDate,
71
+ isRange: props.range
72
+ });
73
+ return res;
74
+ }, [props.maxDate, props.minDate, props.range, locale]);
75
+ const onBlurValidator = (0, _react.useMemo)(() => {
76
+ if (props.onBlurValidator === false) {
77
+ return undefined;
78
+ }
79
+ if (props.onBlurValidator) {
80
+ return props.onBlurValidator;
81
+ }
82
+ return dateLimitValidator;
83
+ }, [props.onBlurValidator, dateLimitValidator]);
84
+ const hasDateLimitAndValue = (0, _react.useMemo)(() => {
85
+ return (props.minDate || props.maxDate) && Boolean(props.value);
86
+ }, [props.minDate, props.maxDate, props.value]);
58
87
  const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
59
88
  errorMessages,
60
89
  schema,
@@ -66,7 +95,12 @@ function DateComponent(props) {
66
95
  } = _ref2;
67
96
  return range ? `${start_date}|${end_date}` : date;
68
97
  },
69
- validateRequired
98
+ validateRequired,
99
+ validateInitially: (_props$validateInitia = props.validateInitially) !== null && _props$validateInitia !== void 0 ? _props$validateInitia : hasDateLimitAndValue,
100
+ onBlurValidator,
101
+ exportValidators: {
102
+ dateLimitValidator
103
+ }
70
104
  });
71
105
  const _useFieldProps = (0, _hooks.useFieldProps)(preparedProps),
72
106
  {
@@ -87,7 +121,9 @@ function DateComponent(props) {
87
121
  showCancelButton = true,
88
122
  showResetButton = true,
89
123
  showInput = true,
90
- onReset
124
+ onReset,
125
+ minDate,
126
+ maxDate
91
127
  } = _useFieldProps,
92
128
  rest = _objectWithoutProperties(_useFieldProps, _excluded);
93
129
  const datePickerProps = pickDatePickerProps(rest);
@@ -103,7 +139,7 @@ function DateComponent(props) {
103
139
  endDate: undefined
104
140
  };
105
141
  }
106
- const [startDate, endDate] = valueProp.split('|').map(value => /(undefined|null)/.test(value) ? null : value);
142
+ const [startDate, endDate] = parseRangeValue(valueProp);
107
143
  return {
108
144
  value: undefined,
109
145
  startDate,
@@ -114,12 +150,12 @@ function DateComponent(props) {
114
150
  if ((path || itemPath) && valueProp) {
115
151
  setDisplayValue((0, _Date.formatDate)(valueProp, {
116
152
  locale
117
- }));
153
+ }), undefined);
118
154
  }
119
155
  }, [itemPath, locale, path, setDisplayValue, valueProp]);
120
156
  const fieldBlockProps = _objectSpread({
121
157
  forId: id,
122
- label: label !== null && label !== void 0 ? label : translations.Date.label,
158
+ label: label !== null && label !== void 0 ? label : defaultLabel,
123
159
  className: (0, _classnames.default)('dnb-forms-field-string', className)
124
160
  }, (0, _utils.pickSpacingProps)(props));
125
161
  return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_components.DatePicker, _extends({
@@ -131,6 +167,8 @@ function DateComponent(props) {
131
167
  showResetButton: showResetButton,
132
168
  startDate: startDate,
133
169
  endDate: endDate,
170
+ minDate: minDate,
171
+ maxDate: maxDate,
134
172
  status: hasError ? 'error' : undefined,
135
173
  range: range,
136
174
  onChange: handleChange,
@@ -142,7 +180,81 @@ function DateComponent(props) {
142
180
  onBlur: handleBlur
143
181
  }, datePickerProps, htmlAttributes)));
144
182
  }
145
- const datePickerPropKeys = ['month', 'startMonth', 'endMonth', 'minDate', 'maxDate', 'correctInvalidDate', 'maskOrder', 'maskPlaceholder', 'dateFormat', 'returnFormat', 'hideNavigation', 'hideDays', 'onlyMonth', 'hideLastWeek', 'disableAutofocus', 'showSubmitButton', 'submitButtonText', 'cancelButtonText', 'resetButtonText', 'firstDay', 'link', 'sync', 'addonElement', 'shortcuts', 'opened', 'direction', 'alignPicker', 'onDaysRender', 'showInput', 'onDaysRender', 'onType', 'onShow', 'onHide', 'onSubmit', 'onCancel', 'onReset'];
183
+ function parseRangeValue(value) {
184
+ return value.split('|').map(value => /(undefined|null)/.test(value) ? null : value);
185
+ }
186
+ function validateDateLimit(_ref3) {
187
+ let {
188
+ value,
189
+ isRange,
190
+ locale
191
+ } = _ref3,
192
+ dates = _objectWithoutProperties(_ref3, _excluded2);
193
+ if (!dates.minDate && !dates.maxDate || !value) {
194
+ return;
195
+ }
196
+ const [startDateParsed, endDateParsed] = parseRangeValue(value);
197
+ const minDate = (0, _DatePickerCalc.convertStringToDate)(dates.minDate);
198
+ const maxDate = (0, _DatePickerCalc.convertStringToDate)(dates.maxDate);
199
+ const startDate = (0, _DatePickerCalc.convertStringToDate)(startDateParsed);
200
+ const endDate = (0, _DatePickerCalc.convertStringToDate)(endDateParsed);
201
+ const isoDates = {
202
+ minDate: dates.minDate instanceof Date ? dates.minDate.toISOString() : dates.minDate,
203
+ maxDate: dates.maxDate instanceof Date ? dates.maxDate.toISOString() : dates.maxDate
204
+ };
205
+ const options = {
206
+ locale,
207
+ variant: 'long'
208
+ };
209
+ if (!isRange) {
210
+ if ((0, _dateFns.isBefore)(startDate, minDate)) {
211
+ return new _utils2.FormError('Date.errorMinDate', {
212
+ messageValues: {
213
+ date: (0, _Date.formatDate)(isoDates.minDate, options)
214
+ }
215
+ });
216
+ }
217
+ if ((0, _dateFns.isAfter)(startDate, maxDate)) {
218
+ return new _utils2.FormError('Date.errorMaxDate', {
219
+ messageValues: {
220
+ date: (0, _Date.formatDate)(isoDates.maxDate, options)
221
+ }
222
+ });
223
+ }
224
+ return;
225
+ }
226
+ const messages = [];
227
+ if ((0, _dateFns.isBefore)(startDate, minDate)) {
228
+ messages.push(new _utils2.FormError('Date.errorStartDateMinDate', {
229
+ messageValues: {
230
+ date: (0, _Date.formatDate)(isoDates.minDate, options)
231
+ }
232
+ }));
233
+ }
234
+ if ((0, _dateFns.isAfter)(startDate, maxDate)) {
235
+ messages.push(new _utils2.FormError('Date.errorStartDateMaxDate', {
236
+ messageValues: {
237
+ date: (0, _Date.formatDate)(isoDates.maxDate, options)
238
+ }
239
+ }));
240
+ }
241
+ if ((0, _dateFns.isBefore)(endDate, minDate)) {
242
+ messages.push(new _utils2.FormError('Date.errorEndDateMinDate', {
243
+ messageValues: {
244
+ date: (0, _Date.formatDate)(isoDates.minDate, options)
245
+ }
246
+ }));
247
+ }
248
+ if ((0, _dateFns.isAfter)(endDate, maxDate)) {
249
+ messages.push(new _utils2.FormError('Date.errorEndDateMaxDate', {
250
+ messageValues: {
251
+ date: (0, _Date.formatDate)(isoDates.maxDate, options)
252
+ }
253
+ }));
254
+ }
255
+ return messages;
256
+ }
257
+ const datePickerPropKeys = ['month', 'startMonth', 'endMonth', 'minDate', 'maxDate', 'correctInvalidDate', 'maskOrder', 'maskPlaceholder', 'dateFormat', 'returnFormat', 'hideNavigation', 'hideDays', 'onlyMonth', 'hideLastWeek', 'disableAutofocus', 'showSubmitButton', 'submitButtonText', 'cancelButtonText', 'resetButtonText', 'firstDay', 'link', 'size', 'sync', 'addonElement', 'shortcuts', 'opened', 'direction', 'alignPicker', 'onDaysRender', 'showInput', 'onDaysRender', 'onType', 'onShow', 'onHide', 'onSubmit', 'onCancel', 'onReset'];
146
258
  function pickDatePickerProps(props) {
147
259
  const datePickerProps = Object.keys(props).reduce((datePickerProps, key) => {
148
260
  if (datePickerPropKeys.includes(key)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_classnames","_interopRequireDefault","_FieldBlock","_Context","_dateFns","_useTranslation","_Date","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DateComponent","props","translations","useTranslation","locale","useContext","SharedContext","errorMessages","useMemo","Date","errorRequired","schema","_props$schema","type","pattern","validateRequired","useCallback","_ref","required","error","isValid","parseISO","preparedProps","fromInput","_ref2","date","start_date","end_date","range","_useFieldProps","useFieldProps","id","path","itemPath","className","label","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","rest","datePickerProps","pickDatePickerProps","startDate","endDate","split","map","test","formatDate","fieldBlockProps","forId","classnames","pickSpacingProps","createElement","DatePicker","status","onChange","event","onFocus","onBlur","datePickerPropKeys","reduce","includes","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps, AllJSONSchemaVersions } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport { formatDate } from '../../Value/Date'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type Props = FieldProps<string, undefined | string> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'correctInvalidDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n >\n\nfunction DateComponent(props: Props) {\n const translations = useTranslation()\n const { locale } = useContext(SharedContext)\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': translations.Date.errorRequired,\n 'Field.errorPattern': translations.Date.errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, translations.Date.errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({\n date,\n start_date,\n end_date,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n return range ? `${start_date}|${end_date}` : date\n },\n validateRequired,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = valueProp\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }))\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? translations.Date.label,\n className: classnames('dnb-forms-field-string', className),\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n startDate={startDate}\n endDate={endDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n]\n\nfunction pickDatePickerProps(props: Props) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_classnames","_interopRequireDefault","_FieldBlock","_Context","_dateFns","_useTranslation","_Date","_DatePickerCalc","_utils2","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DateComponent","props","_props$validateInitia","errorRequired","label","defaultLabel","useTranslation","Date","locale","useContext","SharedContext","errorMessages","useMemo","schema","_props$schema","type","pattern","validateRequired","useCallback","_ref","required","error","isValid","parseISO","dateLimitValidator","validateDateLimit","minDate","maxDate","isRange","range","onBlurValidator","hasDateLimitAndValue","Boolean","preparedProps","fromInput","_ref2","date","start_date","end_date","validateInitially","exportValidators","_useFieldProps","useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","rest","datePickerProps","pickDatePickerProps","startDate","endDate","parseRangeValue","formatDate","fieldBlockProps","forId","classnames","pickSpacingProps","createElement","DatePicker","status","onChange","event","onFocus","onBlur","split","map","test","_ref3","dates","startDateParsed","endDateParsed","convertStringToDate","isoDates","toISOString","options","variant","isBefore","FormError","messageValues","isAfter","messages","datePickerPropKeys","reduce","includes","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FormatDateOptions, formatDate } from '../../Value/Date'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport { convertStringToDate } from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'correctInvalidDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const dateLimitValidator = useCallback(\n (value: string) => {\n const res = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return res\n },\n [props.maxDate, props.minDate, props.range, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateLimitValidator\n }, [props.onBlurValidator, dateLimitValidator])\n\n const hasDateLimitAndValue = useMemo(() => {\n return (props.minDate || props.maxDate) && Boolean(props.value)\n }, [props.minDate, props.maxDate, props.value])\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({\n date,\n start_date,\n end_date,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n return range ? `${start_date}|${end_date}` : date\n },\n validateRequired,\n validateInitially: props.validateInitially ?? hasDateLimitAndValue,\n onBlurValidator,\n exportValidators: { dateLimitValidator },\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nfunction parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n const minDate = convertStringToDate(dates.minDate)\n const maxDate = convertStringToDate(dates.maxDate)\n\n const startDate = convertStringToDate(startDateParsed)\n const endDate = convertStringToDate(endDateParsed)\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n variant: 'long',\n }\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n return new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n }\n\n if (isAfter(startDate, maxDate)) {\n return new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n }\n\n return\n }\n\n const messages: Array<FormError> = []\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}