@dnb/eufemia 10.25.0 → 10.26.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 (827) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +9 -2
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/card/style/dnb-card.css +3 -0
  5. package/cjs/components/card/style/dnb-card.min.css +1 -1
  6. package/cjs/components/card/style/dnb-card.scss +4 -0
  7. package/cjs/components/input-masked/InputMaskedUtils.js +10 -7
  8. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  9. package/cjs/components/table/style/dnb-table.css +3 -0
  10. package/cjs/components/table/style/dnb-table.min.css +1 -1
  11. package/cjs/components/table/style/table-th.scss +4 -1
  12. package/cjs/components/textarea/Textarea.js +24 -17
  13. package/cjs/components/textarea/Textarea.js.map +1 -1
  14. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -1
  15. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  16. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  17. package/cjs/extensions/forms/DataContext/Provider/Provider.js +4 -2
  18. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  19. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +5 -7
  20. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  21. package/cjs/extensions/forms/Field/Boolean/Boolean.js +5 -8
  22. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  23. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +6 -0
  24. package/cjs/extensions/forms/Field/Composition/Composition.js +19 -0
  25. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -0
  26. package/cjs/extensions/forms/Field/Composition/index.d.ts +2 -0
  27. package/cjs/extensions/forms/Field/Composition/index.js +27 -0
  28. package/cjs/extensions/forms/Field/Composition/index.js.map +1 -0
  29. package/cjs/extensions/forms/Field/Currency/Currency.js +6 -4
  30. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  31. package/cjs/extensions/forms/Field/Date/Date.js +5 -7
  32. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  33. package/cjs/extensions/forms/Field/Email/Email.js +6 -10
  34. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  35. package/cjs/extensions/forms/Field/Expiry/Expiry.js +24 -12
  36. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  37. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +4 -6
  38. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  39. package/cjs/extensions/forms/Field/Number/Number.js +8 -7
  40. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  41. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +5 -7
  42. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  43. package/cjs/extensions/forms/Field/Password/Password.js +5 -8
  44. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  45. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  46. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -5
  47. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  48. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -1
  49. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +15 -16
  50. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  51. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  52. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -5
  53. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  54. package/cjs/extensions/forms/Field/String/String.js +9 -9
  55. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -7
  57. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  58. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  59. package/cjs/extensions/forms/Field/index.js +7 -0
  60. package/cjs/extensions/forms/Field/index.js.map +1 -1
  61. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  62. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  63. package/cjs/extensions/forms/Form/Element/style/dnb-forms-element.css +7 -0
  64. package/cjs/extensions/forms/Form/Element/style/dnb-forms-element.min.css +1 -0
  65. package/cjs/extensions/forms/Form/Element/style/dnb-forms-element.scss +9 -0
  66. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +5 -5
  67. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  68. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.d.ts +1 -1
  69. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js +1 -1
  70. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -1
  71. package/cjs/extensions/forms/Form/data-context/useData.js +6 -3
  72. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  73. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  74. package/cjs/extensions/forms/Form/data-context/useError.js +13 -5
  75. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  76. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  77. package/cjs/extensions/forms/Form/index.js +7 -0
  78. package/cjs/extensions/forms/Form/index.js.map +1 -1
  79. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -7
  80. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  81. package/cjs/extensions/forms/Value/Boolean/Boolean.js +4 -7
  82. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  83. package/cjs/extensions/forms/Value/Date/Date.js +4 -7
  84. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  85. package/cjs/extensions/forms/Value/Email/Email.js +4 -7
  86. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  87. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -7
  88. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  89. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -7
  90. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  91. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +33 -0
  92. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -0
  93. package/cjs/extensions/forms/Wizard/Buttons/index.js.map +1 -0
  94. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +19 -0
  95. package/cjs/extensions/forms/{StepsLayout/StepsLayout.js → Wizard/Container/WizardContainer.js} +53 -45
  96. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -0
  97. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.d.ts +3 -0
  98. package/cjs/extensions/forms/{StepsLayout/StepsLayoutDocs.js → Wizard/Container/WizardContainerDocs.js} +8 -8
  99. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -0
  100. package/cjs/extensions/forms/Wizard/Container/index.d.ts +2 -0
  101. package/cjs/extensions/forms/Wizard/Container/index.js +27 -0
  102. package/cjs/extensions/forms/Wizard/Container/index.js.map +1 -0
  103. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -0
  104. package/cjs/extensions/forms/{StepsLayout/StepsContext.js → Wizard/Context/WizardContext.js} +7 -4
  105. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -0
  106. package/cjs/extensions/forms/Wizard/Context/index.d.ts +2 -0
  107. package/cjs/extensions/forms/Wizard/Context/index.js +27 -0
  108. package/cjs/extensions/forms/Wizard/Context/index.js.map +1 -0
  109. package/cjs/extensions/forms/{StepsLayout → Wizard}/NextButton/NextButton.js +6 -6
  110. package/cjs/extensions/forms/Wizard/NextButton/NextButton.js.map +1 -0
  111. package/cjs/extensions/forms/Wizard/NextButton/index.js.map +1 -0
  112. package/cjs/extensions/forms/{StepsLayout → Wizard}/PreviousButton/PreviousButton.js +7 -7
  113. package/cjs/extensions/forms/Wizard/PreviousButton/PreviousButton.js.map +1 -0
  114. package/cjs/extensions/forms/Wizard/PreviousButton/index.js.map +1 -0
  115. package/cjs/extensions/forms/{StepsLayout → Wizard}/Step/Step.js +3 -3
  116. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -0
  117. package/cjs/extensions/forms/Wizard/Step/index.js.map +1 -0
  118. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.d.ts +7 -0
  119. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +52 -0
  120. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -0
  121. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.d.ts +3 -0
  122. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +60 -0
  123. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -0
  124. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.d.ts +6 -0
  125. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +56 -0
  126. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -0
  127. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.d.ts +5 -0
  128. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +47 -0
  129. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -0
  130. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +5 -0
  131. package/cjs/extensions/forms/Wizard/hooks/useStep.js +30 -0
  132. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -0
  133. package/cjs/extensions/forms/Wizard/index.d.ts +13 -0
  134. package/cjs/extensions/forms/Wizard/index.js +87 -0
  135. package/cjs/extensions/forms/Wizard/index.js.map +1 -0
  136. package/{extensions/forms/StepsLayout/style/dnb-steps-layout.css → cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css} +10 -9
  137. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -0
  138. package/{extensions/forms/StepsLayout/style/dnb-steps-layout.scss → cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss} +5 -4
  139. package/cjs/extensions/forms/Wizard/style/index.d.ts +5 -0
  140. package/cjs/extensions/forms/Wizard/style/index.js +4 -0
  141. package/cjs/extensions/forms/Wizard/style/index.js.map +1 -0
  142. package/cjs/extensions/forms/Wizard/style.js.map +1 -0
  143. package/cjs/extensions/forms/constants/countries.d.ts +1 -0
  144. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  145. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +99 -0
  146. package/cjs/extensions/forms/constants/locales/en-GB.js +100 -0
  147. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -0
  148. package/cjs/extensions/forms/constants/locales/en-US.d.ts +93 -0
  149. package/cjs/extensions/forms/constants/locales/en-US.js +25 -0
  150. package/cjs/extensions/forms/constants/locales/en-US.js.map +1 -0
  151. package/cjs/extensions/forms/constants/locales/index.d.ts +183 -0
  152. package/cjs/extensions/forms/constants/locales/index.js +18 -0
  153. package/cjs/extensions/forms/constants/locales/index.js.map +1 -0
  154. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +99 -0
  155. package/cjs/extensions/forms/constants/locales/nb-NO.js +100 -0
  156. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -0
  157. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  158. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  159. package/cjs/extensions/forms/hooks/useFieldProps.js +10 -7
  160. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  161. package/cjs/extensions/forms/hooks/useLocale.d.ts +10 -0
  162. package/cjs/extensions/forms/hooks/useLocale.js +32 -0
  163. package/cjs/extensions/forms/hooks/useLocale.js.map +1 -0
  164. package/cjs/extensions/forms/index.d.ts +14 -1
  165. package/cjs/extensions/forms/index.js +15 -15
  166. package/cjs/extensions/forms/index.js.map +1 -1
  167. package/cjs/extensions/forms/style/dnb-forms.css +35 -26
  168. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  169. package/cjs/extensions/forms/types.d.ts +2 -0
  170. package/cjs/extensions/forms/types.js.map +1 -1
  171. package/cjs/shared/Context.d.ts +7 -6
  172. package/cjs/shared/Context.js.map +1 -1
  173. package/cjs/shared/Eufemia.d.ts +1 -1
  174. package/cjs/shared/Eufemia.js +2 -2
  175. package/cjs/shared/Eufemia.js.map +1 -1
  176. package/cjs/shared/component-helper.d.ts +0 -1
  177. package/cjs/shared/component-helper.js +1 -9
  178. package/cjs/shared/component-helper.js.map +1 -1
  179. package/cjs/shared/helpers/useSharedState.d.ts +3 -1
  180. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  181. package/cjs/shared/locales/en-GB.d.ts +0 -51
  182. package/cjs/shared/locales/en-GB.js +3 -54
  183. package/cjs/shared/locales/en-GB.js.map +1 -1
  184. package/cjs/shared/locales/en-US.d.ts +0 -51
  185. package/cjs/shared/locales/en-US.js.map +1 -1
  186. package/cjs/shared/locales/index.d.ts +0 -102
  187. package/cjs/shared/locales/nb-NO.d.ts +0 -51
  188. package/cjs/shared/locales/nb-NO.js +3 -54
  189. package/cjs/shared/locales/nb-NO.js.map +1 -1
  190. package/cjs/shared/types.d.ts +3 -0
  191. package/cjs/shared/types.js.map +1 -1
  192. package/cjs/shared/useLocale.d.ts +8 -1
  193. package/cjs/shared/useLocale.js +24 -11
  194. package/cjs/shared/useLocale.js.map +1 -1
  195. package/cjs/style/core/scopes.scss +1 -1
  196. package/cjs/style/dnb-ui-basis.css +1 -1
  197. package/cjs/style/dnb-ui-basis.min.css +1 -1
  198. package/cjs/style/dnb-ui-body.css +1 -1
  199. package/cjs/style/dnb-ui-body.min.css +1 -1
  200. package/cjs/style/dnb-ui-components.css +41 -26
  201. package/cjs/style/dnb-ui-components.min.css +3 -3
  202. package/cjs/style/dnb-ui-core.css +1 -1
  203. package/cjs/style/dnb-ui-core.min.css +1 -1
  204. package/cjs/style/dnb-ui-extensions.css +35 -26
  205. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  206. package/cjs/style/dnb-ui-forms.css +35 -26
  207. package/cjs/style/dnb-ui-forms.min.css +1 -1
  208. package/cjs/style/dnb-ui-forms.scss +2 -1
  209. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +76 -52
  210. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  211. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +35 -26
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  213. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +35 -26
  214. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  215. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +76 -52
  216. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +35 -26
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  219. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +35 -26
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  221. package/cjs/style/themes/theme-ui/ui-theme-components.css +76 -52
  222. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  223. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +35 -26
  224. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  225. package/cjs/style/themes/theme-ui/ui-theme-forms.css +35 -26
  226. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  227. package/components/autocomplete/Autocomplete.js +9 -2
  228. package/components/autocomplete/Autocomplete.js.map +1 -1
  229. package/components/card/style/dnb-card.css +3 -0
  230. package/components/card/style/dnb-card.min.css +1 -1
  231. package/components/card/style/dnb-card.scss +4 -0
  232. package/components/input-masked/InputMaskedUtils.js +10 -7
  233. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  234. package/components/table/style/dnb-table.css +3 -0
  235. package/components/table/style/dnb-table.min.css +1 -1
  236. package/components/table/style/table-th.scss +4 -1
  237. package/components/textarea/Textarea.js +24 -17
  238. package/components/textarea/Textarea.js.map +1 -1
  239. package/es/components/autocomplete/Autocomplete.js +9 -2
  240. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  241. package/es/components/card/style/dnb-card.css +3 -0
  242. package/es/components/card/style/dnb-card.min.css +1 -1
  243. package/es/components/card/style/dnb-card.scss +4 -0
  244. package/es/components/input-masked/InputMaskedUtils.js +10 -7
  245. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  246. package/es/components/table/style/dnb-table.css +3 -0
  247. package/es/components/table/style/dnb-table.min.css +1 -1
  248. package/es/components/table/style/table-th.scss +4 -1
  249. package/es/components/textarea/Textarea.js +24 -17
  250. package/es/components/textarea/Textarea.js.map +1 -1
  251. package/es/extensions/forms/DataContext/Context.d.ts +2 -1
  252. package/es/extensions/forms/DataContext/Context.js +1 -0
  253. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  254. package/es/extensions/forms/DataContext/Provider/Provider.js +4 -2
  255. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  256. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -9
  257. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  258. package/es/extensions/forms/Field/Boolean/Boolean.js +5 -7
  259. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  260. package/es/extensions/forms/Field/Composition/Composition.d.ts +6 -0
  261. package/es/extensions/forms/Field/Composition/Composition.js +11 -0
  262. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -0
  263. package/es/extensions/forms/Field/Composition/index.d.ts +2 -0
  264. package/es/extensions/forms/Field/Composition/index.js +3 -0
  265. package/es/extensions/forms/Field/Composition/index.js.map +1 -0
  266. package/es/extensions/forms/Field/Currency/Currency.js +4 -4
  267. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  268. package/es/extensions/forms/Field/Date/Date.js +6 -9
  269. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  270. package/es/extensions/forms/Field/Email/Email.js +6 -9
  271. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  272. package/es/extensions/forms/Field/Expiry/Expiry.js +25 -14
  273. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  274. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +5 -8
  275. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  276. package/es/extensions/forms/Field/Number/Number.js +8 -7
  277. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  278. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -9
  279. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  280. package/es/extensions/forms/Field/Password/Password.js +5 -8
  281. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  282. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  283. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -5
  284. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  285. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -1
  286. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +15 -15
  287. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  288. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  289. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -5
  290. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  291. package/es/extensions/forms/Field/String/String.js +9 -9
  292. package/es/extensions/forms/Field/String/String.js.map +1 -1
  293. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -9
  294. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  295. package/es/extensions/forms/Field/index.d.ts +1 -0
  296. package/es/extensions/forms/Field/index.js +1 -0
  297. package/es/extensions/forms/Field/index.js.map +1 -1
  298. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  299. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  300. package/es/extensions/forms/Form/Element/style/dnb-forms-element.css +7 -0
  301. package/es/extensions/forms/Form/Element/style/dnb-forms-element.min.css +1 -0
  302. package/es/extensions/forms/Form/Element/style/dnb-forms-element.scss +9 -0
  303. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  304. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  305. package/es/extensions/forms/Form/SubmitIndicator/style/index.d.ts +1 -1
  306. package/es/extensions/forms/Form/SubmitIndicator/style/index.js +1 -1
  307. package/es/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -1
  308. package/es/extensions/forms/Form/data-context/useData.js +7 -4
  309. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  310. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  311. package/es/extensions/forms/Form/data-context/useError.js +14 -6
  312. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  313. package/es/extensions/forms/Form/index.d.ts +1 -0
  314. package/es/extensions/forms/Form/index.js +1 -0
  315. package/es/extensions/forms/Form/index.js.map +1 -1
  316. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -6
  317. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  318. package/es/extensions/forms/Value/Boolean/Boolean.js +4 -6
  319. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  320. package/es/extensions/forms/Value/Date/Date.js +4 -6
  321. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  322. package/es/extensions/forms/Value/Email/Email.js +4 -6
  323. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  324. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -6
  325. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  326. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -6
  327. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  328. package/es/extensions/forms/Wizard/Buttons/Buttons.js +24 -0
  329. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -0
  330. package/es/extensions/forms/Wizard/Buttons/index.js.map +1 -0
  331. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +19 -0
  332. package/es/extensions/forms/{StepsLayout/StepsLayout.js → Wizard/Container/WizardContainer.js} +53 -45
  333. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -0
  334. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.d.ts +3 -0
  335. package/{extensions/forms/StepsLayout/StepsLayoutDocs.js → es/extensions/forms/Wizard/Container/WizardContainerDocs.js} +5 -5
  336. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -0
  337. package/es/extensions/forms/Wizard/Container/index.d.ts +2 -0
  338. package/es/extensions/forms/Wizard/Container/index.js +3 -0
  339. package/es/extensions/forms/Wizard/Container/index.js.map +1 -0
  340. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -0
  341. package/es/extensions/forms/Wizard/Context/WizardContext.js +12 -0
  342. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -0
  343. package/es/extensions/forms/Wizard/Context/index.d.ts +2 -0
  344. package/es/extensions/forms/Wizard/Context/index.js +3 -0
  345. package/es/extensions/forms/Wizard/Context/index.js.map +1 -0
  346. package/es/extensions/forms/{StepsLayout → Wizard}/NextButton/NextButton.js +6 -6
  347. package/es/extensions/forms/Wizard/NextButton/NextButton.js.map +1 -0
  348. package/es/extensions/forms/Wizard/NextButton/index.js.map +1 -0
  349. package/{extensions/forms/StepsLayout → es/extensions/forms/Wizard}/PreviousButton/PreviousButton.js +7 -7
  350. package/es/extensions/forms/Wizard/PreviousButton/PreviousButton.js.map +1 -0
  351. package/es/extensions/forms/Wizard/PreviousButton/index.js.map +1 -0
  352. package/{extensions/forms/StepsLayout → es/extensions/forms/Wizard}/Step/Step.js +3 -3
  353. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -0
  354. package/es/extensions/forms/Wizard/Step/index.js.map +1 -0
  355. package/es/extensions/forms/Wizard/hooks/useNextRouter.d.ts +7 -0
  356. package/es/extensions/forms/Wizard/hooks/useNextRouter.js +42 -0
  357. package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -0
  358. package/es/extensions/forms/Wizard/hooks/useQueryLocator.d.ts +3 -0
  359. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +51 -0
  360. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -0
  361. package/es/extensions/forms/Wizard/hooks/useReachRouter.d.ts +6 -0
  362. package/es/extensions/forms/Wizard/hooks/useReachRouter.js +46 -0
  363. package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -0
  364. package/es/extensions/forms/Wizard/hooks/useReactRouter.d.ts +5 -0
  365. package/es/extensions/forms/Wizard/hooks/useReactRouter.js +37 -0
  366. package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -0
  367. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +5 -0
  368. package/es/extensions/forms/Wizard/hooks/useStep.js +22 -0
  369. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -0
  370. package/es/extensions/forms/Wizard/index.d.ts +13 -0
  371. package/es/extensions/forms/Wizard/index.js +14 -0
  372. package/es/extensions/forms/Wizard/index.js.map +1 -0
  373. package/{cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css → es/extensions/forms/Wizard/style/dnb-wizard-layout.css} +10 -9
  374. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -0
  375. package/es/extensions/forms/{StepsLayout/style/dnb-steps-layout.scss → Wizard/style/dnb-wizard-layout.scss} +5 -4
  376. package/es/extensions/forms/Wizard/style/index.d.ts +5 -0
  377. package/es/extensions/forms/Wizard/style/index.js +1 -0
  378. package/es/extensions/forms/Wizard/style/index.js.map +1 -0
  379. package/es/extensions/forms/Wizard/style.js.map +1 -0
  380. package/es/extensions/forms/constants/countries.d.ts +1 -0
  381. package/es/extensions/forms/constants/countries.js.map +1 -1
  382. package/es/extensions/forms/constants/locales/en-GB.d.ts +99 -0
  383. package/es/extensions/forms/constants/locales/en-GB.js +93 -0
  384. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -0
  385. package/es/extensions/forms/constants/locales/en-US.d.ts +93 -0
  386. package/es/extensions/forms/constants/locales/en-US.js +15 -0
  387. package/es/extensions/forms/constants/locales/en-US.js.map +1 -0
  388. package/es/extensions/forms/constants/locales/index.d.ts +183 -0
  389. package/es/extensions/forms/constants/locales/index.js +8 -0
  390. package/es/extensions/forms/constants/locales/index.js.map +1 -0
  391. package/es/extensions/forms/constants/locales/nb-NO.d.ts +99 -0
  392. package/es/extensions/forms/constants/locales/nb-NO.js +93 -0
  393. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -0
  394. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  395. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  396. package/es/extensions/forms/hooks/useFieldProps.js +10 -7
  397. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  398. package/es/extensions/forms/hooks/useLocale.d.ts +10 -0
  399. package/es/extensions/forms/hooks/useLocale.js +26 -0
  400. package/es/extensions/forms/hooks/useLocale.js.map +1 -0
  401. package/es/extensions/forms/index.d.ts +14 -1
  402. package/es/extensions/forms/index.js +11 -1
  403. package/es/extensions/forms/index.js.map +1 -1
  404. package/es/extensions/forms/style/dnb-forms.css +35 -26
  405. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  406. package/es/extensions/forms/types.d.ts +2 -0
  407. package/es/extensions/forms/types.js.map +1 -1
  408. package/es/shared/Context.d.ts +7 -6
  409. package/es/shared/Context.js.map +1 -1
  410. package/es/shared/Eufemia.d.ts +1 -1
  411. package/es/shared/Eufemia.js +2 -2
  412. package/es/shared/Eufemia.js.map +1 -1
  413. package/es/shared/component-helper.d.ts +0 -1
  414. package/es/shared/component-helper.js +0 -1
  415. package/es/shared/component-helper.js.map +1 -1
  416. package/es/shared/helpers/useSharedState.d.ts +3 -1
  417. package/es/shared/helpers/useSharedState.js.map +1 -1
  418. package/es/shared/locales/en-GB.d.ts +0 -51
  419. package/es/shared/locales/en-GB.js +3 -54
  420. package/es/shared/locales/en-GB.js.map +1 -1
  421. package/es/shared/locales/en-US.d.ts +0 -51
  422. package/es/shared/locales/en-US.js.map +1 -1
  423. package/es/shared/locales/index.d.ts +0 -102
  424. package/es/shared/locales/nb-NO.d.ts +0 -51
  425. package/es/shared/locales/nb-NO.js +3 -54
  426. package/es/shared/locales/nb-NO.js.map +1 -1
  427. package/es/shared/types.d.ts +3 -0
  428. package/es/shared/types.js.map +1 -1
  429. package/es/shared/useLocale.d.ts +8 -1
  430. package/es/shared/useLocale.js +22 -11
  431. package/es/shared/useLocale.js.map +1 -1
  432. package/es/style/core/scopes.scss +1 -1
  433. package/es/style/dnb-ui-basis.css +1 -1
  434. package/es/style/dnb-ui-basis.min.css +1 -1
  435. package/es/style/dnb-ui-body.css +1 -1
  436. package/es/style/dnb-ui-body.min.css +1 -1
  437. package/es/style/dnb-ui-components.css +41 -26
  438. package/es/style/dnb-ui-components.min.css +3 -3
  439. package/es/style/dnb-ui-core.css +1 -1
  440. package/es/style/dnb-ui-core.min.css +1 -1
  441. package/es/style/dnb-ui-extensions.css +35 -26
  442. package/es/style/dnb-ui-extensions.min.css +1 -1
  443. package/es/style/dnb-ui-forms.css +35 -26
  444. package/es/style/dnb-ui-forms.min.css +1 -1
  445. package/es/style/dnb-ui-forms.scss +2 -1
  446. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +76 -52
  447. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  448. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +35 -26
  449. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  450. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +35 -26
  451. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  452. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +76 -52
  453. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  454. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +35 -26
  455. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  456. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +35 -26
  457. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  458. package/es/style/themes/theme-ui/ui-theme-components.css +76 -52
  459. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  460. package/es/style/themes/theme-ui/ui-theme-extensions.css +35 -26
  461. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  462. package/es/style/themes/theme-ui/ui-theme-forms.css +35 -26
  463. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  464. package/esm/dnb-ui-basis.min.mjs +1 -1
  465. package/esm/dnb-ui-components.min.mjs +1 -1
  466. package/esm/dnb-ui-elements.min.mjs +1 -1
  467. package/esm/dnb-ui-extensions.min.mjs +3 -3
  468. package/esm/dnb-ui-lib.min.mjs +1 -1
  469. package/extensions/forms/DataContext/Context.d.ts +2 -1
  470. package/extensions/forms/DataContext/Context.js +1 -0
  471. package/extensions/forms/DataContext/Context.js.map +1 -1
  472. package/extensions/forms/DataContext/Provider/Provider.js +4 -2
  473. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  474. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -9
  475. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  476. package/extensions/forms/Field/Boolean/Boolean.js +5 -7
  477. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  478. package/extensions/forms/Field/Composition/Composition.d.ts +6 -0
  479. package/extensions/forms/Field/Composition/Composition.js +11 -0
  480. package/extensions/forms/Field/Composition/Composition.js.map +1 -0
  481. package/extensions/forms/Field/Composition/index.d.ts +2 -0
  482. package/extensions/forms/Field/Composition/index.js +3 -0
  483. package/extensions/forms/Field/Composition/index.js.map +1 -0
  484. package/extensions/forms/Field/Currency/Currency.js +4 -4
  485. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  486. package/extensions/forms/Field/Date/Date.js +6 -9
  487. package/extensions/forms/Field/Date/Date.js.map +1 -1
  488. package/extensions/forms/Field/Email/Email.js +6 -9
  489. package/extensions/forms/Field/Email/Email.js.map +1 -1
  490. package/extensions/forms/Field/Expiry/Expiry.js +25 -14
  491. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  492. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +5 -8
  493. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  494. package/extensions/forms/Field/Number/Number.js +8 -7
  495. package/extensions/forms/Field/Number/Number.js.map +1 -1
  496. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -9
  497. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  498. package/extensions/forms/Field/Password/Password.js +5 -8
  499. package/extensions/forms/Field/Password/Password.js.map +1 -1
  500. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  501. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -5
  502. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  503. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -1
  504. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +15 -15
  505. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  506. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  507. package/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -5
  508. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  509. package/extensions/forms/Field/String/String.js +9 -9
  510. package/extensions/forms/Field/String/String.js.map +1 -1
  511. package/extensions/forms/Field/Toggle/Toggle.js +7 -9
  512. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  513. package/extensions/forms/Field/index.d.ts +1 -0
  514. package/extensions/forms/Field/index.js +1 -0
  515. package/extensions/forms/Field/index.js.map +1 -1
  516. package/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  517. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  518. package/extensions/forms/Form/Element/style/dnb-forms-element.css +7 -0
  519. package/extensions/forms/Form/Element/style/dnb-forms-element.min.css +1 -0
  520. package/extensions/forms/Form/Element/style/dnb-forms-element.scss +9 -0
  521. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  522. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  523. package/extensions/forms/Form/SubmitIndicator/style/index.d.ts +1 -1
  524. package/extensions/forms/Form/SubmitIndicator/style/index.js +1 -1
  525. package/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -1
  526. package/extensions/forms/Form/data-context/useData.js +7 -4
  527. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  528. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  529. package/extensions/forms/Form/data-context/useError.js +14 -6
  530. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  531. package/extensions/forms/Form/index.d.ts +1 -0
  532. package/extensions/forms/Form/index.js +1 -0
  533. package/extensions/forms/Form/index.js.map +1 -1
  534. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -6
  535. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  536. package/extensions/forms/Value/Boolean/Boolean.js +4 -6
  537. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  538. package/extensions/forms/Value/Date/Date.js +4 -6
  539. package/extensions/forms/Value/Date/Date.js.map +1 -1
  540. package/extensions/forms/Value/Email/Email.js +4 -6
  541. package/extensions/forms/Value/Email/Email.js.map +1 -1
  542. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -6
  543. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  544. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -6
  545. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  546. package/extensions/forms/Wizard/Buttons/Buttons.js +24 -0
  547. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -0
  548. package/extensions/forms/Wizard/Buttons/index.js.map +1 -0
  549. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +19 -0
  550. package/extensions/forms/{StepsLayout/StepsLayout.js → Wizard/Container/WizardContainer.js} +53 -45
  551. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -0
  552. package/extensions/forms/Wizard/Container/WizardContainerDocs.d.ts +3 -0
  553. package/{es/extensions/forms/StepsLayout/StepsLayoutDocs.js → extensions/forms/Wizard/Container/WizardContainerDocs.js} +5 -5
  554. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -0
  555. package/extensions/forms/Wizard/Container/index.d.ts +2 -0
  556. package/extensions/forms/Wizard/Container/index.js +3 -0
  557. package/extensions/forms/Wizard/Container/index.js.map +1 -0
  558. package/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -0
  559. package/extensions/forms/Wizard/Context/WizardContext.js +12 -0
  560. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -0
  561. package/extensions/forms/Wizard/Context/index.d.ts +2 -0
  562. package/extensions/forms/Wizard/Context/index.js +3 -0
  563. package/extensions/forms/Wizard/Context/index.js.map +1 -0
  564. package/extensions/forms/{StepsLayout → Wizard}/NextButton/NextButton.js +6 -6
  565. package/extensions/forms/Wizard/NextButton/NextButton.js.map +1 -0
  566. package/extensions/forms/Wizard/NextButton/index.js.map +1 -0
  567. package/{es/extensions/forms/StepsLayout → extensions/forms/Wizard}/PreviousButton/PreviousButton.js +7 -7
  568. package/extensions/forms/Wizard/PreviousButton/PreviousButton.js.map +1 -0
  569. package/extensions/forms/Wizard/PreviousButton/index.js.map +1 -0
  570. package/{es/extensions/forms/StepsLayout → extensions/forms/Wizard}/Step/Step.js +3 -3
  571. package/extensions/forms/Wizard/Step/Step.js.map +1 -0
  572. package/extensions/forms/Wizard/Step/index.js.map +1 -0
  573. package/extensions/forms/Wizard/hooks/useNextRouter.d.ts +7 -0
  574. package/extensions/forms/Wizard/hooks/useNextRouter.js +43 -0
  575. package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -0
  576. package/extensions/forms/Wizard/hooks/useQueryLocator.d.ts +3 -0
  577. package/extensions/forms/Wizard/hooks/useQueryLocator.js +51 -0
  578. package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -0
  579. package/extensions/forms/Wizard/hooks/useReachRouter.d.ts +6 -0
  580. package/extensions/forms/Wizard/hooks/useReachRouter.js +47 -0
  581. package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -0
  582. package/extensions/forms/Wizard/hooks/useReactRouter.d.ts +5 -0
  583. package/extensions/forms/Wizard/hooks/useReactRouter.js +38 -0
  584. package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -0
  585. package/extensions/forms/Wizard/hooks/useStep.d.ts +5 -0
  586. package/extensions/forms/Wizard/hooks/useStep.js +24 -0
  587. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -0
  588. package/extensions/forms/Wizard/index.d.ts +13 -0
  589. package/extensions/forms/Wizard/index.js +14 -0
  590. package/extensions/forms/Wizard/index.js.map +1 -0
  591. package/{es/extensions/forms/StepsLayout/style/dnb-steps-layout.css → extensions/forms/Wizard/style/dnb-wizard-layout.css} +10 -9
  592. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -0
  593. package/{cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss → extensions/forms/Wizard/style/dnb-wizard-layout.scss} +5 -4
  594. package/extensions/forms/Wizard/style/index.d.ts +5 -0
  595. package/extensions/forms/Wizard/style/index.js +1 -0
  596. package/extensions/forms/Wizard/style/index.js.map +1 -0
  597. package/extensions/forms/Wizard/style.js.map +1 -0
  598. package/extensions/forms/constants/countries.d.ts +1 -0
  599. package/extensions/forms/constants/countries.js.map +1 -1
  600. package/extensions/forms/constants/locales/en-GB.d.ts +99 -0
  601. package/extensions/forms/constants/locales/en-GB.js +93 -0
  602. package/extensions/forms/constants/locales/en-GB.js.map +1 -0
  603. package/extensions/forms/constants/locales/en-US.d.ts +93 -0
  604. package/extensions/forms/constants/locales/en-US.js +15 -0
  605. package/extensions/forms/constants/locales/en-US.js.map +1 -0
  606. package/extensions/forms/constants/locales/index.d.ts +183 -0
  607. package/extensions/forms/constants/locales/index.js +8 -0
  608. package/extensions/forms/constants/locales/index.js.map +1 -0
  609. package/extensions/forms/constants/locales/nb-NO.d.ts +99 -0
  610. package/extensions/forms/constants/locales/nb-NO.js +93 -0
  611. package/extensions/forms/constants/locales/nb-NO.js.map +1 -0
  612. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  613. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  614. package/extensions/forms/hooks/useFieldProps.js +10 -7
  615. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  616. package/extensions/forms/hooks/useLocale.d.ts +10 -0
  617. package/extensions/forms/hooks/useLocale.js +26 -0
  618. package/extensions/forms/hooks/useLocale.js.map +1 -0
  619. package/extensions/forms/index.d.ts +14 -1
  620. package/extensions/forms/index.js +12 -1
  621. package/extensions/forms/index.js.map +1 -1
  622. package/extensions/forms/style/dnb-forms.css +35 -26
  623. package/extensions/forms/style/dnb-forms.min.css +1 -1
  624. package/extensions/forms/types.d.ts +2 -0
  625. package/extensions/forms/types.js.map +1 -1
  626. package/package.json +1 -1
  627. package/shared/Context.d.ts +7 -6
  628. package/shared/Context.js.map +1 -1
  629. package/shared/Eufemia.d.ts +1 -1
  630. package/shared/Eufemia.js +2 -2
  631. package/shared/Eufemia.js.map +1 -1
  632. package/shared/component-helper.d.ts +0 -1
  633. package/shared/component-helper.js +0 -1
  634. package/shared/component-helper.js.map +1 -1
  635. package/shared/helpers/useSharedState.d.ts +3 -1
  636. package/shared/helpers/useSharedState.js.map +1 -1
  637. package/shared/locales/en-GB.d.ts +0 -51
  638. package/shared/locales/en-GB.js +3 -54
  639. package/shared/locales/en-GB.js.map +1 -1
  640. package/shared/locales/en-US.d.ts +0 -51
  641. package/shared/locales/en-US.js.map +1 -1
  642. package/shared/locales/index.d.ts +0 -102
  643. package/shared/locales/nb-NO.d.ts +0 -51
  644. package/shared/locales/nb-NO.js +3 -54
  645. package/shared/locales/nb-NO.js.map +1 -1
  646. package/shared/types.d.ts +3 -0
  647. package/shared/types.js.map +1 -1
  648. package/shared/useLocale.d.ts +8 -1
  649. package/shared/useLocale.js +23 -11
  650. package/shared/useLocale.js.map +1 -1
  651. package/style/core/scopes.scss +1 -1
  652. package/style/dnb-ui-basis.css +1 -1
  653. package/style/dnb-ui-basis.min.css +1 -1
  654. package/style/dnb-ui-body.css +1 -1
  655. package/style/dnb-ui-body.min.css +1 -1
  656. package/style/dnb-ui-components.css +41 -26
  657. package/style/dnb-ui-components.min.css +3 -3
  658. package/style/dnb-ui-core.css +1 -1
  659. package/style/dnb-ui-core.min.css +1 -1
  660. package/style/dnb-ui-extensions.css +35 -26
  661. package/style/dnb-ui-extensions.min.css +1 -1
  662. package/style/dnb-ui-forms.css +35 -26
  663. package/style/dnb-ui-forms.min.css +1 -1
  664. package/style/dnb-ui-forms.scss +2 -1
  665. package/style/themes/theme-eiendom/eiendom-theme-components.css +76 -52
  666. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  667. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +35 -26
  668. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  669. package/style/themes/theme-eiendom/eiendom-theme-forms.css +35 -26
  670. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  671. package/style/themes/theme-sbanken/sbanken-theme-components.css +76 -52
  672. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  673. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +35 -26
  674. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  675. package/style/themes/theme-sbanken/sbanken-theme-forms.css +35 -26
  676. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  677. package/style/themes/theme-ui/ui-theme-components.css +76 -52
  678. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  679. package/style/themes/theme-ui/ui-theme-extensions.css +35 -26
  680. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  681. package/style/themes/theme-ui/ui-theme-forms.css +35 -26
  682. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  683. package/umd/dnb-ui-basis.min.js +1 -1
  684. package/umd/dnb-ui-components.min.js +1 -1
  685. package/umd/dnb-ui-elements.min.js +1 -1
  686. package/umd/dnb-ui-extensions.min.js +3 -3
  687. package/umd/dnb-ui-lib.min.js +1 -1
  688. package/cjs/extensions/forms/Field/style/index.d.ts +0 -5
  689. package/cjs/extensions/forms/Field/style/index.js +0 -4
  690. package/cjs/extensions/forms/Field/style/index.js.map +0 -1
  691. package/cjs/extensions/forms/StepsLayout/Buttons/Buttons.js +0 -26
  692. package/cjs/extensions/forms/StepsLayout/Buttons/Buttons.js.map +0 -1
  693. package/cjs/extensions/forms/StepsLayout/Buttons/index.js.map +0 -1
  694. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +0 -1
  695. package/cjs/extensions/forms/StepsLayout/NextButton/index.js.map +0 -1
  696. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +0 -1
  697. package/cjs/extensions/forms/StepsLayout/PreviousButton/index.js.map +0 -1
  698. package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +0 -1
  699. package/cjs/extensions/forms/StepsLayout/Step/index.js.map +0 -1
  700. package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +0 -10
  701. package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +0 -1
  702. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +0 -24
  703. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +0 -1
  704. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +0 -3
  705. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +0 -1
  706. package/cjs/extensions/forms/StepsLayout/index.d.ts +0 -3
  707. package/cjs/extensions/forms/StepsLayout/index.js +0 -18
  708. package/cjs/extensions/forms/StepsLayout/index.js.map +0 -1
  709. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +0 -1
  710. package/cjs/extensions/forms/StepsLayout/style/index.d.ts +0 -5
  711. package/cjs/extensions/forms/StepsLayout/style/index.js +0 -4
  712. package/cjs/extensions/forms/StepsLayout/style/index.js.map +0 -1
  713. package/cjs/extensions/forms/StepsLayout/style.js.map +0 -1
  714. package/cjs/extensions/forms/StepsLayout/useStep.d.ts +0 -3
  715. package/cjs/extensions/forms/StepsLayout/useStep.js +0 -19
  716. package/cjs/extensions/forms/StepsLayout/useStep.js.map +0 -1
  717. package/cjs/shared/helpers/useEventEmitter.d.ts +0 -16
  718. package/cjs/shared/helpers/useEventEmitter.js +0 -38
  719. package/cjs/shared/helpers/useEventEmitter.js.map +0 -1
  720. package/es/extensions/forms/Field/style/index.d.ts +0 -5
  721. package/es/extensions/forms/Field/style/index.js +0 -1
  722. package/es/extensions/forms/Field/style/index.js.map +0 -1
  723. package/es/extensions/forms/StepsLayout/Buttons/Buttons.js +0 -18
  724. package/es/extensions/forms/StepsLayout/Buttons/Buttons.js.map +0 -1
  725. package/es/extensions/forms/StepsLayout/Buttons/index.js.map +0 -1
  726. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +0 -1
  727. package/es/extensions/forms/StepsLayout/NextButton/index.js.map +0 -1
  728. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +0 -1
  729. package/es/extensions/forms/StepsLayout/PreviousButton/index.js.map +0 -1
  730. package/es/extensions/forms/StepsLayout/Step/Step.js.map +0 -1
  731. package/es/extensions/forms/StepsLayout/Step/index.js.map +0 -1
  732. package/es/extensions/forms/StepsLayout/StepsContext.d.ts +0 -10
  733. package/es/extensions/forms/StepsLayout/StepsContext.js +0 -9
  734. package/es/extensions/forms/StepsLayout/StepsContext.js.map +0 -1
  735. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +0 -24
  736. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +0 -1
  737. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +0 -3
  738. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +0 -1
  739. package/es/extensions/forms/StepsLayout/index.d.ts +0 -3
  740. package/es/extensions/forms/StepsLayout/index.js +0 -4
  741. package/es/extensions/forms/StepsLayout/index.js.map +0 -1
  742. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +0 -1
  743. package/es/extensions/forms/StepsLayout/style/index.d.ts +0 -5
  744. package/es/extensions/forms/StepsLayout/style/index.js +0 -1
  745. package/es/extensions/forms/StepsLayout/style/index.js.map +0 -1
  746. package/es/extensions/forms/StepsLayout/style.js.map +0 -1
  747. package/es/extensions/forms/StepsLayout/useStep.d.ts +0 -3
  748. package/es/extensions/forms/StepsLayout/useStep.js +0 -12
  749. package/es/extensions/forms/StepsLayout/useStep.js.map +0 -1
  750. package/es/shared/helpers/useEventEmitter.d.ts +0 -16
  751. package/es/shared/helpers/useEventEmitter.js +0 -29
  752. package/es/shared/helpers/useEventEmitter.js.map +0 -1
  753. package/extensions/forms/Field/style/index.d.ts +0 -5
  754. package/extensions/forms/Field/style/index.js +0 -1
  755. package/extensions/forms/Field/style/index.js.map +0 -1
  756. package/extensions/forms/StepsLayout/Buttons/Buttons.js +0 -18
  757. package/extensions/forms/StepsLayout/Buttons/Buttons.js.map +0 -1
  758. package/extensions/forms/StepsLayout/Buttons/index.js.map +0 -1
  759. package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +0 -1
  760. package/extensions/forms/StepsLayout/NextButton/index.js.map +0 -1
  761. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +0 -1
  762. package/extensions/forms/StepsLayout/PreviousButton/index.js.map +0 -1
  763. package/extensions/forms/StepsLayout/Step/Step.js.map +0 -1
  764. package/extensions/forms/StepsLayout/Step/index.js.map +0 -1
  765. package/extensions/forms/StepsLayout/StepsContext.d.ts +0 -10
  766. package/extensions/forms/StepsLayout/StepsContext.js +0 -9
  767. package/extensions/forms/StepsLayout/StepsContext.js.map +0 -1
  768. package/extensions/forms/StepsLayout/StepsLayout.d.ts +0 -24
  769. package/extensions/forms/StepsLayout/StepsLayout.js.map +0 -1
  770. package/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +0 -3
  771. package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +0 -1
  772. package/extensions/forms/StepsLayout/index.d.ts +0 -3
  773. package/extensions/forms/StepsLayout/index.js +0 -4
  774. package/extensions/forms/StepsLayout/index.js.map +0 -1
  775. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +0 -1
  776. package/extensions/forms/StepsLayout/style/index.d.ts +0 -5
  777. package/extensions/forms/StepsLayout/style/index.js +0 -1
  778. package/extensions/forms/StepsLayout/style/index.js.map +0 -1
  779. package/extensions/forms/StepsLayout/style.js.map +0 -1
  780. package/extensions/forms/StepsLayout/useStep.d.ts +0 -3
  781. package/extensions/forms/StepsLayout/useStep.js +0 -13
  782. package/extensions/forms/StepsLayout/useStep.js.map +0 -1
  783. package/shared/helpers/useEventEmitter.d.ts +0 -16
  784. package/shared/helpers/useEventEmitter.js +0 -30
  785. package/shared/helpers/useEventEmitter.js.map +0 -1
  786. /package/cjs/extensions/forms/{StepsLayout → Wizard}/Buttons/Buttons.d.ts +0 -0
  787. /package/cjs/extensions/forms/{StepsLayout → Wizard}/Buttons/index.d.ts +0 -0
  788. /package/cjs/extensions/forms/{StepsLayout → Wizard}/Buttons/index.js +0 -0
  789. /package/cjs/extensions/forms/{StepsLayout → Wizard}/NextButton/NextButton.d.ts +0 -0
  790. /package/cjs/extensions/forms/{StepsLayout → Wizard}/NextButton/index.d.ts +0 -0
  791. /package/cjs/extensions/forms/{StepsLayout → Wizard}/NextButton/index.js +0 -0
  792. /package/cjs/extensions/forms/{StepsLayout → Wizard}/PreviousButton/PreviousButton.d.ts +0 -0
  793. /package/cjs/extensions/forms/{StepsLayout → Wizard}/PreviousButton/index.d.ts +0 -0
  794. /package/cjs/extensions/forms/{StepsLayout → Wizard}/PreviousButton/index.js +0 -0
  795. /package/cjs/extensions/forms/{StepsLayout → Wizard}/Step/Step.d.ts +0 -0
  796. /package/cjs/extensions/forms/{StepsLayout → Wizard}/Step/index.d.ts +0 -0
  797. /package/cjs/extensions/forms/{StepsLayout → Wizard}/Step/index.js +0 -0
  798. /package/cjs/extensions/forms/{StepsLayout → Wizard}/style.d.ts +0 -0
  799. /package/cjs/extensions/forms/{StepsLayout → Wizard}/style.js +0 -0
  800. /package/es/extensions/forms/{StepsLayout → Wizard}/Buttons/Buttons.d.ts +0 -0
  801. /package/es/extensions/forms/{StepsLayout → Wizard}/Buttons/index.d.ts +0 -0
  802. /package/es/extensions/forms/{StepsLayout → Wizard}/Buttons/index.js +0 -0
  803. /package/es/extensions/forms/{StepsLayout → Wizard}/NextButton/NextButton.d.ts +0 -0
  804. /package/es/extensions/forms/{StepsLayout → Wizard}/NextButton/index.d.ts +0 -0
  805. /package/es/extensions/forms/{StepsLayout → Wizard}/NextButton/index.js +0 -0
  806. /package/es/extensions/forms/{StepsLayout → Wizard}/PreviousButton/PreviousButton.d.ts +0 -0
  807. /package/es/extensions/forms/{StepsLayout → Wizard}/PreviousButton/index.d.ts +0 -0
  808. /package/es/extensions/forms/{StepsLayout → Wizard}/PreviousButton/index.js +0 -0
  809. /package/es/extensions/forms/{StepsLayout → Wizard}/Step/Step.d.ts +0 -0
  810. /package/es/extensions/forms/{StepsLayout → Wizard}/Step/index.d.ts +0 -0
  811. /package/es/extensions/forms/{StepsLayout → Wizard}/Step/index.js +0 -0
  812. /package/es/extensions/forms/{StepsLayout → Wizard}/style.d.ts +0 -0
  813. /package/es/extensions/forms/{StepsLayout → Wizard}/style.js +0 -0
  814. /package/extensions/forms/{StepsLayout → Wizard}/Buttons/Buttons.d.ts +0 -0
  815. /package/extensions/forms/{StepsLayout → Wizard}/Buttons/index.d.ts +0 -0
  816. /package/extensions/forms/{StepsLayout → Wizard}/Buttons/index.js +0 -0
  817. /package/extensions/forms/{StepsLayout → Wizard}/NextButton/NextButton.d.ts +0 -0
  818. /package/extensions/forms/{StepsLayout → Wizard}/NextButton/index.d.ts +0 -0
  819. /package/extensions/forms/{StepsLayout → Wizard}/NextButton/index.js +0 -0
  820. /package/extensions/forms/{StepsLayout → Wizard}/PreviousButton/PreviousButton.d.ts +0 -0
  821. /package/extensions/forms/{StepsLayout → Wizard}/PreviousButton/index.d.ts +0 -0
  822. /package/extensions/forms/{StepsLayout → Wizard}/PreviousButton/index.js +0 -0
  823. /package/extensions/forms/{StepsLayout → Wizard}/Step/Step.d.ts +0 -0
  824. /package/extensions/forms/{StepsLayout → Wizard}/Step/index.d.ts +0 -0
  825. /package/extensions/forms/{StepsLayout → Wizard}/Step/index.js +0 -0
  826. /package/extensions/forms/{StepsLayout → Wizard}/style.d.ts +0 -0
  827. /package/extensions/forms/{StepsLayout → Wizard}/style.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_FieldBlock","_hooks","_utils","_Context","_SelectCountry","_useErrorMessage","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","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_countryCodeRef$curre","sharedContext","useContext","SharedContext","tr","translation","Forms","lang","locale","split","countryCodeRef","React","useRef","emptyValue","numberRef","dataRef","langRef","wasFilled","errorMessages","useErrorMessage","path","required","phoneNumberErrorRequired","pattern","validateRequired","useCallback","_ref","isChanged","error","countryCode","phoneNumber","splitValue","prevCountryCodeRef","current","schema","useMemo","_props$schema","type","defaultProps","preparedProps","fromExternal","toEvent","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","countryCodeLabel","label","phoneNumberLabel","numberMask","countries","ccFilter","info","warning","hasError","disabled","width","help","validateInitially","continuousValidation","validateUnchanged","omitCountryCodeField","handleFocus","handleBlur","handleChange","onCountryCodeChange","onNumberChange","filterCountries","makeCountryFilterSet","useFieldProps","external","updateCurrentDataSet","getCountryData","country","formattCountryCode","cdc","sort","makeObject","callOnChange","_ref2","joinValue","handleCountryCodeChange","_ref3","_data$selectedKey","data","selectedKey","trim","handleNumberChange","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","revalidateInputValue","event","nativeEvent","cdcVal","test","find","_ref6","window","requestAnimationFrame","isDefault","includes","createElement","classnames","pickSpacingProps","Flex","Horizontal","align","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","stretch","layout","mask","Array","fill","onFocus","onBlur","onChange","inputMode","_country$i18n$lang","selected_value","iso","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Autocomplete, Flex } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, { CountryType } from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldHelpProps,\n FieldProps,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n CountryFilterSet,\n getCountryData,\n makeCountryFilterSet,\n} from '../SelectCountry'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n countries?: CountryFilterSet\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const lang = sharedContext.locale?.split('-')[0]\n\n const countryCodeRef = React.useRef(props?.emptyValue)\n const numberRef = React.useRef(props?.emptyValue)\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: tr.phoneNumberErrorRequired,\n pattern: tr.phoneNumberErrorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\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 const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n }\n\n const {\n value,\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = sharedContext?.translation.Forms.phoneNumberLabel,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n error,\n hasError,\n disabled,\n width = 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateUnchanged,\n omitCountryCodeField,\n handleFocus,\n handleBlur,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n function fromExternal(external: string) {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n }\n\n function toEvent(value: string) {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return emptyValue\n }\n return value\n }\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) =>\n `${formattCountryCode(country.cdc)}` === countryCodeRef.current\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filterCountries, ccFilter])\n\n const callOnChange = useCallback(\n ({\n countryCode = omitCountryCodeField\n ? emptyValue\n : countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }) => {\n handleChange(\n joinValue([countryCode, phoneNumber]),\n omitCountryCodeField\n ? { phoneNumber }\n : { countryCode, phoneNumber }\n )\n },\n [omitCountryCodeField, emptyValue, handleChange]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const prevCountryCodeRef = React.useRef(countryCodeRef.current)\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleFocus()\n },\n [handleFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formattCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={omitCountryCodeField ? undefined : width}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal align=\"flex-end\">\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={\n countryCodeLabel ??\n sharedContext?.translation.Forms.countryCodeLabel\n }\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n )}\n\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width={omitCountryCodeField ? 'medium' : 'stretch'}\n help={help}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n continuousValidation={continuousValidation}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formattCountryCode(country.cdc),\n selected_value: `${country.iso} (${formattCountryCode(country.cdc)})`,\n content: `${formattCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n }\n}\n\nfunction formattCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_FieldBlock","_hooks","_utils","_Context","_SelectCountry","_useErrorMessage","_useLocale","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","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_countryCodeRef$curre","sharedContext","useContext","SharedContext","translations","useLocale","lang","locale","split","countryCodeRef","React","useRef","emptyValue","numberRef","dataRef","langRef","wasFilled","errorMessages","useErrorMessage","path","required","errorRequired","pattern","validateRequired","useCallback","_ref","isChanged","error","countryCode","phoneNumber","splitValue","prevCountryCodeRef","current","schema","useMemo","_props$schema","type","defaultProps","preparedProps","fromExternal","toEvent","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","countryCodeLabel","label","numberMask","countries","ccFilter","info","warning","hasError","disabled","width","help","validateInitially","continuousValidation","validateUnchanged","omitCountryCodeField","handleFocus","handleBlur","handleChange","onCountryCodeChange","onNumberChange","filterCountries","makeCountryFilterSet","useFieldProps","external","updateCurrentDataSet","getCountryData","country","formattCountryCode","cdc","sort","makeObject","callOnChange","_ref2","joinValue","handleCountryCodeChange","_ref3","_data$selectedKey","data","selectedKey","trim","handleNumberChange","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","revalidateInputValue","event","nativeEvent","cdcVal","test","find","_ref6","window","requestAnimationFrame","isDefault","includes","createElement","classnames","pickSpacingProps","Flex","Horizontal","align","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","stretch","layout","mask","Array","fill","onFocus","onBlur","onChange","inputMode","_country$i18n$lang","selected_value","iso","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Autocomplete, Flex } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldHelpProps,\n FieldProps,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n CountryFilterSet,\n getCountryData,\n makeCountryFilterSet,\n} from '../SelectCountry'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useLocale from '../../hooks/useLocale'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n countries?: CountryFilterSet\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const translations = useLocale()\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = React.useRef(props?.emptyValue)\n const numberRef = React.useRef(props?.emptyValue)\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.PhoneNumber.errorRequired,\n pattern: translations.PhoneNumber.errorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\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 const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n }\n\n const {\n value,\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = translations.PhoneNumber.label,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n error,\n hasError,\n disabled,\n width = 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateUnchanged,\n omitCountryCodeField,\n handleFocus,\n handleBlur,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n function fromExternal(external: string) {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n }\n\n function toEvent(value: string) {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return emptyValue\n }\n return value\n }\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) =>\n `${formattCountryCode(country.cdc)}` === countryCodeRef.current\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filterCountries, ccFilter])\n\n const callOnChange = useCallback(\n ({\n countryCode = omitCountryCodeField\n ? emptyValue\n : countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }) => {\n handleChange(\n joinValue([countryCode, phoneNumber]),\n omitCountryCodeField\n ? { phoneNumber }\n : { countryCode, phoneNumber }\n )\n },\n [omitCountryCodeField, emptyValue, handleChange]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const prevCountryCodeRef = React.useRef(countryCodeRef.current)\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleFocus()\n },\n [handleFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formattCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={omitCountryCodeField ? undefined : width}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal align=\"flex-end\">\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={\n countryCodeLabel ?? translations.PhoneNumber.countryCodeLabel\n }\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n )}\n\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width={omitCountryCodeField ? 'medium' : 'stretch'}\n help={help}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n continuousValidation={continuousValidation}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formattCountryCode(country.cdc),\n selected_value: `${country.iso} (${formattCountryCode(country.cdc)})`,\n content: `${formattCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n }\n}\n\nfunction formattCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Props as FieldBlockProps } from '../../FieldBlock';
2
2
  import { Props as StringFieldProps } from '../String';
3
3
  import { FieldHelpProps } from '../../types';
4
- export type Props = FieldHelpProps & Omit<FieldBlockProps, 'children'> & Record<'postalCode' | 'city', StringFieldProps>;
4
+ export type Props = FieldHelpProps & Omit<FieldBlockProps, 'children'> & Partial<Record<'postalCode' | 'city', StringFieldProps>>;
5
5
  declare function PostalCodeAndCity(props: Props): import("react/jsx-runtime").JSX.Element;
6
6
  declare namespace PostalCodeAndCity {
7
7
  var _supportsSpacingProps: boolean;
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
- "use client";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
9
8
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _Context = _interopRequireDefault(require("../../../../shared/Context"));
11
- var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
12
9
  var _String = _interopRequireDefault(require("../String"));
10
+ var _Composition = _interopRequireDefault(require("../Composition"));
11
+ var _useLocale = _interopRequireDefault(require("../../hooks/useLocale"));
13
12
  const _excluded = ["postalCode", "city", "help", "width"];
14
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- 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); }
16
- 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; }
17
14
  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); }
