@dnb/eufemia 10.52.0 → 10.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  3. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  4. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  5. package/cjs/components/upload/UploadVerify.js +2 -2
  6. package/cjs/components/upload/UploadVerify.js.map +1 -1
  7. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  8. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  9. package/cjs/extensions/forms/DataContext/Provider/Provider.js +3 -4
  10. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  11. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +5 -1
  12. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  13. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  14. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +51 -11
  15. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  16. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  17. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +25 -0
  18. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  19. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +1 -1
  20. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  21. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  22. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +61 -17
  23. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  24. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  25. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  26. package/cjs/extensions/forms/Field/Slider/Slider.js +3 -1
  27. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  28. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +21 -3
  29. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  30. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  31. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  32. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  33. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  34. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  35. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  36. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  37. package/cjs/extensions/forms/Iterate/Array/Array.js +51 -27
  38. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  39. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  40. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  41. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +89 -73
  42. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  43. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +12 -12
  44. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +24 -24
  45. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  46. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  47. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  48. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  49. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  50. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  51. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  52. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  53. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  54. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -2
  55. package/cjs/extensions/forms/hooks/useFieldProps.js +40 -8
  56. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  57. package/cjs/extensions/forms/hooks/useTranslation.d.ts +4 -1
  58. package/cjs/extensions/forms/hooks/useTranslation.js +6 -3
  59. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  60. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  61. package/cjs/extensions/forms/hooks/useValueProps.js +2 -2
  62. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  63. package/cjs/extensions/forms/style/dnb-forms.css +6 -0
  64. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  65. package/cjs/extensions/forms/types.d.ts +2 -1
  66. package/cjs/extensions/forms/types.js.map +1 -1
  67. package/cjs/shared/Context.d.ts +4 -4
  68. package/cjs/shared/Context.js.map +1 -1
  69. package/cjs/shared/Eufemia.d.ts +1 -1
  70. package/cjs/shared/Eufemia.js +2 -2
  71. package/cjs/shared/Eufemia.js.map +1 -1
  72. package/cjs/shared/defaults.d.ts +1 -0
  73. package/cjs/shared/defaults.js +3 -1
  74. package/cjs/shared/defaults.js.map +1 -1
  75. package/cjs/shared/useTranslation.d.ts +11 -4
  76. package/cjs/shared/useTranslation.js +68 -22
  77. package/cjs/shared/useTranslation.js.map +1 -1
  78. package/cjs/style/core/scopes.scss +1 -1
  79. package/cjs/style/dnb-ui-basis.css +1 -1
  80. package/cjs/style/dnb-ui-basis.min.css +1 -1
  81. package/cjs/style/dnb-ui-body.css +1 -1
  82. package/cjs/style/dnb-ui-body.min.css +1 -1
  83. package/cjs/style/dnb-ui-components.css +6 -0
  84. package/cjs/style/dnb-ui-components.min.css +1 -1
  85. package/cjs/style/dnb-ui-core.css +1 -1
  86. package/cjs/style/dnb-ui-core.min.css +1 -1
  87. package/cjs/style/dnb-ui-extensions.css +6 -0
  88. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  89. package/cjs/style/dnb-ui-forms.css +6 -0
  90. package/cjs/style/dnb-ui-forms.min.css +1 -1
  91. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +12 -0
  92. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  93. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +6 -0
  94. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  95. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +6 -0
  96. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  97. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +12 -0
  98. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  99. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +6 -0
  100. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  101. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +6 -0
  102. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  103. package/cjs/style/themes/theme-ui/ui-theme-components.css +12 -0
  104. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  105. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +6 -0
  106. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  107. package/cjs/style/themes/theme-ui/ui-theme-forms.css +6 -0
  108. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  109. package/components/number-format/NumberUtils.js.map +1 -1
  110. package/components/progress-indicator/ProgressIndicator.js +2 -2
  111. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  112. package/components/upload/UploadVerify.js +2 -2
  113. package/components/upload/UploadVerify.js.map +1 -1
  114. package/es/components/number-format/NumberUtils.js.map +1 -1
  115. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  116. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  117. package/es/components/upload/UploadVerify.js +2 -2
  118. package/es/components/upload/UploadVerify.js.map +1 -1
  119. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  120. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  121. package/es/extensions/forms/DataContext/Provider/Provider.js +3 -4
  122. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  123. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +5 -1
  124. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  125. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  126. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -12
  127. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  128. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  129. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  130. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  131. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +1 -1
  132. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  133. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  134. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +59 -17
  135. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  136. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  137. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  138. package/es/extensions/forms/Field/Slider/Slider.js +3 -1
  139. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  140. package/es/extensions/forms/FieldBlock/FieldBlock.js +21 -3
  141. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  142. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  143. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  144. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  145. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  146. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  147. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  148. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  149. package/es/extensions/forms/Iterate/Array/Array.js +52 -28
  150. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  151. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  152. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  153. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +89 -70
  154. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  155. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +12 -12
  156. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +24 -24
  157. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  158. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  159. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  160. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  161. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  162. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  163. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  164. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  165. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  166. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -2
  167. package/es/extensions/forms/hooks/useFieldProps.js +40 -9
  168. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  169. package/es/extensions/forms/hooks/useTranslation.d.ts +4 -1
  170. package/es/extensions/forms/hooks/useTranslation.js +7 -4
  171. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  172. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  173. package/es/extensions/forms/hooks/useValueProps.js +2 -2
  174. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  175. package/es/extensions/forms/style/dnb-forms.css +6 -0
  176. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  177. package/es/extensions/forms/types.d.ts +2 -1
  178. package/es/extensions/forms/types.js.map +1 -1
  179. package/es/shared/Context.d.ts +4 -4
  180. package/es/shared/Context.js.map +1 -1
  181. package/es/shared/Eufemia.d.ts +1 -1
  182. package/es/shared/Eufemia.js +2 -2
  183. package/es/shared/Eufemia.js.map +1 -1
  184. package/es/shared/defaults.d.ts +1 -0
  185. package/es/shared/defaults.js +1 -0
  186. package/es/shared/defaults.js.map +1 -1
  187. package/es/shared/useTranslation.d.ts +11 -4
  188. package/es/shared/useTranslation.js +64 -22
  189. package/es/shared/useTranslation.js.map +1 -1
  190. package/es/style/core/scopes.scss +1 -1
  191. package/es/style/dnb-ui-basis.css +1 -1
  192. package/es/style/dnb-ui-basis.min.css +1 -1
  193. package/es/style/dnb-ui-body.css +1 -1
  194. package/es/style/dnb-ui-body.min.css +1 -1
  195. package/es/style/dnb-ui-components.css +6 -0
  196. package/es/style/dnb-ui-components.min.css +1 -1
  197. package/es/style/dnb-ui-core.css +1 -1
  198. package/es/style/dnb-ui-core.min.css +1 -1
  199. package/es/style/dnb-ui-extensions.css +6 -0
  200. package/es/style/dnb-ui-extensions.min.css +1 -1
  201. package/es/style/dnb-ui-forms.css +6 -0
  202. package/es/style/dnb-ui-forms.min.css +1 -1
  203. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +12 -0
  204. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  205. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +6 -0
  206. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  207. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +6 -0
  208. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  209. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +12 -0
  210. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  211. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +6 -0
  212. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  213. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +6 -0
  214. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  215. package/es/style/themes/theme-ui/ui-theme-components.css +12 -0
  216. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  217. package/es/style/themes/theme-ui/ui-theme-extensions.css +6 -0
  218. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  219. package/es/style/themes/theme-ui/ui-theme-forms.css +6 -0
  220. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  221. package/esm/dnb-ui-basis.min.mjs +1 -1
  222. package/esm/dnb-ui-components.min.mjs +1 -1
  223. package/esm/dnb-ui-elements.min.mjs +1 -1
  224. package/esm/dnb-ui-extensions.min.mjs +5 -5
  225. package/esm/dnb-ui-lib.min.mjs +1 -1
  226. package/extensions/forms/DataContext/Context.d.ts +1 -0
  227. package/extensions/forms/DataContext/Context.js.map +1 -1
  228. package/extensions/forms/DataContext/Provider/Provider.js +3 -4
  229. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  230. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +5 -1
  231. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  232. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  233. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -12
  234. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  235. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  236. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  237. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  238. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +1 -1
  239. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  240. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  241. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +59 -17
  242. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  243. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  244. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  245. package/extensions/forms/Field/Slider/Slider.js +3 -1
  246. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  247. package/extensions/forms/FieldBlock/FieldBlock.js +21 -3
  248. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  249. package/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  250. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  251. package/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  252. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  253. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  254. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  255. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  256. package/extensions/forms/Iterate/Array/Array.js +52 -28
  257. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  258. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  259. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  260. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +89 -73
  261. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  262. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +12 -12
  263. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +24 -24
  264. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  265. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  266. package/extensions/forms/constants/locales/en-GB.js +3 -2
  267. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  268. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  269. package/extensions/forms/constants/locales/index.d.ts +4 -2
  270. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  271. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  272. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  273. package/extensions/forms/hooks/useFieldProps.d.ts +4 -2
  274. package/extensions/forms/hooks/useFieldProps.js +41 -9
  275. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  276. package/extensions/forms/hooks/useTranslation.d.ts +4 -1
  277. package/extensions/forms/hooks/useTranslation.js +7 -4
  278. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  279. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  280. package/extensions/forms/hooks/useValueProps.js +2 -2
  281. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  282. package/extensions/forms/style/dnb-forms.css +6 -0
  283. package/extensions/forms/style/dnb-forms.min.css +1 -1
  284. package/extensions/forms/types.d.ts +2 -1
  285. package/extensions/forms/types.js.map +1 -1
  286. package/package.json +1 -1
  287. package/shared/Context.d.ts +4 -4
  288. package/shared/Context.js.map +1 -1
  289. package/shared/Eufemia.d.ts +1 -1
  290. package/shared/Eufemia.js +2 -2
  291. package/shared/Eufemia.js.map +1 -1
  292. package/shared/defaults.d.ts +1 -0
  293. package/shared/defaults.js +1 -0
  294. package/shared/defaults.js.map +1 -1
  295. package/shared/useTranslation.d.ts +11 -4
  296. package/shared/useTranslation.js +64 -22
  297. package/shared/useTranslation.js.map +1 -1
  298. package/style/core/scopes.scss +1 -1
  299. package/style/dnb-ui-basis.css +1 -1
  300. package/style/dnb-ui-basis.min.css +1 -1
  301. package/style/dnb-ui-body.css +1 -1
  302. package/style/dnb-ui-body.min.css +1 -1
  303. package/style/dnb-ui-components.css +6 -0
  304. package/style/dnb-ui-components.min.css +1 -1
  305. package/style/dnb-ui-core.css +1 -1
  306. package/style/dnb-ui-core.min.css +1 -1
  307. package/style/dnb-ui-extensions.css +6 -0
  308. package/style/dnb-ui-extensions.min.css +1 -1
  309. package/style/dnb-ui-forms.css +6 -0
  310. package/style/dnb-ui-forms.min.css +1 -1
  311. package/style/themes/theme-eiendom/eiendom-theme-components.css +12 -0
  312. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  313. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +6 -0
  314. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  315. package/style/themes/theme-eiendom/eiendom-theme-forms.css +6 -0
  316. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  317. package/style/themes/theme-sbanken/sbanken-theme-components.css +12 -0
  318. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  319. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +6 -0
  320. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  321. package/style/themes/theme-sbanken/sbanken-theme-forms.css +6 -0
  322. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  323. package/style/themes/theme-ui/ui-theme-components.css +12 -0
  324. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  325. package/style/themes/theme-ui/ui-theme-extensions.css +6 -0
  326. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  327. package/style/themes/theme-ui/ui-theme-forms.css +6 -0
  328. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  329. package/umd/dnb-ui-basis.min.js +1 -1
  330. package/umd/dnb-ui-components.min.js +1 -1
  331. package/umd/dnb-ui-elements.min.js +1 -1
  332. package/umd/dnb-ui-extensions.min.js +5 -5
  333. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_utils","_Selection","_ToggleButtonGroupContext","_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","label","labelDescription","error","hasError","help","info","warning","disabled","emptyValue","htmlAttributes","handleChange","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","createElement","Fragment","HelpButton","size","left","title","content","pickSpacingProps","options","useCheckboxOrToggleOptions","Provider","status","_ref","setFieldProps","useContext","DataContext","optionsCount","useMemo","React","Children","count","collectedData","createOption","useCallback","selected","rest","includes","getStatus","suffix","handleSelect","newValue","Component","Checkbox","ToggleButton","text","checked","on_change","result","map","mapOptions","Boolean","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { FieldHelpProps, FieldProps, FormError, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { getStatus, mapOptions, Data } from '../Selection'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpButtonProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n }>\n>\n\nexport type Props = FieldHelpProps &\n FieldProps<Array<string | number> | 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\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 label,\n labelDescription,\n value,\n error,\n hasError,\n help,\n info,\n warning,\n disabled,\n emptyValue,\n htmlAttributes,\n handleChange,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const 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 help,\n info,\n warning,\n error,\n layout,\n label,\n labelDescription: (\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n ),\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 handleChange,\n hasError,\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 variant:\n variant === 'checkbox-button' ? 'checkbox' : 'default',\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}: {\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}) {\n const { setFieldProps } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const collectedData = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: selected,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(selected)) {\n collectedData.push(props)\n }\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n const handleSelect = () => {\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\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 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(selected)}\n status={(hasError || status) && 'error'}\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 (path) {\n setFieldProps?.(path + '/arraySelectionData', collectedData)\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","_components","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_utils","_Selection","_ToggleButtonGroupContext","_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","label","labelDescription","error","hasError","help","info","warning","disabled","emptyValue","htmlAttributes","handleChange","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","createElement","Fragment","HelpButton","size","left","title","content","pickSpacingProps","options","useCheckboxOrToggleOptions","Provider","status","_ref","setFieldProps","useContext","DataContext","optionsCount","useMemo","React","Children","count","collectedData","createOption","useCallback","selected","rest","includes","getStatus","suffix","handleSelect","newValue","Component","Checkbox","ToggleButton","text","checked","on_change","result","map","mapOptions","Boolean","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport {\n DefaultErrorMessages,\n FieldHelpProps,\n FieldProps,\n FormError,\n Path,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { getStatus, mapOptions, Data } from '../Selection'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpButtonProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n }>\n>\n\nexport type Props = FieldHelpProps &\n FieldProps<Array<string | number> | 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 label,\n labelDescription,\n value,\n error,\n hasError,\n help,\n info,\n warning,\n disabled,\n emptyValue,\n htmlAttributes,\n handleChange,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const 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 help,\n info,\n warning,\n error,\n layout,\n label,\n labelDescription: (\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n ),\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 handleChange,\n hasError,\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 variant:\n variant === 'checkbox-button' ? 'checkbox' : 'default',\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}: {\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}) {\n const { setFieldProps } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const collectedData = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: selected,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(selected)) {\n collectedData.push(props)\n }\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n const handleSelect = () => {\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\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 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(selected)}\n status={(hasError || status) && 'error'}\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 (path) {\n setFieldProps?.(path + '/arraySelectionData', collectedData)\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Props as StringFieldProps } from '../String';
