@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,23 +1,21 @@
1
- "use client";
2
-
3
1
  import _extends from "@babel/runtime/helpers/esm/extends";
4
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
3
  const _excluded = ["trueText", "falseText"];
6
- import React, { useContext } from 'react';
4
+ import React from 'react';
7
5
  import ToggleField from '../Toggle';
8
- import SharedContext from '../../../../shared/Context';
6
+ import useLocale from '../../hooks/useLocale';
9
7
  function BooleanComponent(props) {
10
- const sharedContext = useContext(SharedContext);
11
8
  const {
12
9
  trueText,
13
10
  falseText
14
11
  } = props,
15
12
  restProps = _objectWithoutProperties(props, _excluded);
13
+ const translations = useLocale().BooleanField;
16
14
  return React.createElement(ToggleField, _extends({}, restProps, {
17
15
  valueOn: true,
18
16
  valueOff: false,
19
- textOn: trueText !== null && trueText !== void 0 ? trueText : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.booleanYes,
20
- textOff: falseText !== null && falseText !== void 0 ? falseText : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.booleanNo
17
+ textOn: trueText !== null && trueText !== void 0 ? trueText : translations.yes,
18
+ textOff: falseText !== null && falseText !== void 0 ? falseText : translations.no
21
19
  }));
22
20
  }
23
21
  BooleanComponent._supportsSpacingProps = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Boolean.js","names":["React","useContext","ToggleField","SharedContext","BooleanComponent","props","sharedContext","trueText","falseText","restProps","_objectWithoutProperties","_excluded","createElement","_extends","valueOn","valueOff","textOn","translation","Forms","booleanYes","textOff","booleanNo","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/Boolean.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport ToggleField, { Props as ToggleFieldProps } from '../Toggle'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = Omit<\n ToggleFieldProps,\n 'valueOn' | 'valueOff' | 'textOn' | 'textOff'\n> & {\n trueText?: string\n falseText?: string\n}\n\nfunction BooleanComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const { trueText, falseText, ...restProps } = props\n return (\n <ToggleField\n {...restProps}\n valueOn={true}\n valueOff={false}\n textOn={trueText ?? sharedContext?.translation.Forms.booleanYes}\n textOff={falseText ?? sharedContext?.translation.Forms.booleanNo}\n />\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,aAAa,MAAM,4BAA4B;AAUtD,SAASC,gBAAgBA,CAACC,KAAY,EAAE;EACtC,MAAMC,aAAa,GAAGL,UAAU,CAACE,aAAa,CAAC;EAC/C,MAAM;MAAEI,QAAQ;MAAEC;IAAwB,CAAC,GAAGH,KAAK;IAAnBI,SAAS,GAAAC,wBAAA,CAAKL,KAAK,EAAAM,SAAA;EACnD,OACEX,KAAA,CAAAY,aAAA,CAACV,WAAW,EAAAW,QAAA,KACNJ,SAAS;IACbK,OAAO,EAAE,IAAK;IACdC,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAET,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAID,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEW,WAAW,CAACC,KAAK,CAACC,UAAW;IAChEC,OAAO,EAAEZ,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEW,WAAW,CAACC,KAAK,CAACG;EAAU,EAClE,CAAC;AAEN;AAEAjB,gBAAgB,CAACkB,qBAAqB,GAAG,IAAI;AAC7C,eAAelB,gBAAgB"}
1
+ {"version":3,"file":"Boolean.js","names":["React","ToggleField","useLocale","BooleanComponent","props","trueText","falseText","restProps","_objectWithoutProperties","_excluded","translations","BooleanField","createElement","_extends","valueOn","valueOff","textOn","yes","textOff","no","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport ToggleField, { Props as ToggleFieldProps } from '../Toggle'\nimport useLocale from '../../hooks/useLocale'\n\nexport type Props = Omit<\n ToggleFieldProps,\n 'valueOn' | 'valueOff' | 'textOn' | 'textOff'\n> & {\n trueText?: string\n falseText?: string\n}\n\nfunction BooleanComponent(props: Props) {\n const { trueText, falseText, ...restProps } = props\n const translations = useLocale().BooleanField\n\n return (\n <ToggleField\n {...restProps}\n valueOn={true}\n valueOff={false}\n textOn={trueText ?? translations.yes}\n textOff={falseText ?? translations.no}\n />\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,SAAS,MAAM,uBAAuB;AAU7C,SAASC,gBAAgBA,CAACC,KAAY,EAAE;EACtC,MAAM;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAGF,KAAK;IAAnBG,SAAS,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA;EACnD,MAAMC,YAAY,GAAGR,SAAS,CAAC,CAAC,CAACS,YAAY;EAE7C,OACEX,KAAA,CAAAY,aAAA,CAACX,WAAW,EAAAY,QAAA,KACNN,SAAS;IACbO,OAAO,EAAE,IAAK;IACdC,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAEX,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIK,YAAY,CAACO,GAAI;IACrCC,OAAO,EAAEZ,SAAS,aAATA,SAAS,cAATA,SAAS,GAAII,YAAY,CAACS;EAAG,EACvC,CAAC;AAEN;AAEAhB,gBAAgB,CAACiB,qBAAqB,GAAG,IAAI;AAC7C,eAAejB,gBAAgB"}
@@ -0,0 +1,6 @@
1
+ import { Props as FieldBlockProps } from '../../FieldBlock';
2
+ declare function CompositionField(props: FieldBlockProps): import("react/jsx-runtime").JSX.Element;
3
+ declare namespace CompositionField {
4
+ var _supportsSpacingProps: boolean;
5
+ }
6
+ export default CompositionField;
@@ -0,0 +1,11 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import React from 'react';
3
+ import FieldBlock from '../../FieldBlock';
4
+ function CompositionField(props) {
5
+ return React.createElement(FieldBlock, _extends({}, props, {
6
+ composition: true
7
+ }));
8
+ }
9
+ CompositionField._supportsSpacingProps = true;
10
+ export default CompositionField;
11
+ //# sourceMappingURL=Composition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Composition.js","names":["React","FieldBlock","CompositionField","props","createElement","_extends","composition","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Composition/Composition.tsx"],"sourcesContent":["import React from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\n\nfunction CompositionField(props: FieldBlockProps) {\n return <FieldBlock {...props} composition />\n}\n\nCompositionField._supportsSpacingProps = true\nexport default CompositionField\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAoC,kBAAkB;AAEvE,SAASC,gBAAgBA,CAACC,KAAsB,EAAE;EAChD,OAAOH,KAAA,CAAAI,aAAA,CAACH,UAAU,EAAAI,QAAA,KAAKF,KAAK;IAAEG,WAAW;EAAA,EAAE,CAAC;AAC9C;AAEAJ,gBAAgB,CAACK,qBAAqB,GAAG,IAAI;AAC7C,eAAeL,gBAAgB"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Composition';
2
+ export * from './Composition';
@@ -0,0 +1,3 @@
1
+ export { default } from './Composition';
2
+ export * from './Composition';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../src/extensions/forms/Field/Composition/index.ts"],"sourcesContent":["export { default } from './Composition'\nexport * from './Composition'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AACvC,cAAc,eAAe"}
@@ -4,18 +4,18 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  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; }
6
6
  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; }
7
- import React from 'react';
7
+ import React, { useContext } from 'react';
8
8
  import classnames from 'classnames';
9
- import { Context } from '../../../../shared';
9
+ import SharedContext from '../../../../shared/Context';
10
10
  import { getCurrencySymbol } from '../../../../components/number-format/NumberUtils';
11
11
  import { CURRENCY } from '../../../../shared/defaults';