18
15
  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; }
19
16
  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; }
@@ -23,8 +20,8 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
23
20
  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; }
24
21
  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; }
25
22
  function PostalCodeAndCity(props) {
26
- var _postalCode$pattern, _postalCode$label, _postalCode$placehold, _city$label;
27
- const sharedContext = (0, _react.useContext)(_Context.default);
23
+ var _postalCode$pattern, _postalCode$label, _postalCode$placehold, _city$label, _city$pattern;
24
+ const translations = (0, _useLocale.default)();
28
25
  const {
29
26
  postalCode = {},
30
27
  city = {},
@@ -32,19 +29,18 @@ function PostalCodeAndCity(props) {
32
29
  width = 'large'
33
30
  } = props,
34
31
  fieldBlockProps = _objectWithoutProperties(props, _excluded);
35
- return _react.default.createElement(_FieldBlock.default, _extends({
32
+ return _react.default.createElement(_Composition.default, _extends({
36
33
  className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city', props.className)
37
34
  }, fieldBlockProps, {
38
- width: width,
39
- composition: true
35
+ width: width
40
36
  }), _react.default.createElement(_String.default, _extends({}, postalCode, {
41
37
  pattern: (_postalCode$pattern = postalCode.pattern) !== null && _postalCode$pattern !== void 0 ? _postalCode$pattern : '^[0-9]{4}$',
42
38
  mask: [/\d/, /\d/, /\d/, /\d/],
43
39
  className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city__postal-code', postalCode.className),
44
- label: (_postalCode$label = postalCode.label) !== null && _postalCode$label !== void 0 ? _postalCode$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeLabel,
40
+ label: (_postalCode$label = postalCode.label) !== null && _postalCode$label !== void 0 ? _postalCode$label : translations.PostalCode.label,
45
41
  errorMessages: _objectSpread({
46
- required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeErrorRequired,
47
- pattern: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeErrorPattern
42
+ required: translations.PostalCode.errorRequired,
43
+ pattern: translations.PostalCode.errorPattern
48
44
  }, postalCode.errorMessages),
49
45
  placeholder: (_postalCode$placehold = postalCode.placeholder) !== null && _postalCode$placehold !== void 0 ? _postalCode$placehold : '0000',
50
46
  width: false,
@@ -53,10 +49,13 @@ function PostalCodeAndCity(props) {
53
49
  autoComplete: "postal-code"
54
50
  })), _react.default.createElement(_String.default, _extends({}, city, {
55
51
  className: (0, _classnames.default)('dnb-forms-field-postal-code-and-city__city', city.className),
56
- label: (_city$label = city.label) !== null && _city$label !== void 0 ? _city$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.cityLabel,
52
+ label: (_city$label = city.label) !== null && _city$label !== void 0 ? _city$label : translations.City.label,
57
53
  errorMessages: _objectSpread({
58
- required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.cityErrorRequired
54
+ required: translations.City.errorRequired,
55
+ pattern: translations.City.errorPattern
59
56
  }, city.errorMessages),
57
+ pattern: (_city$pattern = city.pattern) !== null && _city$pattern !== void 0 ? _city$pattern : '^[A-Za-zÆØÅæøå -]+$',
58
+ trim: true,
60
59
  width: "stretch",
61
60
  autoComplete: "address-level2",
62
61
  help: help
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCodeAndCity.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_FieldBlock","_String","_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","_postalCode$pattern","_postalCode$label","_postalCode$placehold","_city$label","sharedContext","useContext","SharedContext","postalCode","city","help","width","fieldBlockProps","createElement","className","classnames","composition","pattern","mask","label","translation","Forms","postalCodeLabel","errorMessages","required","postalCodeErrorRequired","postalCodeErrorPattern","placeholder","inputClassName","inputMode","autoComplete","cityLabel","cityErrorRequired","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { FieldHelpProps } from '../../types'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Record<'postalCode' | 'city', StringFieldProps>\n\nfunction PostalCodeAndCity(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const {\n postalCode = {},\n city = {},\n help,\n width = 'large',\n ...fieldBlockProps\n } = props\n\n return (\n <FieldBlock\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n width={width}\n composition\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={\n postalCode.label ??\n sharedContext?.translation.Forms.postalCodeLabel\n }\n errorMessages={{\n required:\n sharedContext?.translation.Forms.postalCodeErrorRequired,\n pattern: sharedContext?.translation.Forms.postalCodeErrorPattern,\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 ?? sharedContext?.translation.Forms.cityLabel}\n errorMessages={{\n required: sharedContext?.translation.Forms.cityErrorRequired,\n ...city.errorMessages,\n }}\n width=\"stretch\"\n autoComplete=\"address-level2\"\n help={help}\n />\n </FieldBlock>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,OAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAkE,MAAAM,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAQ,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAArB,MAAA,CAAAqB,IAAA,CAAAF,MAAA,OAAAnB,MAAA,CAAAsB,qBAAA,QAAAC,OAAA,GAAAvB,MAAA,CAAAsB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAzB,MAAA,CAAAE,wBAAA,CAAAiB,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAO,cAAAhB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAK,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,OAAAa,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAlB,MAAA,EAAAT,GAAA,EAAAa,MAAA,CAAAb,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAApB,MAAA,EAAAZ,MAAA,CAAA+B,yBAAA,CAAAf,MAAA,KAAAE,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,GAAAa,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAW,MAAA,EAAAT,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAc,MAAA,EAAAb,GAAA,iBAAAS,MAAA;AAAA,SAAAkB,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAP,UAAA,QAAAS,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,2BAAAlC,GAAA,gBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,yBAAAjC,MAAA,EAAAkC,QAAA,QAAAlC,MAAA,yBAAAJ,MAAA,GAAAuC,6BAAA,CAAAnC,MAAA,EAAAkC,QAAA,OAAA/C,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAsB,qBAAA,QAAA8B,gBAAA,GAAApD,MAAA,CAAAsB,qBAAA,CAAAN,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAuC,gBAAA,CAAArC,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAiD,gBAAA,CAAAvC,CAAA,OAAAqC,QAAA,CAAAG,OAAA,CAAAlD,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAkD,oBAAA,CAAAhD,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAuC,8BAAAnC,MAAA,EAAAkC,QAAA,QAAAlC,MAAA,yBAAAJ,MAAA,WAAA2C,UAAA,GAAAvD,MAAA,CAAAqB,IAAA,CAAAL,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA0C,UAAA,CAAAxC,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAoD,UAAA,CAAA1C,CAAA,OAAAqC,QAAA,CAAAG,OAAA,CAAAlD,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAOlE,SAAS4C,iBAAiBA,CAACC,KAAY,EAAE;EAAA,IAAAC,mBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,WAAA;EACvC,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAE/C,MAAM;MACJC,UAAU,GAAG,CAAC,CAAC;MACfC,IAAI,GAAG,CAAC,CAAC;MACTC,IAAI;MACJC,KAAK,GAAG;IAEV,CAAC,GAAGX,KAAK;IADJY,eAAe,GAAApB,wBAAA,CAChBQ,KAAK,EAAAvE,SAAA;EAET,OACER,MAAA,CAAAW,OAAA,CAAAiF,aAAA,CAACtF,WAAA,CAAAK,OAAU,EAAAoB,QAAA;IACT8D,SAAS,EAAE,IAAAC,mBAAU,EACnB,sCAAsC,EACtCf,KAAK,CAACc,SACR;EAAE,GACEF,eAAe;IACnBD,KAAK,EAAEA,KAAM;IACbK,WAAW;EAAA,IAEX/F,MAAA,CAAAW,OAAA,CAAAiF,aAAA,CAACrF,OAAA,CAAAI,OAAW,EAAAoB,QAAA,KACNwD,UAAU;IACdS,OAAO,GAAAhB,mBAAA,GAAEO,UAAU,CAACS,OAAO,cAAAhB,mBAAA,cAAAA,mBAAA,GAAI,YAAa;IAC5CiB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAE;IAC/BJ,SAAS,EAAE,IAAAC,mBAAU,EACnB,mDAAmD,EACnDP,UAAU,CAACM,SACb,CAAE;IACFK,KAAK,GAAAjB,iBAAA,GACHM,UAAU,CAACW,KAAK,cAAAjB,iBAAA,cAAAA,iBAAA,GAChBG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEe,WAAW,CAACC,KAAK,CAACC,eAClC;IACDC,aAAa,EAAApD,aAAA;MACXqD,QAAQ,EACNnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEe,WAAW,CAACC,KAAK,CAACI,uBAAuB;MAC1DR,OAAO,EAAEZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEe,WAAW,CAACC,KAAK,CAACK;IAAsB,GAC7DlB,UAAU,CAACe,aAAa,CAC3B;IACFI,WAAW,GAAAxB,qBAAA,GAAEK,UAAU,CAACmB,WAAW,cAAAxB,qBAAA,cAAAA,qBAAA,GAAI,MAAO;IAC9CQ,KAAK,EAAE,KAAM;IACbiB,cAAc,EAAC,yDAAyD;IACxEC,SAAS,EAAC,SAAS;IACnBC,YAAY,EAAC;EAAa,EAC3B,CAAC,EACF7G,MAAA,CAAAW,OAAA,CAAAiF,aAAA,CAACrF,OAAA,CAAAI,OAAW,EAAAoB,QAAA,KACNyD,IAAI;IACRK,SAAS,EAAE,IAAAC,mBAAU,EACnB,4CAA4C,EAC5CN,IAAI,CAACK,SACP,CAAE;IACFK,KAAK,GAAAf,WAAA,GAAEK,IAAI,CAACU,KAAK,cAAAf,WAAA,cAAAA,WAAA,GAAIC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEe,WAAW,CAACC,KAAK,CAACU,SAAU;IAChER,aAAa,EAAApD,aAAA;MACXqD,QAAQ,EAAEnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEe,WAAW,CAACC,KAAK,CAACW;IAAiB,GACzDvB,IAAI,CAACc,aAAa,CACrB;IACFZ,KAAK,EAAC,SAAS;IACfmB,YAAY,EAAC,gBAAgB;IAC7BpB,IAAI,EAAEA;EAAK,EACZ,CACS,CAAC;AAEjB;AAEAX,iBAAiB,CAACkC,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC/BnC,iBAAiB;AAAAoC,OAAA,CAAAvG,OAAA,GAAAsG,QAAA"}
1
+ {"version":3,"file":"PostalCodeAndCity.js","names":["_react","_interopRequireDefault","require","_classnames","_String","_Composition","_useLocale","_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","useLocale","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 useLocale from '../../hooks/useLocale'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Partial<Record<'postalCode' | 'city', StringFieldProps>>\n\nfunction PostalCodeAndCity(props: Props) {\n const translations = useLocale()\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,4 +1,4 @@
1
- import { CountryType } from '../../constants/countries';
1
+ import { type CountryType, type CountryLang } from '../../constants/countries';
2
2
  import { FieldHelpProps, FieldProps } from '../../types';
3
3
  export type CountryFilterSet = 'Scandinavia' | 'Nordic' | 'Europe' | 'Prioritized';
4
4
  export type Props = FieldHelpProps & FieldProps<string, undefined | string> & {
@@ -21,7 +21,7 @@ declare namespace SelectCountry {
21
21
  var _supportsSpacingProps: boolean;
22
22
  }
23
23
  type GetCountryData = {
24
- lang?: string;
24
+ lang?: CountryLang;
25
25
  filter?: Props['filterCountries'];
26
26
  sort?: Extract<CountryFilterSet, 'Prioritized'>;
27
27
  makeObject?: (country: CountryType, lang: string) => {
@@ -16,6 +16,7 @@ var _countries = _interopRequireWildcard(require("../../constants/countries"));
16
16
  var _hooks = require("../../hooks");
17
17
  var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
18
18
  var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
19
+ var _useLocale = _interopRequireDefault(require("../../hooks/useLocale"));
19
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21
  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
22
  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,10 +29,10 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
28
29
  function SelectCountry(props) {
29
30
  var _sharedContext$locale;
30
31
  const sharedContext = (0, _react.useContext)(_Context.default);
31
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
32
+ const translations = (0, _useLocale.default)().SelectCountry;
32
33
  const lang = (_sharedContext$locale = sharedContext.locale) === null || _sharedContext$locale === void 0 ? void 0 : _sharedContext$locale.split('-')[0];
33
34
  const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
34
- required: tr.selectCountryErrorRequired
35
+ required: translations.errorRequired
35
36
  });
36
37
  const defaultProps = {
37
38
  errorMessages
@@ -39,8 +40,8 @@ function SelectCountry(props) {
39
40
  const preparedProps = _objectSpread(_objectSpread({}, defaultProps), props);
40
41
  const {
41
42
  className,
42
- placeholder = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryPlaceholder,
43
- label = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryLabel,
43
+ placeholder = translations.placeholder,
44
+ label = translations.label,
44
45
  countries: ccFilter = 'Prioritized',
45
46
  info,
46
47
  warning,
@@ -164,7 +165,7 @@ function SelectCountry(props) {
164
165
  }
165
166
  function getCountryData() {
166
167
  let {
167
- lang = 'no',
168
+ lang = 'nb',
168
169
  filter = null,
169
170
  sort = null,
170
171
  makeObject = (country, lang) => {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountry.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_components","_utils","_countries","_hooks","_FieldBlock","_useErrorMessage","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","SelectCountry","props","_sharedContext$locale","sharedContext","useContext","SharedContext","tr","translation","Forms","lang","locale","split","errorMessages","useErrorMessage","path","required","selectCountryErrorRequired","defaultProps","preparedProps","className","placeholder","selectCountryPlaceholder","label","selectCountryLabel","countries","ccFilter","info","warning","error","hasError","disabled","width","help","htmlAttributes","handleFocus","handleBlur","handleChange","updateValue","forceUpdate","filterCountries","makeCountryFilterSet","useFieldProps","dataRef","React","useRef","langRef","wasFilled","useMemo","isLangChange","current","getCountryData","country","iso","sort","window","requestAnimationFrame","handleCountryChange","useCallback","_ref","data","newValue","selectedKey","find","_ref2","fillData","onFocusHandler","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","currentValue","setHidden","event","nativeEvent","search","toLowerCase","_ref5","i18n","values","some","s","includes","createElement","classnames","pickSpacingProps","Autocomplete","label_direction","input_icon","on_show","on_focus","on_blur","on_change","on_type","stretch","status","show_submit_button","suffix","HelpButton","title","content","autoComplete","no_animation","noAnimation","makeObject","_country$i18n$lang","en","_ref6","_ref7","a","b","indexA","prioritizedCountries","indexOf","indexB","priorityA","priorityB","localeCompare","map","_country$regions","regions","continent","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport { Autocomplete, HelpButton } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport countries, {\n prioritizedCountries,\n CountryType,\n} from '../../constants/countries'\nimport { useFieldProps } from '../../hooks'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport FieldBlock from '../../FieldBlock'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\nexport type CountryFilterSet =\n | 'Scandinavia'\n | 'Nordic'\n | 'Europe'\n | 'Prioritized'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countries?: CountryFilterSet\n\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const lang = sharedContext.locale?.split('-')[0]\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: tr.selectCountryErrorRequired,\n })\n\n const defaultProps: Partial<Props> = {\n errorMessages,\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n }\n\n const {\n className,\n placeholder = sharedContext?.translation.Forms\n .selectCountryPlaceholder,\n label = sharedContext?.translation.Forms.selectCountryLabel,\n countries: ccFilter = 'Prioritized',\n info,\n warning,\n error,\n hasError,\n disabled,\n value,\n width = 'large',\n help,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update data set when value changes.\n */\n useMemo(() => {\n const isLangChange = lang !== langRef.current\n\n if (isLangChange || !wasFilled.current) {\n langRef.current = lang\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) => country.iso === props.value\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n\n // To force Autocomplete to re-evaluate the internal data\n if (isLangChange && props.value && typeof window !== 'undefined') {\n updateValue(null)\n window.requestAnimationFrame(() => {\n updateValue(props.value)\n })\n }\n }\n }, [lang, filterCountries, ccFilter, updateValue, props.value])\n\n const handleCountryChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const newValue = data?.selectedKey\n const country = countries.find(({ iso }) => newValue === iso)\n if (country?.iso) {\n handleChange(country.iso, country)\n }\n },\n [handleChange]\n )\n\n const fillData = useCallback(() => {\n if (!wasFilled.current) {\n wasFilled.current = true\n dataRef.current = getCountryData({\n lang: langRef.current,\n filter: filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n forceUpdate()\n }\n }, [ccFilter, filterCountries, forceUpdate])\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n fillData()\n updateData(dataRef.current)\n handleFocus()\n },\n [fillData, handleFocus]\n )\n\n const onTypeHandler = useCallback(\n ({ value: currentValue, setHidden, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const search = currentValue.toLowerCase()\n const country = countries.find(({ i18n }) =>\n Object.values(i18n).some((s) => s.toLowerCase().includes(search))\n )\n if (country?.iso) {\n setHidden()\n handleChange(country.iso, country)\n }\n }\n },\n [handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-select-country', className)}\n width={width}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <Autocomplete\n placeholder={placeholder}\n label_direction=\"vertical\"\n label={label}\n input_icon={false}\n data={dataRef.current}\n value={value}\n disabled={disabled}\n on_show={fillData}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryChange}\n on_type={onTypeHandler}\n stretch\n status={hasError ? 'error' : undefined}\n show_submit_button\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n autoComplete=\"country-name\"\n no_animation={props.noAnimation}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\ntype GetCountryData = {\n lang?: string\n filter?: Props['filterCountries']\n sort?: Extract<CountryFilterSet, 'Prioritized'>\n makeObject?: (\n country: CountryType,\n lang: string\n ) => {\n selectedKey: string\n selected_value?: string\n content: string\n }\n}\n\nexport function getCountryData({\n lang = 'no',\n filter = null,\n sort = null,\n makeObject = (country: CountryType, lang: string) => {\n const content = country.i18n[lang] ?? country.i18n.en\n return {\n selectedKey: country.iso,\n content,\n }\n },\n}: GetCountryData = {}) {\n return countries\n .filter((country) => {\n if (typeof filter === 'function') {\n return filter(country)\n }\n\n return !filter\n })\n .sort(({ i18n: a }, { i18n: b }) => {\n if (sort === 'Prioritized') {\n const indexA = prioritizedCountries.indexOf(a['en'])\n const indexB = prioritizedCountries.indexOf(b['en'])\n\n const priorityA = indexA !== -1\n const priorityB = indexB !== -1\n\n if (priorityA && priorityB) {\n return indexA - indexB\n } else if (priorityA) {\n return -1\n } else if (priorityB) {\n return 1\n }\n }\n\n return a[lang].localeCompare(b[lang])\n })\n .map((country) => makeObject(country, lang))\n}\n\nexport function makeCountryFilterSet(ccFilter: CountryFilterSet) {\n return (country: CountryType) => {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic':\n return country.regions?.includes(ccFilter)\n case 'Europe':\n return country.continent.includes(ccFilter)\n }\n return true\n }\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectCountry.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_components","_utils","_countries","_hooks","_FieldBlock","_useErrorMessage","_useLocale","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","SelectCountry","props","_sharedContext$locale","sharedContext","useContext","SharedContext","translations","useLocale","lang","locale","split","errorMessages","useErrorMessage","path","required","errorRequired","defaultProps","preparedProps","className","placeholder","label","countries","ccFilter","info","warning","error","hasError","disabled","width","help","htmlAttributes","handleFocus","handleBlur","handleChange","updateValue","forceUpdate","filterCountries","makeCountryFilterSet","useFieldProps","dataRef","React","useRef","langRef","wasFilled","useMemo","isLangChange","current","getCountryData","country","iso","sort","window","requestAnimationFrame","handleCountryChange","useCallback","_ref","data","newValue","selectedKey","find","_ref2","fillData","onFocusHandler","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","currentValue","setHidden","event","nativeEvent","search","toLowerCase","_ref5","i18n","values","some","s","includes","createElement","classnames","pickSpacingProps","Autocomplete","label_direction","input_icon","on_show","on_focus","on_blur","on_change","on_type","stretch","status","show_submit_button","suffix","HelpButton","title","content","autoComplete","no_animation","noAnimation","makeObject","_country$i18n$lang","en","_ref6","_ref7","a","b","indexA","prioritizedCountries","indexOf","indexB","priorityA","priorityB","localeCompare","map","_country$regions","regions","continent","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport { Autocomplete, HelpButton } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport countries, {\n prioritizedCountries,\n type CountryType,\n type CountryLang,\n} from '../../constants/countries'\nimport { useFieldProps } from '../../hooks'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport FieldBlock from '../../FieldBlock'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useLocale from '../../hooks/useLocale'\n\nexport type CountryFilterSet =\n | 'Scandinavia'\n | 'Nordic'\n | 'Europe'\n | 'Prioritized'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countries?: CountryFilterSet\n\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n const translations = useLocale().SelectCountry\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n })\n\n const defaultProps: Partial<Props> = {\n errorMessages,\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n }\n\n const {\n className,\n placeholder = translations.placeholder,\n label = translations.label,\n countries: ccFilter = 'Prioritized',\n info,\n warning,\n error,\n hasError,\n disabled,\n value,\n width = 'large',\n help,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update data set when value changes.\n */\n useMemo(() => {\n const isLangChange = lang !== langRef.current\n\n if (isLangChange || !wasFilled.current) {\n langRef.current = lang\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) => country.iso === props.value\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n\n // To force Autocomplete to re-evaluate the internal data\n if (isLangChange && props.value && typeof window !== 'undefined') {\n updateValue(null)\n window.requestAnimationFrame(() => {\n updateValue(props.value)\n })\n }\n }\n }, [lang, filterCountries, ccFilter, updateValue, props.value])\n\n const handleCountryChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const newValue = data?.selectedKey\n const country = countries.find(({ iso }) => newValue === iso)\n if (country?.iso) {\n handleChange(country.iso, country)\n }\n },\n [handleChange]\n )\n\n const fillData = useCallback(() => {\n if (!wasFilled.current) {\n wasFilled.current = true\n dataRef.current = getCountryData({\n lang: langRef.current,\n filter: filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n forceUpdate()\n }\n }, [ccFilter, filterCountries, forceUpdate])\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n fillData()\n updateData(dataRef.current)\n handleFocus()\n },\n [fillData, handleFocus]\n )\n\n const onTypeHandler = useCallback(\n ({ value: currentValue, setHidden, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const search = currentValue.toLowerCase()\n const country = countries.find(({ i18n }) =>\n Object.values(i18n).some((s) => s.toLowerCase().includes(search))\n )\n if (country?.iso) {\n setHidden()\n handleChange(country.iso, country)\n }\n }\n },\n [handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-select-country', className)}\n width={width}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <Autocomplete\n placeholder={placeholder}\n label_direction=\"vertical\"\n label={label}\n input_icon={false}\n data={dataRef.current}\n value={value}\n disabled={disabled}\n on_show={fillData}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryChange}\n on_type={onTypeHandler}\n stretch\n status={hasError ? 'error' : undefined}\n show_submit_button\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n autoComplete=\"country-name\"\n no_animation={props.noAnimation}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\ntype GetCountryData = {\n lang?: CountryLang\n filter?: Props['filterCountries']\n sort?: Extract<CountryFilterSet, 'Prioritized'>\n makeObject?: (\n country: CountryType,\n lang: string\n ) => {\n selectedKey: string\n selected_value?: string\n content: string\n }\n}\n\nexport function getCountryData({\n lang = 'nb',\n filter = null,\n sort = null,\n makeObject = (country: CountryType, lang: string) => {\n const content = country.i18n[lang] ?? country.i18n.en\n return {\n selectedKey: country.iso,\n content,\n }\n },\n}: GetCountryData = {}) {\n return countries\n .filter((country) => {\n if (typeof filter === 'function') {\n return filter(country)\n }\n\n return !filter\n })\n .sort(({ i18n: a }, { i18n: b }) => {\n if (sort === 'Prioritized') {\n const indexA = prioritizedCountries.indexOf(a['en'])\n const indexB = prioritizedCountries.indexOf(b['en'])\n\n const priorityA = indexA !== -1\n const priorityB = indexB !== -1\n\n if (priorityA && priorityB) {\n return indexA - indexB\n } else if (priorityA) {\n return -1\n } else if (priorityB) {\n return 1\n }\n }\n\n return a[lang].localeCompare(b[lang])\n })\n .map((country) => makeObject(country, lang))\n}\n\nexport function makeCountryFilterSet(ccFilter: CountryFilterSet) {\n return (country: CountryType) => {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic':\n return country.regions?.includes(ccFilter)\n case 'Europe':\n return country.continent.includes(ccFilter)\n }\n return true\n }\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":"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"}
@@ -9,13 +9,13 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _components = require("../../../../components");
11
11
  var _InputMasked = _interopRequireDefault(require("../../../../components/InputMasked"));
12
- var _Context = _interopRequireDefault(require("../../../../shared/Context"));
13
12
  var _FieldBlockContext = _interopRequireDefault(require("../../FieldBlock/FieldBlockContext"));
14
13
  var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
15
14
  var _hooks = require("../../hooks");
16
15
  var _utils = require("../../../../components/flex/utils");
17
16
  var _componentHelper = require("../../../../shared/component-helper");
18
17
  var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
18
+ var _useLocale = _interopRequireDefault(require("../../hooks/useLocale"));
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
  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
21
  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,13 +28,12 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
28
28
  function StringComponent(props) {
29
29
  var _props$width, _value$toString;
30
30
  const fieldBlockContext = (0, _react.useContext)(_FieldBlockContext.default);
31
- const sharedContext = (0, _react.useContext)(_Context.default);
32
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
31
+ const translations = (0, _useLocale.default)();
33
32
  const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
34
- required: tr.inputErrorRequired,
35
- minLength: tr.stringInputErrorMinLength,
36
- maxLength: tr.stringInputErrorMaxLength,
37
- pattern: tr.inputErrorPattern
33
+ required: translations.Field.errorRequired,
34
+ minLength: translations.StringField.errorMinLength,
35
+ maxLength: translations.StringField.errorMaxLength,
36
+ pattern: translations.Field.errorPattern
38
37
  });
39
38
  const schema = (0, _react.useMemo)(() => {
40
39
  var _props$schema;
@@ -67,12 +66,13 @@ function StringComponent(props) {
67
66
  }
68
67
  return value;
69
68
  }, [props.trim]);
69
+ const transform = props.transformValue;
70
70
  const transformValue = (0, _react.useCallback)(value => {
71
71
  if (props.capitalize) {
72
72
  value = (0, _componentHelper.toCapitalized)(String(value || ''));
73
73
  }
74
- return value;
75
- }, [props.capitalize]);
74
+ return (transform === null || transform === void 0 ? void 0 : transform(value)) || value;
75
+ }, [props.capitalize, transform]);
76
76
  const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
77
77
  errorMessages,
78
78
  schema,