2
- export type Props = StringFieldProps & {
2
+ import { Validator } from '../../types';
3
+ export type Props = Omit<StringFieldProps, 'onBlurValidator'> & {
3
4
  validate?: boolean;
4
5
  omitMask?: boolean;
6
+ onBlurValidator?: Validator<string> | false;
5
7
  };
6
8
  declare function BankAccountNumber(props: Props): import("react/jsx-runtime").JSX.Element;
7
9
  declare namespace BankAccountNumber {
@@ -17,28 +17,68 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
17
17
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
18
  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); }
19
19
  function BankAccountNumber(props) {
20
- var _props$pattern, _props$label, _props$width;
21
- const translations = (0, _useTranslation.default)().BankAccountNumber;
22
20
  const {
23
- validate = true,
24
- omitMask
25
- } = props;
21
+ errorBankAccountNumber,
22
+ errorBankAccountNumberLength,
23
+ errorRequired,
24
+ label
25
+ } = (0, _useTranslation.default)().BankAccountNumber;
26
26
  const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
27
- required: translations.errorRequired,
28
- pattern: translations.errorPattern
27
+ required: errorRequired,
28
+ pattern: errorBankAccountNumber,
29
+ errorBankAccountNumber,
30
+ errorBankAccountNumberLength
29
31
  });