12
12
  import NumberField from '../Number';
13
13
  function Currency(props) {
14
14
  var _props$currency, _props$placeholder;
15
- const context = React.useContext(Context);
15
+ const sharedContext = useContext(SharedContext);
16
16
  const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
17
17
  currency: (_props$currency = props.currency) !== null && _props$currency !== void 0 ? _props$currency : CURRENCY,
18
- placeholder: (_props$placeholder = props.placeholder) !== null && _props$placeholder !== void 0 ? _props$placeholder : getCurrencySymbol(context === null || context === void 0 ? void 0 : context.locale, props.currency, props.currencyDisplay)
18
+ placeholder: (_props$placeholder = props.placeholder) !== null && _props$placeholder !== void 0 ? _props$placeholder : getCurrencySymbol(sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.locale, props.currency, props.currencyDisplay)
19
19
  });
20
20
  return React.createElement(NumberField, _extends({}, preparedProps, {
21
21
  className: classnames('dnb-forms-field-currency', props.className)
@@ -1 +1 @@
1
- {"version":3,"file":"Currency.js","names":["React","classnames","Context","getCurrencySymbol","CURRENCY","NumberField","Currency","props","_props$currency","_props$placeholder","context","useContext","preparedProps","_objectSpread","currency","placeholder","locale","currencyDisplay","createElement","_extends","className","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Currency/Currency.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Context } from '../../../../shared'\nimport { getCurrencySymbol } from '../../../../components/number-format/NumberUtils'\nimport { CURRENCY } from '../../../../shared/defaults'\nimport NumberField, { Props as NumberFieldProps } from '../Number'\n\nexport type Props = NumberFieldProps\n\nfunction Currency(props: Props) {\n const context = React.useContext(Context)\n const preparedProps = {\n ...props,\n currency: props.currency ?? CURRENCY,\n placeholder:\n props.placeholder ??\n getCurrencySymbol(\n context?.locale,\n props.currency,\n props.currencyDisplay\n ),\n }\n\n return (\n <NumberField\n {...preparedProps}\n className={classnames('dnb-forms-field-currency', props.className)}\n />\n )\n}\n\nCurrency._supportsSpacingProps = true\nexport default Currency\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,iBAAiB,QAAQ,kDAAkD;AACpF,SAASC,QAAQ,QAAQ,6BAA6B;AACtD,OAAOC,WAAW,MAAqC,WAAW;AAIlE,SAASC,QAAQA,CAACC,KAAY,EAAE;EAAA,IAAAC,eAAA,EAAAC,kBAAA;EAC9B,MAAMC,OAAO,GAAGV,KAAK,CAACW,UAAU,CAACT,OAAO,CAAC;EACzC,MAAMU,aAAa,GAAAC,aAAA,CAAAA,aAAA,KACdN,KAAK;IACRO,QAAQ,GAAAN,eAAA,GAAED,KAAK,CAACO,QAAQ,cAAAN,eAAA,cAAAA,eAAA,GAAIJ,QAAQ;IACpCW,WAAW,GAAAN,kBAAA,GACTF,KAAK,CAACQ,WAAW,cAAAN,kBAAA,cAAAA,kBAAA,GACjBN,iBAAiB,CACfO,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,MAAM,EACfT,KAAK,CAACO,QAAQ,EACdP,KAAK,CAACU,eACR;EAAC,EACJ;EAED,OACEjB,KAAA,CAAAkB,aAAA,CAACb,WAAW,EAAAc,QAAA,KACNP,aAAa;IACjBQ,SAAS,EAAEnB,UAAU,CAAC,0BAA0B,EAAEM,KAAK,CAACa,SAAS;EAAE,EACpE,CAAC;AAEN;AAEAd,QAAQ,CAACe,qBAAqB,GAAG,IAAI;AACrC,eAAef,QAAQ"}
1
+ {"version":3,"file":"Currency.js","names":["React","useContext","classnames","SharedContext","getCurrencySymbol","CURRENCY","NumberField","Currency","props","_props$currency","_props$placeholder","sharedContext","preparedProps","_objectSpread","currency","placeholder","locale","currencyDisplay","createElement","_extends","className","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Currency/Currency.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport { getCurrencySymbol } from '../../../../components/number-format/NumberUtils'\nimport { CURRENCY } from '../../../../shared/defaults'\nimport NumberField, { Props as NumberFieldProps } from '../Number'\n\nexport type Props = NumberFieldProps\n\nfunction Currency(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps = {\n ...props,\n currency: props.currency ?? CURRENCY,\n placeholder:\n props.placeholder ??\n getCurrencySymbol(\n sharedContext?.locale,\n props.currency,\n props.currencyDisplay\n ),\n }\n\n return (\n <NumberField\n {...preparedProps}\n className={classnames('dnb-forms-field-currency', props.className)}\n />\n )\n}\n\nCurrency._supportsSpacingProps = true\nexport default Currency\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,aAAa,MAAM,4BAA4B;AACtD,SAASC,iBAAiB,QAAQ,kDAAkD;AACpF,SAASC,QAAQ,QAAQ,6BAA6B;AACtD,OAAOC,WAAW,MAAqC,WAAW;AAIlE,SAASC,QAAQA,CAACC,KAAY,EAAE;EAAA,IAAAC,eAAA,EAAAC,kBAAA;EAC9B,MAAMC,aAAa,GAAGV,UAAU,CAACE,aAAa,CAAC;EAE/C,MAAMS,aAAa,GAAAC,aAAA,CAAAA,aAAA,KACdL,KAAK;IACRM,QAAQ,GAAAL,eAAA,GAAED,KAAK,CAACM,QAAQ,cAAAL,eAAA,cAAAA,eAAA,GAAIJ,QAAQ;IACpCU,WAAW,GAAAL,kBAAA,GACTF,KAAK,CAACO,WAAW,cAAAL,kBAAA,cAAAA,kBAAA,GACjBN,iBAAiB,CACfO,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,MAAM,EACrBR,KAAK,CAACM,QAAQ,EACdN,KAAK,CAACS,eACR;EAAC,EACJ;EAED,OACEjB,KAAA,CAAAkB,aAAA,CAACZ,WAAW,EAAAa,QAAA,KACNP,aAAa;IACjBQ,SAAS,EAAElB,UAAU,CAAC,0BAA0B,EAAEM,KAAK,CAACY,SAAS;EAAE,EACpE,CAAC;AAEN;AAEAb,QAAQ,CAACc,qBAAqB,GAAG,IAAI;AACrC,eAAed,QAAQ"}
@@ -1,24 +1,21 @@
1
- "use client";
2
-
3
1
  import _extends from "@babel/runtime/helpers/esm/extends";
4
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
3
  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; }
6
4
  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; }
7
- import React, { useCallback, useContext, useMemo } from 'react';
5
+ import React, { useCallback, useMemo } from 'react';
8
6
  import { DatePicker, HelpButton } from '../../../../components';
9
7
  import { useFieldProps } from '../../hooks';
10
8
  import { pickSpacingProps } from '../../../../components/flex/utils';
11
- import SharedContext from '../../../../shared/Context';
12
9
  import classnames from 'classnames';
13
10
  import FieldBlock from '../../FieldBlock';
14
11
  import { parseISO, isValid } from 'date-fns';
15
12
  import useErrorMessage from '../../hooks/useErrorMessage';
13
+ import useLocale from '../../hooks/useLocale';
16
14
  function DateComponent(props) {
17
- const sharedContext = useContext(SharedContext);
18
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
15
+ const translations = useLocale();
19
16
  const errorMessages = useErrorMessage(props.path, props.errorMessages, {
20
- required: tr.dateErrorRequired,
21
- pattern: tr.inputErrorPattern
17
+ required: translations.Date.errorRequired,
18
+ pattern: translations.Field.errorRequired
22
19
  });
23
20
  const schema = useMemo(() => {
24
21
  var _props$schema;
@@ -66,7 +63,7 @@ function DateComponent(props) {
66
63
  return React.createElement(FieldBlock, _extends({
67
64
  className: classnames('dnb-forms-field-string', className),
68
65
  forId: id,
69
- label: label !== null && label !== void 0 ? label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.dateLabel,
66
+ label: label !== null && label !== void 0 ? label : translations.Date.label,
70
67
  labelDescription: labelDescription,
71
68
  info: info,
72
69
  warning: warning,
@@ -1 +1 @@
1
- {"version":3,"file":"Date.js","names":["React","useCallback","useContext","useMemo","DatePicker","HelpButton","useFieldProps","pickSpacingProps","SharedContext","classnames","FieldBlock","parseISO","isValid","useErrorMessage","DateComponent","props","sharedContext","tr","translation","Forms","errorMessages","path","required","dateErrorRequired","pattern","inputErrorPattern","schema","_props$schema","type","validateRequired","value","error","undefined","preparedProps","_objectSpread","fromInput","date","id","className","label","labelDescription","help","info","warning","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","createElement","_extends","forId","dateLabel","show_input","show_cancel_button","show_reset_button","status","suffix","title","content","on_change","on_reset","onFocus","onBlur","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker, HelpButton } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { parseISO, isValid } from 'date-fns'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\nexport type Props = FieldHelpProps &\n FieldProps<string> & {\n // Validation\n pattern?: string\n }\n\nfunction DateComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: tr.dateErrorRequired,\n pattern: tr.inputErrorPattern,\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\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n validateRequired,\n }\n\n const {\n id,\n className,\n label,\n labelDescription,\n value,\n help,\n info,\n warning,\n error,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n label={label ?? sharedContext?.translation.Forms.dateLabel}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n {...pickSpacingProps(props)}\n >\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n status={hasError ? 'error' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_reset={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Date.js","names":["React","useCallback","useMemo","DatePicker","HelpButton","useFieldProps","pickSpacingProps","classnames","FieldBlock","parseISO","isValid","useErrorMessage","useLocale","DateComponent","props","translations","errorMessages","path","required","Date","errorRequired","pattern","Field","schema","_props$schema","type","validateRequired","value","error","undefined","preparedProps","_objectSpread","fromInput","date","id","className","label","labelDescription","help","info","warning","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","createElement","_extends","forId","show_input","show_cancel_button","show_reset_button","status","suffix","title","content","on_change","on_reset","onFocus","onBlur","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport { DatePicker, HelpButton } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { parseISO, isValid } from 'date-fns'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useLocale from '../../hooks/useLocale'\n\nexport type Props = FieldHelpProps &\n FieldProps<string> & {\n // Validation\n pattern?: string\n }\n\nfunction DateComponent(props: Props) {\n const translations = useLocale()\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Date.errorRequired,\n pattern: translations.Field.errorRequired,\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\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n validateRequired,\n }\n\n const {\n id,\n className,\n label,\n labelDescription,\n value,\n help,\n info,\n warning,\n error,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n label={label ?? translations.Date.label}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n {...pickSpacingProps(props)}\n >\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n status={hasError ? 'error' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_reset={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,UAAU,EAAEC,UAAU,QAAQ,wBAAwB;AAC/D,SAASC,aAAa,QAAQ,aAAa;AAM3C,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,QAAQ,EAAEC,OAAO,QAAQ,UAAU;AAC5C,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,SAAS,MAAM,uBAAuB;AAQ7C,SAASC,aAAaA,CAACC,KAAY,EAAE;EACnC,MAAMC,YAAY,GAAGH,SAAS,CAAC,CAAC;EAEhC,MAAMI,aAAa,GAAGL,eAAe,CAACG,KAAK,CAACG,IAAI,EAAEH,KAAK,CAACE,aAAa,EAAE;IACrEE,QAAQ,EAAEH,YAAY,CAACI,IAAI,CAACC,aAAa;IACzCC,OAAO,EAAEN,YAAY,CAACO,KAAK,CAACF;EAC9B,CAAC,CAAC;EAEF,MAAMG,MAAM,GAAGrB,OAAO,CACpB;IAAA,IAAAsB,aAAA;IAAA,QAAAA,aAAA,GACEV,KAAK,CAACS,MAAM,cAAAC,aAAA,cAAAA,aAAA,GAAI;MACdC,IAAI,EAAE,QAAQ;MACdJ,OAAO,EAAEP,KAAK,CAACO;IACjB,CAAC;EAAA,GACH,CAACP,KAAK,CAACS,MAAM,EAAET,KAAK,CAACO,OAAO,CAC9B,CAAC;EAED,MAAMK,gBAAgB,GAAGzB,WAAW,CAClC,CAAC0B,KAAa,EAAE;IAAET,QAAQ;IAAEU;EAAM,CAAC,KAAK;IACtC,IAAIV,QAAQ,KAAK,CAACS,KAAK,IAAI,CAACjB,OAAO,CAACD,QAAQ,CAACkB,KAAK,CAAC,CAAC,CAAC,EAAE;MACrD,OAAOC,KAAK;IACd;IAEA,OAAOC,SAAS;EAClB,CAAC,EACD,EACF,CAAC;EAED,MAAMC,aAAoB,GAAAC,aAAA,CAAAA,aAAA,KACrBjB,KAAK;IACRE,aAAa;IACbO,MAAM;IACNS,SAAS,EAAEA,CAAC;MAAEC;IAAuB,CAAC,KAAK;MACzC,OAAOA,IAAI;IACb,CAAC;IACDP;EAAgB,EACjB;EAED,MAAM;IACJQ,EAAE;IACFC,SAAS;IACTC,KAAK;IACLC,gBAAgB;IAChBV,KAAK;IACLW,IAAI;IACJC,IAAI;IACJC,OAAO;IACPZ,KAAK;IACLa,QAAQ;IACRC,QAAQ;IACRC,cAAc;IACdC,WAAW;IACXC,UAAU;IACVC;EACF,CAAC,GAAGzC,aAAa,CAACyB,aAAa,CAAC;EAEhC,OACE9B,KAAA,CAAA+C,aAAA,CAACvC,UAAU,EAAAwC,QAAA;IACTb,SAAS,EAAE5B,UAAU,CAAC,wBAAwB,EAAE4B,SAAS,CAAE;IAC3Dc,KAAK,EAAEf,EAAG;IACVE,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIrB,YAAY,CAACI,IAAI,CAACiB,KAAM;IACxCC,gBAAgB,EAAEA,gBAAiB;IACnCE,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBE,QAAQ,EAAEA,QAAS;IACnBd,KAAK,EAAEA;EAAM,GACTtB,gBAAgB,CAACQ,KAAK,CAAC,GAE3Bd,KAAA,CAAA+C,aAAA,CAAC5C,UAAU,EAAA6C,QAAA;IACTd,EAAE,EAAEA,EAAG;IACPD,IAAI,EAAEN,KAAM;IACZe,QAAQ,EAAEA,QAAS;IACnBQ,UAAU,EAAE,IAAK;IACjBC,kBAAkB,EAAE,IAAK;IACzBC,iBAAiB,EAAE,IAAK;IACxBC,MAAM,EAAEZ,QAAQ,GAAG,OAAO,GAAGZ,SAAU;IACvCyB,MAAM,EACJhB,IAAI,GACFtC,KAAA,CAAA+C,aAAA,CAAC3C,UAAU;MAACmD,KAAK,EAAEjB,IAAI,CAACiB;IAAM,GAAEjB,IAAI,CAACkB,OAAoB,CAAC,GACxD3B,SACL;IACD4B,SAAS,EAAEX,YAAa;IACxBY,QAAQ,EAAEZ,YAAa;IACvBa,OAAO,EAAEf,WAAY;IACrBgB,MAAM,EAAEf;EAAW,GACfF,cAAc,CACnB,CACS,CAAC;AAEjB;AAEA9B,aAAa,CAACgD,qBAAqB,GAAG,IAAI;AAC1C,eAAehD,aAAa"}
@@ -1,21 +1,18 @@
1
- "use client";
2
-
3
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
2
  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; }
5
3
  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; }
6
- import React, { useContext } from 'react';
4
+ import React from 'react';
7
5
  import StringField from '../String';
8
- import SharedContext from '../../../../shared/Context';
9
6
  import useErrorMessage from '../../hooks/useErrorMessage';
7
+ import useLocale from '../../hooks/useLocale';
10
8
  function Email(props) {
11
- const sharedContext = useContext(SharedContext);
12
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
9
+ const translations = useLocale().Email;
13
10
  const errorMessages = useErrorMessage(props.path, props.errorMessages, {
14
- required: tr.emailErrorRequired,
15
- pattern: tr.emailErrorPattern
11
+ required: translations.errorRequired,
12
+ pattern: translations.errorPattern
16
13
  });
17
14
  const StringFieldProps = _objectSpread(_objectSpread({
18
- label: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.emailLabel,
15
+ label: translations.label,
19
16
  autoComplete: 'email',
20
17
  inputMode: 'email',
21
18
  pattern: "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$",
@@ -1 +1 @@
1
- {"version":3,"file":"Email.js","names":["React","useContext","StringField","SharedContext","useErrorMessage","Email","props","sharedContext","tr","translation","Forms","errorMessages","path","required","emailErrorRequired","pattern","emailErrorPattern","StringFieldProps","_objectSpread","label","emailLabel","autoComplete","inputMode","trim","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Email/Email.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\nexport type Props = StringFieldProps\n\nfunction Email(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: tr.emailErrorRequired,\n pattern: tr.emailErrorPattern,\n })\n\n const StringFieldProps: Props = {\n label: sharedContext?.translation.Forms.emailLabel,\n autoComplete: 'email',\n inputMode: 'email',\n pattern:\n \"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$\",\n trim: true,\n ...props,\n errorMessages,\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nEmail._supportsSpacingProps = true\nexport default Email\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,eAAe,MAAM,6BAA6B;AAIzD,SAASC,KAAKA,CAACC,KAAY,EAAE;EAC3B,MAAMC,aAAa,GAAGN,UAAU,CAACE,aAAa,CAAC;EAC/C,MAAMK,EAAE,GAAGD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,WAAW,CAACC,KAAK;EAE3C,MAAMC,aAAa,GAAGP,eAAe,CAACE,KAAK,CAACM,IAAI,EAAEN,KAAK,CAACK,aAAa,EAAE;IACrEE,QAAQ,EAAEL,EAAE,CAACM,kBAAkB;IAC/BC,OAAO,EAAEP,EAAE,CAACQ;EACd,CAAC,CAAC;EAEF,MAAMC,gBAAuB,GAAAC,aAAA,CAAAA,aAAA;IAC3BC,KAAK,EAAEZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,WAAW,CAACC,KAAK,CAACU,UAAU;IAClDC,YAAY,EAAE,OAAO;IACrBC,SAAS,EAAE,OAAO;IAClBP,OAAO,EACL,qEAAqE;IACvEQ,IAAI,EAAE;EAAI,GACPjB,KAAK;IACRK;EAAa,EACd;EAED,OAAOX,KAAA,CAAAwB,aAAA,CAACtB,WAAW,EAAKe,gBAAmB,CAAC;AAC9C;AAEAZ,KAAK,CAACoB,qBAAqB,GAAG,IAAI;AAClC,eAAepB,KAAK"}
1
+ {"version":3,"file":"Email.js","names":["React","StringField","useErrorMessage","useLocale","Email","props","translations","errorMessages","path","required","errorRequired","pattern","errorPattern","StringFieldProps","_objectSpread","label","autoComplete","inputMode","trim","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Email/Email.tsx"],"sourcesContent":["import React from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useLocale from '../../hooks/useLocale'\n\nexport type Props = StringFieldProps\n\nfunction Email(props: Props) {\n const translations = useLocale().Email\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const StringFieldProps: Props = {\n label: translations.label,\n autoComplete: 'email',\n inputMode: 'email',\n pattern:\n \"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$\",\n trim: true,\n ...props,\n errorMessages,\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nEmail._supportsSpacingProps = true\nexport default Email\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,SAAS,MAAM,uBAAuB;AAI7C,SAASC,KAAKA,CAACC,KAAY,EAAE;EAC3B,MAAMC,YAAY,GAAGH,SAAS,CAAC,CAAC,CAACC,KAAK;EAEtC,MAAMG,aAAa,GAAGL,eAAe,CAACG,KAAK,CAACG,IAAI,EAAEH,KAAK,CAACE,aAAa,EAAE;IACrEE,QAAQ,EAAEH,YAAY,CAACI,aAAa;IACpCC,OAAO,EAAEL,YAAY,CAACM;EACxB,CAAC,CAAC;EAEF,MAAMC,gBAAuB,GAAAC,aAAA,CAAAA,aAAA;IAC3BC,KAAK,EAAET,YAAY,CAACS,KAAK;IACzBC,YAAY,EAAE,OAAO;IACrBC,SAAS,EAAE,OAAO;IAClBN,OAAO,EACL,qEAAqE;IACvEO,IAAI,EAAE;EAAI,GACPb,KAAK;IACRE;EAAa,EACd;EAED,OAAOP,KAAA,CAAAmB,aAAA,CAAClB,WAAW,EAAKY,gBAAmB,CAAC;AAC9C;AAEAT,KAAK,CAACgB,qBAAqB,GAAG,IAAI;AAClC,eAAehB,KAAK"}
@@ -1,11 +1,8 @@
1
- "use client";
2
-
3
1
  import _extends from "@babel/runtime/helpers/esm/extends";
4
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
3
  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; }
6
4
  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; }
7
- import React, { useCallback, useContext } from 'react';
8
- import SharedContext from '../../../../shared/Context';
5
+ import React, { useCallback } from 'react';
9
6
  import { pickSpacingProps } from '../../../../components/flex/utils';
10
7
  import { useFieldProps } from '../../hooks';
11
8
  import classnames from 'classnames';
@@ -13,13 +10,27 @@ import FieldBlock from '../../FieldBlock';
13
10
  import { MultiInputMask } from '../../../../components/input-masked';
14
11
  import { HelpButton } from '../../../../components';
15
12
  import useErrorMessage from '../../hooks/useErrorMessage';
13
+ import { useLocale as useSharedLocale } from '../../../../shared';
14
+ import useLocale from '../../hooks/useLocale';
16
15
  function Expiry(props) {
17
16
  var _value$substring;
18
- const sharedContext = useContext(SharedContext);
19
- const translations = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
20
- const placeholders = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.DatePicker.placeholder_characters;
17
+ const {
18
+ Date: {
19
+ errorRequired
20
+ },
21
+ Expiry: {
22
+ label: expiryLabel
23
+ }
24
+ } = useLocale();
25
+ const {
26
+ DatePicker: {
27
+ placeholder_characters: placeholders,
28
+ month: monthLabel,
29
+ year: yearLabel
30
+ }
31
+ } = useSharedLocale();
21
32
  const errorMessages = useErrorMessage(props.path, props.errorMessages, {
22
- required: translations.dateErrorRequired
33
+ required: errorRequired
23
34
  });
24
35
  const validateRequired = useCallback((value, {
25
36
  required,
@@ -35,7 +46,7 @@ function Expiry(props) {
35
46
  const {
36
47
  id,
37
48
  className,
38
- label = translations.expiryLabel,
49
+ label = expiryLabel,
39
50
  error,
40
51
  hasError,
41
52
  info,
@@ -79,13 +90,13 @@ function Expiry(props) {
79
90
  inputMode: "numeric",
80
91
  inputs: [_objectSpread({
81
92
  id: 'month',
82
- label: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.DatePicker['month'],
93
+ label: monthLabel,
83
94
  mask: getMonthMask(expiry === null || expiry === void 0 ? void 0 : expiry.month),
84
95
  placeholderCharacter: placeholders['month'],
85
96
  autoComplete: 'cc-exp-month'
86
97
  }, htmlAttributes), _objectSpread({
87
98
  id: 'year',
88
- label: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.DatePicker['year'],
99
+ label: yearLabel,
89
100
  mask: [/[0-9]/, /[0-9]/],
90
101
  placeholderCharacter: placeholders['year'],
91
102
  autoComplete: 'cc-exp-year'
@@ -107,9 +118,9 @@ function Expiry(props) {
107
118
  if (firstDigit && !isFirstDigitValid) {
108
119
  return '';
109
120
  }
110
- const seconDigit = month === null || month === void 0 ? void 0 : month.charAt(1);
111
- const isSecondDigitValid = secondMask.test(seconDigit);
112
- if (seconDigit && !isSecondDigitValid) {
121
+ const secondDigit = month === null || month === void 0 ? void 0 : month.charAt(1);
122
+ const isSecondDigitValid = secondMask.test(secondDigit);
123
+ if (secondDigit && !isSecondDigitValid) {
113
124
  return '';
114
125
  }
115
126
  return month;
@@ -1 +1 @@
1
- {"version":3,"file":"Expiry.js","names":["React","useCallback","useContext","SharedContext","pickSpacingProps","useFieldProps","classnames","FieldBlock","MultiInputMask","HelpButton","useErrorMessage","Expiry","props","_value$substring","sharedContext","translations","translation","Forms","placeholders","DatePicker","placeholder_characters","errorMessages","path","required","dateErrorRequired","validateRequired","value","error","undefined","preparedProps","_objectSpread","fromInput","toExpiryString","id","className","label","expiryLabel","hasError","info","warning","help","disabled","labelDescription","layout","htmlAttributes","handleFocus","handleBlur","handleChange","expiry","month","ensureValidMonth","substring","year","status","createElement","_extends","forId","stretch","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","title","content","Object","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","seconDigit","isSecondDigitValid","_supportsEufemiaSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport SharedContext from '../../../../shared/Context'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useFieldProps } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldHelpProps & FieldProps<string>\n\nfunction Expiry(props: ExpiryProps) {\n const sharedContext = useContext(SharedContext)\n const translations = sharedContext?.translation.Forms\n const placeholders =\n sharedContext?.translation.DatePicker.placeholder_characters\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.dateErrorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n return required && !value ? error : undefined\n },\n []\n )\n\n const preparedProps: ExpiryProps = {\n ...props,\n errorMessages,\n fromInput: toExpiryString,\n validateRequired,\n }\n\n const {\n id,\n className,\n label = translations.expiryLabel,\n error,\n hasError,\n info,\n warning,\n help,\n disabled,\n value = '',\n labelDescription,\n layout = 'vertical',\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const status = hasError\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n id={id}\n forId={`${id}-input-month`}\n label={label}\n layout={layout}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${id}-input`}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: sharedContext?.translation.DatePicker['month'],\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n ...htmlAttributes,\n },\n {\n id: 'year',\n label: sharedContext?.translation.DatePicker['year'],\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n ...htmlAttributes,\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function toExpiryString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const seconDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(seconDigit)\n\n if (seconDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":"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"}
1
+ {"version":3,"file":"Expiry.js","names":["React","useCallback","pickSpacingProps","useFieldProps","classnames","FieldBlock","MultiInputMask","HelpButton","useErrorMessage","useLocale","useSharedLocale","Expiry","props","_value$substring","Date","errorRequired","label","expiryLabel","DatePicker","placeholder_characters","placeholders","month","monthLabel","year","yearLabel","errorMessages","path","required","validateRequired","value","error","undefined","preparedProps","_objectSpread","fromInput","toExpiryString","id","className","hasError","info","warning","help","disabled","labelDescription","layout","htmlAttributes","handleFocus","handleBlur","handleChange","expiry","ensureValidMonth","substring","status","createElement","_extends","forId","stretch","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","title","content","Object","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","secondDigit","isSecondDigitValid","_supportsEufemiaSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useFieldProps } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport { useLocale as useSharedLocale } from '../../../../shared'\nimport useLocale from '../../hooks/useLocale'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldHelpProps & FieldProps<string>\n\nfunction Expiry(props: ExpiryProps) {\n const {\n Date: { errorRequired },\n Expiry: { label: expiryLabel },\n } = useLocale()\n\n const {\n DatePicker: {\n placeholder_characters: placeholders,\n month: monthLabel,\n year: yearLabel,\n },\n } = useSharedLocale()\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: errorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n return required && !value ? error : undefined\n },\n []\n )\n\n const preparedProps: ExpiryProps = {\n ...props,\n errorMessages,\n fromInput: toExpiryString,\n validateRequired,\n }\n\n const {\n id,\n className,\n label = expiryLabel,\n error,\n hasError,\n info,\n warning,\n help,\n disabled,\n value = '',\n labelDescription,\n layout = 'vertical',\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const status = hasError\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n id={id}\n forId={`${id}-input-month`}\n label={label}\n layout={layout}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${id}-input`}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: monthLabel,\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n ...htmlAttributes,\n },\n {\n id: 'year',\n label: yearLabel,\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n ...htmlAttributes,\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function toExpiryString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const secondDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(secondDigit)\n\n if (secondDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAE1C,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,SAASC,aAAa,QAAQ,aAAa;AAC3C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,cAAc,QAAQ,qCAAqC;AAEpE,SAASC,UAAU,QAAQ,wBAAwB;AACnD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,SAASC,SAAS,IAAIC,eAAe,QAAQ,oBAAoB;AACjE,OAAOD,SAAS,MAAM,uBAAuB;AAM7C,SAASE,MAAMA,CAACC,KAAkB,EAAE;EAAA,IAAAC,gBAAA;EAClC,MAAM;IACJC,IAAI,EAAE;MAAEC;IAAc,CAAC;IACvBJ,MAAM,EAAE;MAAEK,KAAK,EAAEC;IAAY;EAC/B,CAAC,GAAGR,SAAS,CAAC,CAAC;EAEf,MAAM;IACJS,UAAU,EAAE;MACVC,sBAAsB,EAAEC,YAAY;MACpCC,KAAK,EAAEC,UAAU;MACjBC,IAAI,EAAEC;IACR;EACF,CAAC,GAAGd,eAAe,CAAC,CAAC;EAErB,MAAMe,aAAa,GAAGjB,eAAe,CAACI,KAAK,CAACc,IAAI,EAAEd,KAAK,CAACa,aAAa,EAAE;IACrEE,QAAQ,EAAEZ;EACZ,CAAC,CAAC;EAEF,MAAMa,gBAAgB,GAAG3B,WAAW,CAClC,CAAC4B,KAAa,EAAE;IAAEF,QAAQ;IAAEG;EAAM,CAAC,KAAK;IACtC,OAAOH,QAAQ,IAAI,CAACE,KAAK,GAAGC,KAAK,GAAGC,SAAS;EAC/C,CAAC,EACD,EACF,CAAC;EAED,MAAMC,aAA0B,GAAAC,aAAA,CAAAA,aAAA,KAC3BrB,KAAK;IACRa,aAAa;IACbS,SAAS,EAAEC,cAAc;IACzBP;EAAgB,EACjB;EAED,MAAM;IACJQ,EAAE;IACFC,SAAS;IACTrB,KAAK,GAAGC,WAAW;IACnBa,KAAK;IACLQ,QAAQ;IACRC,IAAI;IACJC,OAAO;IACPC,IAAI;IACJC,QAAQ;IACRb,KAAK,GAAG,EAAE;IACVc,gBAAgB;IAChBC,MAAM,GAAG,UAAU;IACnBC,cAAc;IACdC,WAAW;IACXC,UAAU;IACVC;EACF,CAAC,GAAG7C,aAAa,CAAC6B,aAAa,CAAC;EAEhC,MAAMiB,MAAmB,GAAG;IAC1B5B,KAAK,EAAE6B,gBAAgB,CAACrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C5B,IAAI,GAAAV,gBAAA,GAAEgB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,cAAAtC,gBAAA,cAAAA,gBAAA,GAAI;EAClC,CAAC;EAED,MAAMuC,MAAM,GAAGd,QAAQ,GACnB,OAAO,GACPE,OAAO,GACP,MAAM,GACND,IAAI,GACJ,MAAM,GACN,IAAI;EAER,OACEvC,KAAA,CAAAqD,aAAA,CAAChD,UAAU,EAAAiD,QAAA;IACTjB,SAAS,EAAEjC,UAAU,CAAC,wBAAwB,EAAEiC,SAAS,CAAE;IAC3DD,EAAE,EAAEA,EAAG;IACPmB,KAAK,EAAG,GAAEnB,EAAG,cAAc;IAC3BpB,KAAK,EAAEA,KAAM;IACb4B,MAAM,EAAEA,MAAO;IACfD,gBAAgB,EAAEA,gBAAiB;IACnCJ,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBV,KAAK,EAAEA;EAAM,GACT5B,gBAAgB,CAACU,KAAK,CAAC,GAE3BZ,KAAA,CAAAqD,aAAA,CAAC/C,cAAc;IACbkD,OAAO;IACPpB,EAAE,EAAG,GAAEA,EAAG,QAAQ;IAClBqB,MAAM,EAAER,MAAO;IACfG,MAAM,EAAEA,MAAO;IACfM,WAAW,EAAEhB,QAAQ,GAAG,UAAU,GAAGX,SAAU;IAC/CW,QAAQ,EAAEA,QAAS;IACnBiB,QAAQ,EAAEX,YAAa;IACvBY,MAAM,EAAEb,UAAW;IACnBc,OAAO,EAAEf,WAAY;IACrBgB,SAAS,EAAC,GAAG;IACbC,SAAS,EAAC,SAAS;IACnBC,MAAM,EAAE,CAAA/B,aAAA;MAEJG,EAAE,EAAE,OAAO;MACXpB,KAAK,EAAEM,UAAU;MACjB2C,IAAI,EAAEC,YAAY,CAACjB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5B,KAAK,CAAC;MACjC8C,oBAAoB,EAAE/C,YAAY,CAAC,OAAO,CAAC;MAC3CgD,YAAY,EAAE;IAAc,GACzBvB,cAAc,GAAAZ,aAAA;MAGjBG,EAAE,EAAE,MAAM;MACVpB,KAAK,EAAEQ,SAAS;MAChByC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;MACxBE,oBAAoB,EAAE/C,YAAY,CAAC,MAAM,CAAC;MAC1CgD,YAAY,EAAE;IAAa,GACxBvB,cAAc,EAEnB;IACFwB,MAAM,EACJ5B,IAAI,GACFzC,KAAA,CAAAqD,aAAA,CAAC9C,UAAU;MAAC+D,KAAK,EAAE7B,IAAI,CAAC6B;IAAM,GAAE7B,IAAI,CAAC8B,OAAoB,CAAC,GACxDxC;EACL,CACF,CACS,CAAC;EAGf,SAASI,cAAcA,CAACsB,MAAmB,EAAE;IAC3C,OAAOe,MAAM,CAACf,MAAM,CAACA,MAAM,CAAC,CAACgB,IAAI,CAAC,EAAE,CAAC;EACvC;EAEA,SAASvB,gBAAgBA,CAAC7B,KAAa,EAAE;IAEvC,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,EAAE;IACX;IAEA,MAAM,CAACqD,SAAS,EAAEC,UAAU,CAAC,GAAGT,YAAY,CAAC7C,KAAK,CAAC;IAEnD,MAAMuD,UAAU,GAAGvD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwD,MAAM,CAAC,CAAC,CAAC;IACnC,MAAMC,iBAAiB,GAAGJ,SAAS,CAACK,IAAI,CAACH,UAAU,CAAC;IAEpD,IAAIA,UAAU,IAAI,CAACE,iBAAiB,EAAE;MAEpC,OAAO,EAAE;IACX;IAEA,MAAME,WAAW,GAAG3D,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwD,MAAM,CAAC,CAAC,CAAC;IACpC,MAAMI,kBAAkB,GAAGN,UAAU,CAACI,IAAI,CAACC,WAAW,CAAC;IAEvD,IAAIA,WAAW,IAAI,CAACC,kBAAkB,EAAE;MAEtC,OAAO,EAAE;IACX;IAGA,OAAO5D,KAAK;EACd;EAEA,SAAS6C,YAAYA,CAAC7C,KAAa,EAAE;IACnC,MAAMuD,UAAU,GAAGvD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwD,MAAM,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,OAAO,EACPD,UAAU,KAAK,GAAG,IAAIA,UAAU,KAAK,EAAE,GAAG,OAAO,GAAG,OAAO,CAC5D;EACH;AACF;AAEAjE,MAAM,CAACuE,4BAA4B,GAAG,IAAI;AAC1C,eAAevE,MAAM"}
@@ -1,17 +1,14 @@
1
- "use client";
2
-
3
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
2
  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; }
5
3
  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; }
6
- import React, { useContext, useMemo } from 'react';
4
+ import React, { useMemo } from 'react';
7
5
  import StringField from '../String';
8
- import SharedContext from '../../../../shared/Context';
9
6
  import useErrorMessage from '../../hooks/useErrorMessage';
7
+ import useLocale from '../../hooks/useLocale';
10
8
  function NationalIdentityNumber(props) {
11
9
  var _props$pattern, _props$label, _props$width;
12
- const sharedContext = useContext(SharedContext);
13
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
14
- const errorMessage = tr.nationalIdentityNumberErrorRequired;
10
+ const translations = useLocale().NationalIdentityNumber;
11
+ const errorMessage = translations.errorRequired;
15
12
  const {
16
13
  validate = true,
17
14
  omitMask
@@ -23,7 +20,7 @@ function NationalIdentityNumber(props) {
23
20
  const mask = useMemo(() => omitMask ? Array(11).fill(/\d/) : [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/], [omitMask]);
24
21
  const StringFieldProps = _objectSpread(_objectSpread({}, props), {}, {
25
22
  pattern: (_props$pattern = props.pattern) !== null && _props$pattern !== void 0 ? _props$pattern : validate && !props.validator ? '^[0-9]{11}$' : undefined,
26
- label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.nationalIdentityNumberLabel,
23
+ label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : translations.label,
27
24
  errorMessages,
28
25
  mask,
29
26
  width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium',
@@ -1 +1 @@
1
- {"version":3,"file":"NationalIdentityNumber.js","names":["React","useContext","useMemo","StringField","SharedContext","useErrorMessage","NationalIdentityNumber","props","_props$pattern","_props$label","_props$width","sharedContext","tr","translation","Forms","errorMessage","nationalIdentityNumberErrorRequired","validate","omitMask","errorMessages","path","required","pattern","mask","Array","fill","StringFieldProps","_objectSpread","validator","undefined","label","nationalIdentityNumberLabel","width","inputMode","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport SharedContext from '../../../../shared/Context'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\nexport type Props = StringFieldProps & {\n omitMask?: boolean\n validate?: boolean\n}\n\nfunction NationalIdentityNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const errorMessage = tr.nationalIdentityNumberErrorRequired\n\n const { validate = true, omitMask } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: errorMessage,\n pattern: errorMessage,\n })\n\n const mask = useMemo(\n () =>\n omitMask\n ? Array(11).fill(/\\d/)\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const StringFieldProps: Props = {\n ...props,\n pattern:\n props.pattern ??\n (validate && !props.validator ? '^[0-9]{11}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.nationalIdentityNumberLabel,\n errorMessages,\n mask,\n width: props.width ?? 'medium',\n inputMode: 'numeric',\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nNationalIdentityNumber._supportsSpacingProps = true\nexport default NationalIdentityNumber\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,WAAW,MAAqC,WAAW;AAElE,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,eAAe,MAAM,6BAA6B;AAOzD,SAASC,sBAAsBA,CAACC,KAAY,EAAE;EAAA,IAAAC,cAAA,EAAAC,YAAA,EAAAC,YAAA;EAC5C,MAAMC,aAAa,GAAGV,UAAU,CAACG,aAAa,CAAC;EAC/C,MAAMQ,EAAE,GAAGD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,WAAW,CAACC,KAAK;EAC3C,MAAMC,YAAY,GAAGH,EAAE,CAACI,mCAAmC;EAE3D,MAAM;IAAEC,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGX,KAAK;EAE3C,MAAMY,aAAa,GAAGd,eAAe,CAACE,KAAK,CAACa,IAAI,EAAEb,KAAK,CAACY,aAAa,EAAE;IACrEE,QAAQ,EAAEN,YAAY;IACtBO,OAAO,EAAEP;EACX,CAAC,CAAC;EAEF,MAAMQ,IAAI,GAAGrB,OAAO,CAClB,MACEgB,QAAQ,GACJM,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GACpB,CACE,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,EACP,CAACP,QAAQ,CACX,CAAC;EAED,MAAMQ,gBAAuB,GAAAC,aAAA,CAAAA,aAAA,KACxBpB,KAAK;IACRe,OAAO,GAAAd,cAAA,GACLD,KAAK,CAACe,OAAO,cAAAd,cAAA,cAAAA,cAAA,GACZS,QAAQ,IAAI,CAACV,KAAK,CAACqB,SAAS,GAAG,aAAa,GAAGC,SAAU;IAC5DC,KAAK,GAAArB,YAAA,GACHF,KAAK,CAACuB,KAAK,cAAArB,YAAA,cAAAA,YAAA,GACXE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,WAAW,CAACC,KAAK,CAACiB,2BAA2B;IAC9DZ,aAAa;IACbI,IAAI;IACJS,KAAK,GAAAtB,YAAA,GAAEH,KAAK,CAACyB,KAAK,cAAAtB,YAAA,cAAAA,YAAA,GAAI,QAAQ;IAC9BuB,SAAS,EAAE;EAAS,EACrB;EAED,OAAOjC,KAAA,CAAAkC,aAAA,CAAC/B,WAAW,EAAKuB,gBAAmB,CAAC;AAC9C;AAEApB,sBAAsB,CAAC6B,qBAAqB,GAAG,IAAI;AACnD,eAAe7B,sBAAsB"}
1
+ {"version":3,"file":"NationalIdentityNumber.js","names":["React","useMemo","StringField","useErrorMessage","useLocale","NationalIdentityNumber","props","_props$pattern","_props$label","_props$width","translations","errorMessage","errorRequired","validate","omitMask","errorMessages","path","required","pattern","mask","Array","fill","StringFieldProps","_objectSpread","validator","undefined","label","width","inputMode","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useLocale from '../../hooks/useLocale'\n\nexport type Props = StringFieldProps & {\n omitMask?: boolean\n validate?: boolean\n}\n\nfunction NationalIdentityNumber(props: Props) {\n const translations = useLocale().NationalIdentityNumber\n const errorMessage = translations.errorRequired\n\n const { validate = true, omitMask } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: errorMessage,\n pattern: errorMessage,\n })\n\n const mask = useMemo(\n () =>\n omitMask\n ? Array(11).fill(/\\d/)\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const StringFieldProps: Props = {\n ...props,\n pattern:\n props.pattern ??\n (validate && !props.validator ? '^[0-9]{11}$' : undefined),\n label: props.label ?? translations.label,\n errorMessages,\n mask,\n width: props.width ?? 'medium',\n inputMode: 'numeric',\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nNationalIdentityNumber._supportsSpacingProps = true\nexport default NationalIdentityNumber\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,WAAW,MAAqC,WAAW;AAElE,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,SAAS,MAAM,uBAAuB;AAO7C,SAASC,sBAAsBA,CAACC,KAAY,EAAE;EAAA,IAAAC,cAAA,EAAAC,YAAA,EAAAC,YAAA;EAC5C,MAAMC,YAAY,GAAGN,SAAS,CAAC,CAAC,CAACC,sBAAsB;EACvD,MAAMM,YAAY,GAAGD,YAAY,CAACE,aAAa;EAE/C,MAAM;IAAEC,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGR,KAAK;EAE3C,MAAMS,aAAa,GAAGZ,eAAe,CAACG,KAAK,CAACU,IAAI,EAAEV,KAAK,CAACS,aAAa,EAAE;IACrEE,QAAQ,EAAEN,YAAY;IACtBO,OAAO,EAAEP;EACX,CAAC,CAAC;EAEF,MAAMQ,IAAI,GAAGlB,OAAO,CAClB,MACEa,QAAQ,GACJM,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GACpB,CACE,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,EACP,CAACP,QAAQ,CACX,CAAC;EAED,MAAMQ,gBAAuB,GAAAC,aAAA,CAAAA,aAAA,KACxBjB,KAAK;IACRY,OAAO,GAAAX,cAAA,GACLD,KAAK,CAACY,OAAO,cAAAX,cAAA,cAAAA,cAAA,GACZM,QAAQ,IAAI,CAACP,KAAK,CAACkB,SAAS,GAAG,aAAa,GAAGC,SAAU;IAC5DC,KAAK,GAAAlB,YAAA,GAAEF,KAAK,CAACoB,KAAK,cAAAlB,YAAA,cAAAA,YAAA,GAAIE,YAAY,CAACgB,KAAK;IACxCX,aAAa;IACbI,IAAI;IACJQ,KAAK,GAAAlB,YAAA,GAAEH,KAAK,CAACqB,KAAK,cAAAlB,YAAA,cAAAA,YAAA,GAAI,QAAQ;IAC9BmB,SAAS,EAAE;EAAS,EACrB;EAED,OAAO5B,KAAA,CAAA6B,aAAA,CAAC3B,WAAW,EAAKoB,gBAAmB,CAAC;AAC9C;AAEAjB,sBAAsB,CAACyB,qBAAqB,GAAG,IAAI;AACnD,eAAezB,sBAAsB"}
@@ -14,11 +14,12 @@ import { useFieldProps } from '../../hooks';
14
14
  import { pickSpacingProps } from '../../../../components/flex/utils';
15
15
  import { clamp } from '../../../../components/slider/SliderHelpers';
16
16
  import useErrorMessage from '../../hooks/useErrorMessage';
17
+ import useLocale from '../../hooks/useLocale';
17
18
  function NumberComponent(props) {
18
19
  var _props$width, _sharedContext$transl, _sharedContext$transl2;
19
20
  const fieldBlockContext = useContext(FieldBlockContext);
20
21
  const sharedContext = useContext(SharedContext);
21
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
22
+ const translations = useLocale();
22
23
  const {
23
24
  currency,
24
25
  currencyDisplay,
@@ -31,12 +32,12 @@ function NumberComponent(props) {
31
32
  showStepControls
32
33
  } = props;
33
34
  const errorMessages = useErrorMessage(props.path, props.errorMessages, {
34
- required: tr.inputErrorRequired,
35
- minimum: tr.numberFieldErrorMinimum,
36
- maximum: tr.numberFieldErrorMaximum,
37
- exclusiveMinimum: tr.numberFieldErrorExclusiveMinimum,
38
- exclusiveMaximum: tr.numberFieldErrorExclusiveMaximum,
39
- multipleOf: tr.numberFieldErrorMultipleOf
35
+ required: translations.Field.errorRequired,
36
+ minimum: translations.NumberField.errorMinimum,
37
+ maximum: translations.NumberField.errorMaximum,
38
+ exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,
39
+ exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,
40
+ multipleOf: translations.NumberField.errorMultipleOf
40
41
  });
41
42
  const schema = useMemo(() => {
42
43
  var _props$schema;
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["React","useContext","useMemo","useCallback","InputMasked","HelpButton","Button","SharedContext","FieldBlockContext","classnames","FieldBlock","useFieldProps","pickSpacingProps","clamp","useErrorMessage","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","fieldBlockContext","sharedContext","tr","translation","Forms","currency","currencyDisplay","percent","mask","step","decimalLimit","prefix","suffix","showStepControls","errorMessages","path","required","inputErrorRequired","minimum","numberFieldErrorMinimum","maximum","numberFieldErrorMaximum","exclusiveMinimum","numberFieldErrorExclusiveMinimum","exclusiveMaximum","numberFieldErrorExclusiveMaximum","multipleOf","numberFieldErrorMultipleOf","schema","_props$schema","type","toInput","external","undefined","fromInput","value","numberValue","emptyValue","transformValue","currentValue","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","_objectSpread","preparedProps","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","onKeyDownHandler","key","event","persist","preventDefault","fieldBlockProps","contentClassName","forId","contentWidth","increaseProps","variant","icon","tabIndex","onClick","title","Slider","addTitle","replace","String","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","content","_extends","asFieldset","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n CustomErrorMessages,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name'\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n // Formatting\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: tr.inputErrorRequired,\n minimum: tr.numberFieldErrorMinimum,\n maximum: tr.numberFieldErrorMaximum,\n exclusiveMinimum: tr.numberFieldErrorExclusiveMinimum,\n exclusiveMaximum: tr.numberFieldErrorExclusiveMaximum,\n multipleOf: tr.numberFieldErrorMultipleOf,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = { prefix, suffix, decimalLimit }\n\n if (currency) {\n return {\n as_currency: currency,\n mask_options,\n currency_mask: {\n currencyDisplay,\n },\n }\n }\n\n if (percent) {\n return {\n as_percent: percent,\n mask_options,\n }\n }\n\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n ...mask_options,\n },\n }\n }, [\n currency,\n currencyDisplay,\n decimalLimit,\n mask,\n percent,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'medium'),\n }\n\n const {\n id,\n name,\n className,\n inputClassName,\n autoComplete,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n htmlAttributes,\n info,\n warning,\n error,\n hasError,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp((value as number) + step, minimum, maximum)\n break\n case 'ArrowDown':\n numberValue = clamp((value as number) - step, minimum, maximum)\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [handleChange, maximum, minimum, showStepControls, step, value]\n )\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-number', className),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n disabled && 'dnb-forms-field-number__contents--is-disabled',\n hasError && 'dnb-forms-field-number__contents--has-error'\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: (size || 'small') as ButtonSize,\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) + step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n size: (size || 'small') as ButtonSize,\n disabled: disabled || value <= minimum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) - step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invalid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step: showStepControls ? step : undefined,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n ...htmlAttributes,\n status: hasError ? 'error' : undefined,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n {showStepControls && <Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {showStepControls && <Button {...increaseProps} />}\n {help && showStepControls && (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n )}\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Number.js","names":["React","useContext","useMemo","useCallback","InputMasked","HelpButton","Button","SharedContext","FieldBlockContext","classnames","FieldBlock","useFieldProps","pickSpacingProps","clamp","useErrorMessage","useLocale","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","fieldBlockContext","sharedContext","translations","currency","currencyDisplay","percent","mask","step","decimalLimit","prefix","suffix","showStepControls","errorMessages","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","_props$schema","type","toInput","external","undefined","fromInput","value","numberValue","emptyValue","transformValue","currentValue","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","_objectSpread","preparedProps","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","onKeyDownHandler","key","event","persist","preventDefault","fieldBlockProps","contentClassName","forId","contentWidth","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","String","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","content","_extends","asFieldset","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n CustomErrorMessages,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useLocale from '../../hooks/useLocale'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name'\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n // Formatting\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useLocale()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minimum: translations.NumberField.errorMinimum,\n maximum: translations.NumberField.errorMaximum,\n exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,\n exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,\n multipleOf: translations.NumberField.errorMultipleOf,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = { prefix, suffix, decimalLimit }\n\n if (currency) {\n return {\n as_currency: currency,\n mask_options,\n currency_mask: {\n currencyDisplay,\n },\n }\n }\n\n if (percent) {\n return {\n as_percent: percent,\n mask_options,\n }\n }\n\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n ...mask_options,\n },\n }\n }, [\n currency,\n currencyDisplay,\n decimalLimit,\n mask,\n percent,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'medium'),\n }\n\n const {\n id,\n name,\n className,\n inputClassName,\n autoComplete,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n htmlAttributes,\n info,\n warning,\n error,\n hasError,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp((value as number) + step, minimum, maximum)\n break\n case 'ArrowDown':\n numberValue = clamp((value as number) - step, minimum, maximum)\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [handleChange, maximum, minimum, showStepControls, step, value]\n )\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-number', className),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n disabled && 'dnb-forms-field-number__contents--is-disabled',\n hasError && 'dnb-forms-field-number__contents--has-error'\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: (size || 'small') as ButtonSize,\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) + step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n size: (size || 'small') as ButtonSize,\n disabled: disabled || value <= minimum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) - step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invalid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step: showStepControls ? step : undefined,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n ...htmlAttributes,\n status: hasError ? 'error' : undefined,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n {showStepControls && <Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {showStepControls && <Button {...increaseProps} />}\n {help && showStepControls && (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n )}\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}