32
+ const bankAccountNumberValidator = (0, _react.useCallback)(value => {
33
+ if (value !== undefined) {
34
+ const bankAccountNoIs11Digits = (value === null || value === void 0 ? void 0 : value.length) === 11;
35
+ if (!bankAccountNoIs11Digits) {
36
+ return Error(errorBankAccountNumberLength);
37
+ }
38
+ if (bankAccountNoIs11Digits && !isValidAccountNumber(value)) {
39
+ return Error(errorBankAccountNumber);
40
+ }
41
+ }
42
+ }, [errorBankAccountNumber, errorBankAccountNumberLength]);
43
+ const {
44
+ validate = true,
45
+ omitMask,
46
+ validator,
47
+ onBlurValidator = bankAccountNumberValidator,
48
+ label: labelProp,
49
+ width
50
+ } = props;
30
51
  const mask = (0, _react.useMemo)(() => omitMask ? [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/] : [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/], [omitMask]);
52
+ const onBlurValidatorToUse = onBlurValidator === false ? undefined : onBlurValidator;
31
53
  const StringFieldProps = _objectSpread(_objectSpread({}, props), {}, {
32
54
  className: 'dnb-forms-field-bank-account-number',
33
- pattern: (_props$pattern = props.pattern) !== null && _props$pattern !== void 0 ? _props$pattern : validate ? '^[0-9]{11}$' : undefined,
34
- label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : translations.label,
55
+ label: labelProp !== null && labelProp !== void 0 ? labelProp : label,
35
56
  errorMessages,
36
57
  mask,
37
- width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium',
38
- inputMode: 'numeric'
58
+ width: width !== null && width !== void 0 ? width : 'medium',
59
+ inputMode: 'numeric',
60
+ validator: validate ? validator : undefined,
61
+ onBlurValidator: validate ? onBlurValidatorToUse : undefined,
62
+ exportValidators: {
63
+ bankAccountNumberValidator
64
+ }
39
65
  });
40
66
  return _react.default.createElement(_String.default, StringFieldProps);
41
67
  }
68
+ function isValidAccountNumber(digits) {
69
+ let checkDigit = 2;
70
+ let sum = 0;
71
+ for (let i = digits.length - 2; i >= 0; --i) {
72
+ sum += parseInt(digits.charAt(i)) * checkDigit;
73
+ checkDigit += 1;
74
+ if (checkDigit > 7) {
75
+ checkDigit = 2;
76
+ }
77
+ }
78
+ const result = 11 - sum % 11;
79
+ const finalCheckDigit = result === 11 ? 0 : result;
80
+ return parseInt(digits.charAt(digits.length - 1), 10) === finalCheckDigit;
81
+ }
42
82
  BankAccountNumber._supportsSpacingProps = true;
43
83
  var _default = BankAccountNumber;
44
84
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"BankAccountNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_useErrorMessage","_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","_props$pattern","_props$label","_props$width","translations","useTranslation","validate","omitMask","errorMessages","useErrorMessage","path","required","errorRequired","pattern","errorPattern","mask","useMemo","StringFieldProps","className","label","width","inputMode","createElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringFieldProps & {\n validate?: boolean\n omitMask?: boolean\n}\n\nfunction BankAccountNumber(props: Props) {\n const translations = useTranslation().BankAccountNumber\n const { validate = true, omitMask } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\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 StringFieldProps: Props = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),\n label: props.label ?? translations.label,\n errorMessages,\n mask,\n width: props.width ?? 'medium',\n inputMode: 'numeric',\n }\n\n return <StringField {...StringFieldProps} />\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","_useErrorMessage","_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","useErrorMessage","path","required","pattern","bankAccountNumberValidator","useCallback","bankAccountNoIs11Digits","Error","isValidAccountNumber","validate","omitMask","validator","onBlurValidator","labelProp","width","mask","useMemo","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 useErrorMessage from '../../hooks/useErrorMessage'\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 = useErrorMessage(props.path, props.errorMessages, {\n required: errorRequired,\n pattern: errorBankAccountNumber,\n errorBankAccountNumber,\n errorBankAccountNumberLength,\n })\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 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 validator: validate ? validator : 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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"}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../../../shared/types';
2
+ export declare const BankAccountNumberProperties: PropertiesTableProps;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BankAccountNumberProperties = void 0;
7
+ const BankAccountNumberProperties = {
8
+ validate: {
9
+ doc: 'Using this prop you can disable the default validation.',
10
+ type: 'boolean',
11
+ status: 'optional'
12
+ },
13
+ help: {
14
+ doc: 'Provide a help button. Object consisting of `title` and `content`.',
15
+ type: 'object',
16
+ status: 'optional'
17
+ },
18
+ onBlurValidator: {
19
+ doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to bank account number validation, using `bankAccountNumberValidator`. Can be disabled using `false`.',
20
+ type: 'function',
21
+ status: 'optional'
22
+ }
23
+ };
24
+ exports.BankAccountNumberProperties = BankAccountNumberProperties;
25
+ //# sourceMappingURL=BankAccountNumberDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BankAccountNumberDocs.js","names":["BankAccountNumberProperties","validate","doc","type","status","help","onBlurValidator","exports"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const BankAccountNumberProperties: PropertiesTableProps = {\n validate: {\n doc: 'Using this prop you can disable the default validation.',\n type: 'boolean',\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n onBlurValidator: {\n doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to bank account number validation, using `bankAccountNumberValidator`. Can be disabled using `false`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,2BAAiD,GAAG;EAC/DC,QAAQ,EAAE;IACRC,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,eAAe,EAAE;IACfJ,GAAG,EAAE,8aAA8a;IACnbC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAG,OAAA,CAAAP,2BAAA,GAAAA,2BAAA"}
@@ -16,7 +16,7 @@ const OrganizationNumberProperties = {
16
16
  status: 'optional'
17
17
  },
18
18
  onBlurValidator: {
19
- doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to organization number validation, using `organizationNumberValidator`.',
19
+ doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to organization number validation, using `organizationNumberValidator`. Can be disabled using `false`.',
20
20
  type: 'function',
21
21
  status: 'optional'
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationNumberDocs.js","names":["OrganizationNumberProperties","validate","doc","type","status","help","onBlurValidator","exports"],"sources":["../../../../../../src/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const OrganizationNumberProperties: PropertiesTableProps = {\n validate: {\n doc: 'Using this prop you can disable the default validation.',\n type: 'boolean',\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n onBlurValidator: {\n doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to organization number validation, using `organizationNumberValidator`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,4BAAkD,GAAG;EAChEC,QAAQ,EAAE;IACRC,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,eAAe,EAAE;IACfJ,GAAG,EAAE,gZAAgZ;IACrZC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAG,OAAA,CAAAP,4BAAA,GAAAA,4BAAA"}
1
+ {"version":3,"file":"OrganizationNumberDocs.js","names":["OrganizationNumberProperties","validate","doc","type","status","help","onBlurValidator","exports"],"sources":["../../../../../../src/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const OrganizationNumberProperties: PropertiesTableProps = {\n validate: {\n doc: 'Using this prop you can disable the default validation.',\n type: 'boolean',\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n onBlurValidator: {\n doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to organization number validation, using `organizationNumberValidator`. Can be disabled using `false`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,4BAAkD,GAAG;EAChEC,QAAQ,EAAE;IACRC,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,eAAe,EAAE;IACfJ,GAAG,EAAE,+aAA+a;IACpbC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAG,OAAA,CAAAP,4BAAA,GAAAA,4BAAA"}
@@ -1,7 +1,15 @@
1
1
  import { Props as FieldBlockProps } from '../../FieldBlock';
2
2
  import { Props as StringFieldProps } from '../String';
3
- import { FieldHelpProps } from '../../types';
4
- export type Props = FieldHelpProps & Omit<FieldBlockProps, 'children'> & Partial<Record<'postalCode' | 'city', StringFieldProps>>;
3
+ import { FieldHelpProps, Path } from '../../types';
4
+ export type Props = FieldHelpProps & Omit<FieldBlockProps, 'children'> & Partial<Record<'postalCode' | 'city', StringFieldProps>> & {
5
+ /**
6
+ * Defines which country the postal code and city is for.
7
+ * Setting it to anything other than `no` will remove the default norwegian postal code pattern.
8
+ * You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`.
9
+ * Default: `NO`
10
+ */
11
+ country?: Path | string;
12
+ };
5
13
  declare function PostalCodeAndCity(props: Props): import("react/jsx-runtime").JSX.Element;
6
14
  declare namespace PostalCodeAndCity {
7
15
  var _supportsSpacingProps: boolean;
@@ -4,13 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _String = _interopRequireDefault(require("../String"));
10
10
  var _Composition = _interopRequireDefault(require("../Composition"));
11
11
  var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
12
- const _excluded = ["postalCode", "city", "help", "width"];
12
+ var _useDataValue = _interopRequireDefault(require("../../hooks/useDataValue"));
13
+ var _defaults = require("../../../../shared/defaults");
14
+ const _excluded = ["postalCode", "city", "help", "width", "country"];
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ 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); }
17
+ 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; }
14
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
19
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -20,43 +24,83 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
20
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
26
  function PostalCodeAndCity(props) {
23
- var _postalCode$pattern, _postalCode$label, _postalCode$placehold, _city$label, _city$pattern;
24
27
  const translations = (0, _useTranslation.default)();
28
+ const {
29
+ getSourceValue
30
+ } = (0, _useDataValue.default)();
25
31
  const {
26
32
  postalCode = {},
27
33
  city = {},
28
34
  help,
29
- width = 'large'
35
+ width = 'large',
36
+ country = _defaults.COUNTRY
30
37
  } = props,
31
38
  fieldBlockProps = _objectWithoutProperties(props, _excluded);
39
+ const {
40
+ pattern: cityPattern,
41
+ className: cityClassName,
42
+ label: cityLabel,
43
+ width: cityWidth,
44
+ errorMessages: cityErrorMessages
45
+ } = city;
46
+ const countryValue = getSourceValue(country);
47
+ const handleDefaults = (0, _react.useCallback)(postalCode => {
48
+ const props = {};
49
+ switch (countryValue) {
50
+ case _defaults.COUNTRY:
51
+ case 'DK':
52
+ case 'CH':
53
+ {
54
+ props.mask = [/\d/, /\d/, /\d/, /\d/];
55
+ props.pattern = '^[0-9]{4}$';
56
+ props.placeholder = '0000';
57
+ break;
58
+ }
59
+ default:
60
+ props.width = '8rem';
61
+ break;
62
+ }
63
+ return _objectSpread(_objectSpread({}, props), postalCode);
64
+ }, [countryValue]);
65
+ const {
66
+ mask: postalCodeMask,
67
+ pattern: postalCodePattern,
68
+ placeholder: postalCodePlaceHolder,
69
+ className: postalCodeClassName,
70
+ label: postalCodeLabel,
71
+ width: postalCodeWidth,
72
+ errorMessages: postalCodeErrorMessages
73
+ } = handleDefaults(postalCode);
74
+ const postalCodeValidationProps = {
75
+ mask: postalCodeMask,
76
+ pattern: postalCodePattern,
77
+ placeholder: postalCodePlaceHolder
78
+ };
32
79
  return _react.default.createElement(_Composition.default, _extends({
33
80
  className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city', props.className)
34
81
  }, fieldBlockProps, {
35
82
  width: width
36
- }), _react.default.createElement(_String.default, _extends({}, postalCode, {
37
- pattern: (_postalCode$pattern = postalCode.pattern) !== null && _postalCode$pattern !== void 0 ? _postalCode$pattern : '^[0-9]{4}$',
38
- mask: [/\d/, /\d/, /\d/, /\d/],
39
- className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city__postal-code', postalCode.className),
40
- label: (_postalCode$label = postalCode.label) !== null && _postalCode$label !== void 0 ? _postalCode$label : translations.PostalCode.label,
83
+ }), _react.default.createElement(_String.default, _extends({}, postalCode, postalCodeValidationProps, {
84
+ className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city__postal-code', postalCodeClassName),
85
+ label: postalCodeLabel !== null && postalCodeLabel !== void 0 ? postalCodeLabel : translations.PostalCode.label,
41
86
  errorMessages: _objectSpread({
42
87
  required: translations.PostalCode.errorRequired,
43
88
  pattern: translations.PostalCode.errorPattern
44
- }, postalCode.errorMessages),
45
- placeholder: (_postalCode$placehold = postalCode.placeholder) !== null && _postalCode$placehold !== void 0 ? _postalCode$placehold : '0000',
46
- width: false,
89
+ }, postalCodeErrorMessages),
90
+ width: postalCodeWidth !== null && postalCodeWidth !== void 0 ? postalCodeWidth : false,
47
91
  inputClassName: "dnb-forms-field-postal-code-and-city__postal-code-input",
48
92
  inputMode: "numeric",
49
93
  autoComplete: "postal-code"
50
94
  })), _react.default.createElement(_String.default, _extends({}, city, {
51
- className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city__city', city.className),
52
- label: (_city$label = city.label) !== null && _city$label !== void 0 ? _city$label : translations.City.label,
95
+ className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city__city', cityClassName),
96
+ label: cityLabel !== null && cityLabel !== void 0 ? cityLabel : translations.City.label,
53
97
  errorMessages: _objectSpread({
54
98
  required: translations.City.errorRequired,
55
99
  pattern: translations.City.errorPattern
56
- }, city.errorMessages),
57
- pattern: (_city$pattern = city.pattern) !== null && _city$pattern !== void 0 ? _city$pattern : '^[A-Za-zÆØÅæøå -]+$',
100
+ }, cityErrorMessages),
101
+ pattern: cityPattern !== null && cityPattern !== void 0 ? cityPattern : '^[A-Za-zÆØÅæøå -]+$',
58
102
  trim: true,
59
- width: "stretch",
103
+ width: cityWidth !== null && cityWidth !== void 0 ? cityWidth : 'stretch',
60
104
  autoComplete: "address-level2",
61
105
  help: help
62
106
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCodeAndCity.js","names":["_react","_interopRequireDefault","require","_classnames","_String","_Composition","_useTranslation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","PostalCodeAndCity","props","_postalCode$pattern","_postalCode$label","_postalCode$placehold","_city$label","_city$pattern","translations","useTranslation","postalCode","city","help","width","fieldBlockProps","createElement","className","classnames","pattern","mask","label","PostalCode","errorMessages","required","errorRequired","errorPattern","placeholder","inputClassName","inputMode","autoComplete","City","trim","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport CompositionField from '../Composition'\nimport { FieldHelpProps } from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Partial<Record<'postalCode' | 'city', StringFieldProps>>\n\nfunction PostalCodeAndCity(props: Props) {\n const translations = useTranslation()\n\n const {\n postalCode = {},\n city = {},\n help,\n width = 'large',\n ...fieldBlockProps\n } = props\n\n return (\n <CompositionField\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n width={width}\n >\n <StringField\n {...postalCode}\n pattern={postalCode.pattern ?? '^[0-9]{4}$'}\n mask={[/\\d/, /\\d/, /\\d/, /\\d/]}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__postal-code',\n postalCode.className\n )}\n label={postalCode.label ?? translations.PostalCode.label}\n errorMessages={{\n required: translations.PostalCode.errorRequired,\n pattern: translations.PostalCode.errorPattern,\n ...postalCode.errorMessages,\n }}\n placeholder={postalCode.placeholder ?? '0000'}\n width={false}\n inputClassName=\"dnb-forms-field-postal-code-and-city__postal-code-input\"\n inputMode=\"numeric\"\n autoComplete=\"postal-code\"\n />\n <StringField\n {...city}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__city',\n city.className\n )}\n label={city.label ?? translations.City.label}\n errorMessages={{\n required: translations.City.errorRequired,\n pattern: translations.City.errorPattern,\n ...city.errorMessages,\n }}\n pattern={city.pattern ?? '^[A-Za-zÆØÅæøå -]+$'}\n trim\n width=\"stretch\"\n autoComplete=\"address-level2\"\n help={help}\n />\n </CompositionField>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":"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"}
1
+ {"version":3,"file":"PostalCodeAndCity.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_String","_Composition","_useTranslation","_useDataValue","_defaults","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","PostalCodeAndCity","props","translations","useTranslation","getSourceValue","useDataValue","postalCode","city","help","width","country","defaultCountry","fieldBlockProps","pattern","cityPattern","className","cityClassName","label","cityLabel","cityWidth","errorMessages","cityErrorMessages","countryValue","handleDefaults","useCallback","mask","placeholder","postalCodeMask","postalCodePattern","postalCodePlaceHolder","postalCodeClassName","postalCodeLabel","postalCodeWidth","postalCodeErrorMessages","postalCodeValidationProps","createElement","classnames","PostalCode","required","errorRequired","errorPattern","inputClassName","inputMode","autoComplete","City","trim","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport CompositionField from '../Composition'\nimport { FieldHelpProps, Path } from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\nimport useDataValue from '../../hooks/useDataValue'\nimport { COUNTRY as defaultCountry } from '../../../../shared/defaults'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Partial<Record<'postalCode' | 'city', StringFieldProps>> & {\n /**\n * Defines which country the postal code and city is for.\n * Setting it to anything other than `no` will remove the default norwegian postal code pattern.\n * You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`.\n * Default: `NO`\n */\n // Add type for all country codes?\n country?: Path | string\n }\n\nfunction PostalCodeAndCity(props: Props) {\n const translations = useTranslation()\n const { getSourceValue } = useDataValue()\n\n const {\n postalCode = {},\n city = {},\n help,\n width = 'large',\n country = defaultCountry,\n ...fieldBlockProps\n } = props\n\n const {\n pattern: cityPattern,\n className: cityClassName,\n label: cityLabel,\n width: cityWidth,\n errorMessages: cityErrorMessages,\n } = city\n\n const countryValue = getSourceValue(country)\n const handleDefaults = useCallback(\n (postalCode: StringFieldProps) => {\n const props: StringFieldProps = {}\n\n switch (countryValue) {\n case defaultCountry:\n case 'DK':\n case 'CH': {\n props.mask = [/\\d/, /\\d/, /\\d/, /\\d/]\n props.pattern = '^[0-9]{4}$'\n props.placeholder = '0000'\n break\n }\n default:\n props.width = '8rem'\n break\n }\n\n return { ...props, ...postalCode }\n },\n [countryValue]\n )\n\n const {\n mask: postalCodeMask,\n pattern: postalCodePattern,\n placeholder: postalCodePlaceHolder,\n className: postalCodeClassName,\n label: postalCodeLabel,\n width: postalCodeWidth,\n errorMessages: postalCodeErrorMessages,\n } = handleDefaults(postalCode)\n\n const postalCodeValidationProps = {\n mask: postalCodeMask,\n pattern: postalCodePattern,\n placeholder: postalCodePlaceHolder,\n }\n\n return (\n <CompositionField\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n width={width}\n >\n <StringField\n {...postalCode}\n {...postalCodeValidationProps}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__postal-code',\n postalCodeClassName\n )}\n label={postalCodeLabel ?? translations.PostalCode.label}\n errorMessages={{\n required: translations.PostalCode.errorRequired,\n pattern: translations.PostalCode.errorPattern,\n ...postalCodeErrorMessages,\n }}\n width={postalCodeWidth ?? false}\n inputClassName=\"dnb-forms-field-postal-code-and-city__postal-code-input\"\n inputMode=\"numeric\"\n autoComplete=\"postal-code\"\n />\n <StringField\n {...city}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__city',\n cityClassName\n )}\n label={cityLabel ?? translations.City.label}\n errorMessages={{\n required: translations.City.errorRequired,\n pattern: translations.City.errorPattern,\n ...cityErrorMessages,\n }}\n pattern={cityPattern ?? '^[A-Za-zÆØÅæøå -]+$'}\n trim\n width={cityWidth ?? 'stretch'}\n autoComplete=\"address-level2\"\n help={help}\n />\n </CompositionField>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":"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"}
@@ -5,6 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PostalCodeAndCityProperties = void 0;
7
7
  const PostalCodeAndCityProperties = {
8
+ country: {
9
+ doc: 'Defines which country the postal code and city is for, based on the ISO 3166-1 alpha-2 format i.e. `NO`, `DE` etc. ' + 'Setting it to anything other than `NO` will remove the default norwegian postal code pattern. ' + 'You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`. ' + 'Defaults to `NO`',
10
+ type: ['Path', 'string'],
11
+ status: 'optional'
12
+ },
8
13
  postalCode: {
9
14
  doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for postcode.',
10
15
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCodeAndCityDocs.js","names":["PostalCodeAndCityProperties","postalCode","doc","type","status","city","help","exports"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PostalCodeAndCityProperties: PropertiesTableProps = {\n postalCode: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for postcode.',\n type: 'object',\n status: 'required',\n },\n city: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for city.',\n type: 'object',\n status: 'required',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,2BAAiD,GAAG;EAC/DC,UAAU,EAAE;IACVC,GAAG,EAAE,wGAAwG;IAC7GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAAAG,OAAA,CAAAP,2BAAA,GAAAA,2BAAA"}
1
+ {"version":3,"file":"PostalCodeAndCityDocs.js","names":["PostalCodeAndCityProperties","country","doc","type","status","postalCode","city","help","exports"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PostalCodeAndCityProperties: PropertiesTableProps = {\n country: {\n doc:\n 'Defines which country the postal code and city is for, based on the ISO 3166-1 alpha-2 format i.e. `NO`, `DE` etc. ' +\n 'Setting it to anything other than `NO` will remove the default norwegian postal code pattern. ' +\n 'You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`. ' +\n 'Defaults to `NO`',\n type: ['Path', 'string'],\n status: 'optional',\n },\n postalCode: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for postcode.',\n type: 'object',\n status: 'required',\n },\n city: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for city.',\n type: 'object',\n status: 'required',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,2BAAiD,GAAG;EAC/DC,OAAO,EAAE;IACPC,GAAG,EACD,qHAAqH,GACrH,gGAAgG,GAChG,kHAAkH,GAClH,kBAAkB;IACpBC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxBC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVH,GAAG,EAAE,wGAAwG;IAC7GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAE;IACJL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAAAI,OAAA,CAAAR,2BAAA,GAAAA,2BAAA"}
@@ -58,7 +58,9 @@ function SliderComponent(props) {
58
58
  handleChange,
59
59
  handleFocus,
60
60
  handleBlur
61
- } = (0, _hooks.useFieldProps)(preparedProps);
61
+ } = (0, _hooks.useFieldProps)(preparedProps, {
62
+ omitMultiplePathWarning: true
63
+ });
62
64
  const handleLocalChange = (0, _react.useCallback)(_ref2 => {
63
65
  let {
64
66
  value