@dnb/eufemia 10.43.0 → 10.45.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 (803) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
  3. package/cjs/components/autocomplete/AutocompleteDocs.js +7 -7
  4. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  5. package/cjs/components/button/Button.d.ts +1 -1
  6. package/cjs/components/button/Button.js +6 -5
  7. package/cjs/components/button/Button.js.map +1 -1
  8. package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
  9. package/cjs/components/input-masked/InputMaskedHooks.js +4 -0
  10. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  11. package/cjs/components/radio/style/dnb-radio.scss +1 -1
  12. package/cjs/components/space/Space.d.ts +1 -1
  13. package/cjs/components/space/Space.js.map +1 -1
  14. package/cjs/components/table/TableStickyHeader.js.map +1 -1
  15. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  16. package/cjs/components/table/table-navigation/TableNavigationHead.js +1 -1
  17. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  18. package/cjs/components/upload/Upload.js +2 -1
  19. package/cjs/components/upload/Upload.js.map +1 -1
  20. package/cjs/components/upload/UploadDocs.d.ts +1 -0
  21. package/cjs/components/upload/UploadDocs.js +18 -5
  22. package/cjs/components/upload/UploadDocs.js.map +1 -1
  23. package/cjs/components/upload/UploadInfo.js +57 -5
  24. package/cjs/components/upload/UploadInfo.js.map +1 -1
  25. package/cjs/components/upload/UploadVerify.d.ts +4 -2
  26. package/cjs/components/upload/UploadVerify.js +34 -4
  27. package/cjs/components/upload/UploadVerify.js.map +1 -1
  28. package/cjs/components/upload/style/dnb-upload.css +15 -0
  29. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  30. package/cjs/components/upload/style/dnb-upload.scss +17 -0
  31. package/cjs/components/upload/types.d.ts +9 -3
  32. package/cjs/components/upload/types.js.map +1 -1
  33. package/cjs/extensions/forms/DataContext/Context.d.ts +9 -3
  34. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  35. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  36. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  37. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +8 -0
  38. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  39. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  40. package/cjs/extensions/forms/DataContext/Provider/Provider.js +58 -18
  41. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  42. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  43. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  44. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  45. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +29 -24
  46. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  47. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  48. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +31 -0
  49. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  50. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  51. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  52. package/cjs/extensions/forms/Field/FieldDocs.d.ts +7 -0
  53. package/cjs/extensions/forms/Field/FieldDocs.js +20 -1
  54. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  55. package/cjs/extensions/forms/Field/Name/Name.js +2 -2
  56. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  57. package/cjs/extensions/forms/Field/Number/Number.js +7 -12
  58. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -4
  60. package/cjs/extensions/forms/Field/Option/Option.js +0 -21
  61. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  62. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  63. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  64. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  65. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  66. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +28 -0
  67. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  69. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  70. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  71. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  72. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +16 -0
  73. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  74. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +42 -15
  75. package/cjs/extensions/forms/Field/Selection/Selection.js +92 -29
  76. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  77. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  78. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
  80. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  81. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  82. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  83. package/cjs/extensions/forms/Form/Element/Element.js +11 -9
  84. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  85. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
  87. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  88. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  89. package/cjs/extensions/forms/Form/Isolation/Isolation.js +84 -26
  90. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  91. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  92. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  93. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  94. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  95. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  96. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  97. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -13
  98. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  99. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  100. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  101. package/cjs/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  102. package/cjs/extensions/forms/Form/data-context/clearData.js +16 -0
  103. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -0
  104. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  105. package/cjs/extensions/forms/Form/index.js +7 -0
  106. package/cjs/extensions/forms/Form/index.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  108. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  109. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  110. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/Array/Array.js +7 -5
  112. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -4
  114. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +25 -19
  117. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  119. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  121. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  122. package/cjs/extensions/forms/Iterate/{IterateElementContext.d.ts → IterateItemContext.d.ts} +3 -3
  123. package/cjs/extensions/forms/Iterate/{IterateElementContext.js → IterateItemContext.js} +3 -3
  124. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  125. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  126. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  127. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  128. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  129. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  130. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +42 -0
  131. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  132. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  133. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +95 -0
  134. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  135. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  136. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js +12 -0
  137. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  138. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  139. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +42 -0
  140. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  141. package/cjs/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  142. package/cjs/extensions/forms/Iterate/PushContainer/index.js +27 -0
  143. package/cjs/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  144. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  145. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +13 -5
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  152. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  153. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  154. package/cjs/extensions/forms/Iterate/hooks/useItem.js +15 -0
  155. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  156. package/cjs/extensions/forms/Iterate/index.d.ts +3 -1
  157. package/cjs/extensions/forms/Iterate/index.js +17 -3
  158. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  159. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  160. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  161. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  162. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  163. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +81 -0
  164. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  165. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  166. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +15 -0
  167. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  168. package/cjs/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  169. package/cjs/extensions/forms/Value/ArraySelection/index.js +27 -0
  170. package/cjs/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  171. package/cjs/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  172. package/cjs/extensions/forms/Value/Selection/Selection.js +58 -0
  173. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -0
  174. package/cjs/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  175. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +15 -0
  176. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  177. package/cjs/extensions/forms/Value/Selection/index.d.ts +2 -0
  178. package/cjs/extensions/forms/Value/Selection/index.js +27 -0
  179. package/cjs/extensions/forms/Value/Selection/index.js.map +1 -0
  180. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  181. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  182. package/cjs/extensions/forms/Value/index.d.ts +2 -0
  183. package/cjs/extensions/forms/Value/index.js +14 -0
  184. package/cjs/extensions/forms/Value/index.js.map +1 -1
  185. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  186. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  187. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  188. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  189. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  190. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  191. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  192. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -0
  193. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  194. package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -0
  195. package/cjs/extensions/forms/constants/locales/index.d.ts +14 -0
  196. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  197. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -0
  198. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  199. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  200. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  201. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -0
  202. package/cjs/extensions/forms/hooks/useDataValue.js +29 -13
  203. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  204. package/cjs/extensions/forms/hooks/useExternalValue.js +4 -4
  205. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  206. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  207. package/cjs/extensions/forms/hooks/useFieldProps.js +49 -31
  208. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  209. package/cjs/extensions/forms/hooks/usePath.js +3 -3
  210. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  211. package/cjs/extensions/forms/hooks/useValueProps.js +4 -1
  212. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  213. package/cjs/extensions/forms/style/dnb-forms.css +1 -1
  214. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  215. package/cjs/extensions/forms/types.d.ts +20 -7
  216. package/cjs/extensions/forms/types.js.map +1 -1
  217. package/cjs/shared/Eufemia.d.ts +1 -1
  218. package/cjs/shared/Eufemia.js +2 -2
  219. package/cjs/shared/Eufemia.js.map +1 -1
  220. package/cjs/shared/helpers/isAsync.js +2 -2
  221. package/cjs/shared/helpers/isAsync.js.map +1 -1
  222. package/cjs/shared/locales/en-GB.d.ts +1 -0
  223. package/cjs/shared/locales/en-GB.js +1 -0
  224. package/cjs/shared/locales/en-GB.js.map +1 -1
  225. package/cjs/shared/locales/en-US.d.ts +1 -0
  226. package/cjs/shared/locales/index.d.ts +2 -0
  227. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  228. package/cjs/shared/locales/nb-NO.js +2 -1
  229. package/cjs/shared/locales/nb-NO.js.map +1 -1
  230. package/cjs/shared/useTheme.d.ts +4 -10
  231. package/cjs/shared/useTheme.js +7 -5
  232. package/cjs/shared/useTheme.js.map +1 -1
  233. package/cjs/style/core/scopes.scss +1 -1
  234. package/cjs/style/dnb-ui-basis.css +1 -1
  235. package/cjs/style/dnb-ui-basis.min.css +1 -1
  236. package/cjs/style/dnb-ui-body.css +1 -1
  237. package/cjs/style/dnb-ui-body.min.css +1 -1
  238. package/cjs/style/dnb-ui-components.css +16 -1
  239. package/cjs/style/dnb-ui-components.min.css +2 -2
  240. package/cjs/style/dnb-ui-core.css +1 -1
  241. package/cjs/style/dnb-ui-core.min.css +1 -1
  242. package/cjs/style/dnb-ui-extensions.css +1 -1
  243. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  244. package/cjs/style/dnb-ui-forms.css +1 -1
  245. package/cjs/style/dnb-ui-forms.min.css +1 -1
  246. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
  247. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  248. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  249. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  250. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  251. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  256. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  257. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  258. package/cjs/style/themes/theme-ui/ui-theme-components.css +17 -2
  259. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  260. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  261. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  262. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
  263. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  264. package/components/autocomplete/Autocomplete.d.ts +2 -2
  265. package/components/autocomplete/AutocompleteDocs.js +7 -7
  266. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  267. package/components/button/Button.d.ts +1 -1
  268. package/components/button/Button.js +6 -5
  269. package/components/button/Button.js.map +1 -1
  270. package/components/checkbox/style/dnb-checkbox.scss +1 -1
  271. package/components/input-masked/InputMaskedHooks.js +4 -0
  272. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  273. package/components/radio/style/dnb-radio.scss +1 -1
  274. package/components/space/Space.d.ts +1 -1
  275. package/components/space/Space.js.map +1 -1
  276. package/components/table/TableStickyHeader.js.map +1 -1
  277. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  278. package/components/table/table-navigation/TableNavigationHead.js +1 -1
  279. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  280. package/components/upload/Upload.js +2 -1
  281. package/components/upload/Upload.js.map +1 -1
  282. package/components/upload/UploadDocs.d.ts +1 -0
  283. package/components/upload/UploadDocs.js +16 -4
  284. package/components/upload/UploadDocs.js.map +1 -1
  285. package/components/upload/UploadInfo.js +57 -5
  286. package/components/upload/UploadInfo.js.map +1 -1
  287. package/components/upload/UploadVerify.d.ts +4 -2
  288. package/components/upload/UploadVerify.js +32 -4
  289. package/components/upload/UploadVerify.js.map +1 -1
  290. package/components/upload/style/dnb-upload.css +15 -0
  291. package/components/upload/style/dnb-upload.min.css +1 -1
  292. package/components/upload/style/dnb-upload.scss +17 -0
  293. package/components/upload/types.d.ts +9 -3
  294. package/components/upload/types.js.map +1 -1
  295. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  296. package/es/components/autocomplete/AutocompleteDocs.js +7 -7
  297. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  298. package/es/components/button/Button.d.ts +1 -1
  299. package/es/components/button/Button.js +6 -5
  300. package/es/components/button/Button.js.map +1 -1
  301. package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
  302. package/es/components/input-masked/InputMaskedHooks.js +4 -0
  303. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  304. package/es/components/radio/style/dnb-radio.scss +1 -1
  305. package/es/components/space/Space.d.ts +1 -1
  306. package/es/components/space/Space.js.map +1 -1
  307. package/es/components/table/TableStickyHeader.js.map +1 -1
  308. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  309. package/es/components/table/table-navigation/TableNavigationHead.js +1 -1
  310. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  311. package/es/components/upload/Upload.js +2 -1
  312. package/es/components/upload/Upload.js.map +1 -1
  313. package/es/components/upload/UploadDocs.d.ts +1 -0
  314. package/es/components/upload/UploadDocs.js +16 -4
  315. package/es/components/upload/UploadDocs.js.map +1 -1
  316. package/es/components/upload/UploadInfo.js +57 -5
  317. package/es/components/upload/UploadInfo.js.map +1 -1
  318. package/es/components/upload/UploadVerify.d.ts +4 -2
  319. package/es/components/upload/UploadVerify.js +32 -4
  320. package/es/components/upload/UploadVerify.js.map +1 -1
  321. package/es/components/upload/style/dnb-upload.css +15 -0
  322. package/es/components/upload/style/dnb-upload.min.css +1 -1
  323. package/es/components/upload/style/dnb-upload.scss +17 -0
  324. package/es/components/upload/types.d.ts +9 -3
  325. package/es/components/upload/types.js.map +1 -1
  326. package/es/extensions/forms/DataContext/Context.d.ts +9 -3
  327. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  328. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  329. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  330. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  331. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  332. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  333. package/es/extensions/forms/DataContext/Provider/Provider.js +56 -18
  334. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  335. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  336. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  337. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  338. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
  339. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  340. package/es/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  341. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  342. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  343. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  344. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  345. package/es/extensions/forms/Field/FieldDocs.d.ts +7 -0
  346. package/es/extensions/forms/Field/FieldDocs.js +16 -0
  347. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  348. package/es/extensions/forms/Field/Name/Name.js +2 -2
  349. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  350. package/es/extensions/forms/Field/Number/Number.js +7 -12
  351. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  352. package/es/extensions/forms/Field/Option/Option.d.ts +2 -4
  353. package/es/extensions/forms/Field/Option/Option.js +0 -20
  354. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  355. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  356. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +32 -15
  357. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  358. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  359. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  360. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  361. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  362. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +16 -3
  363. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  364. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  365. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  366. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  367. package/es/extensions/forms/Field/Selection/Selection.d.ts +42 -15
  368. package/es/extensions/forms/Field/Selection/Selection.js +86 -28
  369. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  370. package/es/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  371. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  372. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  373. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  374. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  375. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  376. package/es/extensions/forms/Form/Element/Element.js +9 -9
  377. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  378. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  379. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  380. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  381. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  382. package/es/extensions/forms/Form/Isolation/Isolation.js +85 -27
  383. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  384. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  385. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  386. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  387. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  388. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  389. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  390. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  391. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  392. package/es/extensions/forms/Form/Section/Section.js +2 -2
  393. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  394. package/es/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  395. package/es/extensions/forms/Form/data-context/clearData.js +10 -0
  396. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -0
  397. package/es/extensions/forms/Form/index.d.ts +1 -0
  398. package/es/extensions/forms/Form/index.js +1 -0
  399. package/es/extensions/forms/Form/index.js.map +1 -1
  400. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  401. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  402. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  403. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  404. package/es/extensions/forms/Iterate/Array/Array.js +7 -5
  405. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  406. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -4
  407. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  408. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  409. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  410. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  411. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  412. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  413. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  414. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  415. package/{extensions/forms/Iterate/IterateElementContext.d.ts → es/extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  416. package/es/extensions/forms/Iterate/IterateItemContext.js +4 -0
  417. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  418. package/es/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  419. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  420. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  421. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  422. package/es/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  423. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  424. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  425. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  426. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -0
  427. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  428. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  429. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  430. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  431. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  432. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  433. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  434. package/es/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  435. package/es/extensions/forms/Iterate/PushContainer/index.js +3 -0
  436. package/es/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  437. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  438. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  439. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  440. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  441. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  442. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  443. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  444. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  445. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  446. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  447. package/es/extensions/forms/Iterate/hooks/useItem.js +9 -0
  448. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  449. package/es/extensions/forms/Iterate/index.d.ts +3 -1
  450. package/es/extensions/forms/Iterate/index.js +3 -1
  451. package/es/extensions/forms/Iterate/index.js.map +1 -1
  452. package/es/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  453. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  454. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  455. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  456. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +66 -0
  457. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  458. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  459. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  460. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  461. package/es/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  462. package/es/extensions/forms/Value/ArraySelection/index.js +3 -0
  463. package/es/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  464. package/es/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  465. package/es/extensions/forms/Value/Selection/Selection.js +48 -0
  466. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -0
  467. package/es/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  468. package/es/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  469. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  470. package/es/extensions/forms/Value/Selection/index.d.ts +2 -0
  471. package/es/extensions/forms/Value/Selection/index.js +3 -0
  472. package/es/extensions/forms/Value/Selection/index.js.map +1 -0
  473. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  474. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  475. package/es/extensions/forms/Value/index.d.ts +2 -0
  476. package/es/extensions/forms/Value/index.js +2 -0
  477. package/es/extensions/forms/Value/index.js.map +1 -1
  478. package/es/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  479. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  480. package/es/extensions/forms/Wizard/Container/WizardContainer.js +16 -1
  481. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  482. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  483. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  484. package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  485. package/es/extensions/forms/constants/locales/en-GB.js +7 -0
  486. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  487. package/es/extensions/forms/constants/locales/en-US.d.ts +7 -0
  488. package/es/extensions/forms/constants/locales/index.d.ts +14 -0
  489. package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  490. package/es/extensions/forms/constants/locales/nb-NO.js +7 -0
  491. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  492. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  493. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  494. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -0
  495. package/es/extensions/forms/hooks/useDataValue.js +29 -13
  496. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  497. package/es/extensions/forms/hooks/useExternalValue.js +4 -4
  498. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  499. package/es/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  500. package/es/extensions/forms/hooks/useFieldProps.js +49 -31
  501. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  502. package/es/extensions/forms/hooks/usePath.js +2 -2
  503. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  504. package/es/extensions/forms/hooks/useValueProps.js +4 -1
  505. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  506. package/es/extensions/forms/style/dnb-forms.css +1 -1
  507. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  508. package/es/extensions/forms/types.d.ts +20 -7
  509. package/es/extensions/forms/types.js.map +1 -1
  510. package/es/shared/Eufemia.d.ts +1 -1
  511. package/es/shared/Eufemia.js +2 -2
  512. package/es/shared/Eufemia.js.map +1 -1
  513. package/es/shared/helpers/isAsync.js +2 -2
  514. package/es/shared/helpers/isAsync.js.map +1 -1
  515. package/es/shared/locales/en-GB.d.ts +1 -0
  516. package/es/shared/locales/en-GB.js +1 -0
  517. package/es/shared/locales/en-GB.js.map +1 -1
  518. package/es/shared/locales/en-US.d.ts +1 -0
  519. package/es/shared/locales/index.d.ts +2 -0
  520. package/es/shared/locales/nb-NO.d.ts +1 -0
  521. package/es/shared/locales/nb-NO.js +2 -1
  522. package/es/shared/locales/nb-NO.js.map +1 -1
  523. package/es/shared/useTheme.d.ts +4 -10
  524. package/es/shared/useTheme.js +7 -5
  525. package/es/shared/useTheme.js.map +1 -1
  526. package/es/style/core/scopes.scss +1 -1
  527. package/es/style/dnb-ui-basis.css +1 -1
  528. package/es/style/dnb-ui-basis.min.css +1 -1
  529. package/es/style/dnb-ui-body.css +1 -1
  530. package/es/style/dnb-ui-body.min.css +1 -1
  531. package/es/style/dnb-ui-components.css +16 -1
  532. package/es/style/dnb-ui-components.min.css +2 -2
  533. package/es/style/dnb-ui-core.css +1 -1
  534. package/es/style/dnb-ui-core.min.css +1 -1
  535. package/es/style/dnb-ui-extensions.css +1 -1
  536. package/es/style/dnb-ui-extensions.min.css +1 -1
  537. package/es/style/dnb-ui-forms.css +1 -1
  538. package/es/style/dnb-ui-forms.min.css +1 -1
  539. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
  540. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  541. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  542. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  543. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  544. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  545. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
  546. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  547. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  548. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  549. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  550. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  551. package/es/style/themes/theme-ui/ui-theme-components.css +17 -2
  552. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  553. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  554. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  555. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
  556. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  557. package/esm/dnb-ui-basis.min.mjs +1 -1
  558. package/esm/dnb-ui-components.min.mjs +1 -1
  559. package/esm/dnb-ui-elements.min.mjs +1 -1
  560. package/esm/dnb-ui-extensions.min.mjs +5 -5
  561. package/esm/dnb-ui-lib.min.mjs +1 -1
  562. package/extensions/forms/DataContext/Context.d.ts +9 -3
  563. package/extensions/forms/DataContext/Context.js.map +1 -1
  564. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  565. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  566. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  567. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  568. package/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  569. package/extensions/forms/DataContext/Provider/Provider.js +56 -18
  570. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  571. package/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  572. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  573. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  574. package/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
  575. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  576. package/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  577. package/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  578. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  579. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  580. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  581. package/extensions/forms/Field/FieldDocs.d.ts +7 -0
  582. package/extensions/forms/Field/FieldDocs.js +18 -0
  583. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  584. package/extensions/forms/Field/Name/Name.js +2 -2
  585. package/extensions/forms/Field/Name/Name.js.map +1 -1
  586. package/extensions/forms/Field/Number/Number.js +7 -12
  587. package/extensions/forms/Field/Number/Number.js.map +1 -1
  588. package/extensions/forms/Field/Option/Option.d.ts +2 -4
  589. package/extensions/forms/Field/Option/Option.js +0 -20
  590. package/extensions/forms/Field/Option/Option.js.map +1 -1
  591. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  592. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  593. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  594. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  595. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  596. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  597. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  598. package/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  599. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  600. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  601. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  602. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  603. package/extensions/forms/Field/Selection/Selection.d.ts +42 -15
  604. package/extensions/forms/Field/Selection/Selection.js +90 -28
  605. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  606. package/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  607. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  608. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  609. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  610. package/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  611. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  612. package/extensions/forms/Form/Element/Element.js +9 -9
  613. package/extensions/forms/Form/Element/Element.js.map +1 -1
  614. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  615. package/extensions/forms/Form/Handler/Handler.js +3 -1
  616. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  617. package/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  618. package/extensions/forms/Form/Isolation/Isolation.js +85 -27
  619. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  620. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  621. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  622. package/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  623. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  624. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  625. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  626. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  627. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  628. package/extensions/forms/Form/Section/Section.js +2 -2
  629. package/extensions/forms/Form/Section/Section.js.map +1 -1
  630. package/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  631. package/extensions/forms/Form/data-context/clearData.js +10 -0
  632. package/extensions/forms/Form/data-context/clearData.js.map +1 -0
  633. package/extensions/forms/Form/index.d.ts +1 -0
  634. package/extensions/forms/Form/index.js +1 -0
  635. package/extensions/forms/Form/index.js.map +1 -1
  636. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  637. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  638. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  639. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  640. package/extensions/forms/Iterate/Array/Array.js +7 -5
  641. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  642. package/extensions/forms/Iterate/Array/types.d.ts +1 -4
  643. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  644. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  645. package/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  646. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  647. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  648. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  649. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  650. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  651. package/{es/extensions/forms/Iterate/IterateElementContext.d.ts → extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  652. package/extensions/forms/Iterate/IterateItemContext.js +4 -0
  653. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  654. package/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  655. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  656. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  657. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  658. package/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  659. package/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  660. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  661. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  662. package/extensions/forms/Iterate/PushContainer/PushContainer.js +83 -0
  663. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  664. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  665. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  666. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  667. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  668. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  669. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  670. package/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  671. package/extensions/forms/Iterate/PushContainer/index.js +3 -0
  672. package/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  673. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  674. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  675. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  676. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  677. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  678. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  679. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  680. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  681. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  682. package/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  683. package/extensions/forms/Iterate/hooks/useItem.js +9 -0
  684. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  685. package/extensions/forms/Iterate/index.d.ts +3 -1
  686. package/extensions/forms/Iterate/index.js +3 -1
  687. package/extensions/forms/Iterate/index.js.map +1 -1
  688. package/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  689. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  690. package/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  691. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  692. package/extensions/forms/Value/ArraySelection/ArraySelection.js +70 -0
  693. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  694. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  695. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  696. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  697. package/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  698. package/extensions/forms/Value/ArraySelection/index.js +3 -0
  699. package/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  700. package/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  701. package/extensions/forms/Value/Selection/Selection.js +48 -0
  702. package/extensions/forms/Value/Selection/Selection.js.map +1 -0
  703. package/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  704. package/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  705. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  706. package/extensions/forms/Value/Selection/index.d.ts +2 -0
  707. package/extensions/forms/Value/Selection/index.js +3 -0
  708. package/extensions/forms/Value/Selection/index.js.map +1 -0
  709. package/extensions/forms/Value/ValueDocs.js +6 -1
  710. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  711. package/extensions/forms/Value/index.d.ts +2 -0
  712. package/extensions/forms/Value/index.js +2 -0
  713. package/extensions/forms/Value/index.js.map +1 -1
  714. package/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  715. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  716. package/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  717. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  718. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  719. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  720. package/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  721. package/extensions/forms/constants/locales/en-GB.js +7 -0
  722. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  723. package/extensions/forms/constants/locales/en-US.d.ts +7 -0
  724. package/extensions/forms/constants/locales/index.d.ts +14 -0
  725. package/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  726. package/extensions/forms/constants/locales/nb-NO.js +7 -0
  727. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  728. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  729. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  730. package/extensions/forms/hooks/useDataValue.d.ts +2 -0
  731. package/extensions/forms/hooks/useDataValue.js +29 -13
  732. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  733. package/extensions/forms/hooks/useExternalValue.js +4 -4
  734. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  735. package/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  736. package/extensions/forms/hooks/useFieldProps.js +49 -31
  737. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  738. package/extensions/forms/hooks/usePath.js +2 -2
  739. package/extensions/forms/hooks/usePath.js.map +1 -1
  740. package/extensions/forms/hooks/useValueProps.js +4 -1
  741. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  742. package/extensions/forms/style/dnb-forms.css +1 -1
  743. package/extensions/forms/style/dnb-forms.min.css +1 -1
  744. package/extensions/forms/types.d.ts +20 -7
  745. package/extensions/forms/types.js.map +1 -1
  746. package/package.json +1 -1
  747. package/shared/Eufemia.d.ts +1 -1
  748. package/shared/Eufemia.js +2 -2
  749. package/shared/Eufemia.js.map +1 -1
  750. package/shared/helpers/isAsync.js +2 -2
  751. package/shared/helpers/isAsync.js.map +1 -1
  752. package/shared/locales/en-GB.d.ts +1 -0
  753. package/shared/locales/en-GB.js +1 -0
  754. package/shared/locales/en-GB.js.map +1 -1
  755. package/shared/locales/en-US.d.ts +1 -0
  756. package/shared/locales/index.d.ts +2 -0
  757. package/shared/locales/nb-NO.d.ts +1 -0
  758. package/shared/locales/nb-NO.js +2 -1
  759. package/shared/locales/nb-NO.js.map +1 -1
  760. package/shared/useTheme.d.ts +4 -10
  761. package/shared/useTheme.js +7 -5
  762. package/shared/useTheme.js.map +1 -1
  763. package/style/core/scopes.scss +1 -1
  764. package/style/dnb-ui-basis.css +1 -1
  765. package/style/dnb-ui-basis.min.css +1 -1
  766. package/style/dnb-ui-body.css +1 -1
  767. package/style/dnb-ui-body.min.css +1 -1
  768. package/style/dnb-ui-components.css +16 -1
  769. package/style/dnb-ui-components.min.css +2 -2
  770. package/style/dnb-ui-core.css +1 -1
  771. package/style/dnb-ui-core.min.css +1 -1
  772. package/style/dnb-ui-extensions.css +1 -1
  773. package/style/dnb-ui-extensions.min.css +1 -1
  774. package/style/dnb-ui-forms.css +1 -1
  775. package/style/dnb-ui-forms.min.css +1 -1
  776. package/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
  777. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  778. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  779. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  780. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  781. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  782. package/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
  783. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  784. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  785. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  786. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  787. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  788. package/style/themes/theme-ui/ui-theme-components.css +17 -2
  789. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  790. package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  791. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  792. package/style/themes/theme-ui/ui-theme-forms.css +1 -1
  793. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  794. package/umd/dnb-ui-basis.min.js +1 -1
  795. package/umd/dnb-ui-components.min.js +1 -1
  796. package/umd/dnb-ui-elements.min.js +1 -1
  797. package/umd/dnb-ui-extensions.min.js +5 -5
  798. package/umd/dnb-ui-lib.min.js +1 -1
  799. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  800. package/es/extensions/forms/Iterate/IterateElementContext.js +0 -4
  801. package/es/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  802. package/extensions/forms/Iterate/IterateElementContext.js +0 -4
  803. package/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_FieldBlockContext","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","_useErrorMessage","_useTranslation","_Context2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberComponent","props","_props$width","_dataContext$props2","_sharedContext$transl","_sharedContext$transl2","dataContext","useContext","DataContext","fieldBlockContext","FieldBlockContext","sharedContext","SharedContext","translations","useTranslation","currency","currencyDisplay","percent","mask","step","decimalLimit","allowNegative","disallowLeadingZeroes","prefix","suffix","showStepControls","errorMessages","useErrorMessage","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","useMemo","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","preparedProps","valueType","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","startWith","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","useFieldProps","handleSubmit","onKeyDownHandler","_ref2","_dataContext$props","event","isolate","_event$preventDefault","preventDefault","clamp","persist","fieldBlockProps","classnames","contentClassName","forId","contentWidth","pickSpacingProps","increaseClickHandler","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","decreaseClickHandler","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","HelpButton","content","asFieldset","Button","InputMasked","left","_supportsSpacingProps","_default","exports"],"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 FieldBlockWidth,\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 useTranslation from '../../hooks/useTranslation'\nimport DataContext from '../../DataContext/Context'\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 | number, 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 startWith?: number\n // Formatting\n decimalLimit?: number\n allowNegative?: boolean\n disallowLeadingZeroes?: boolean\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?: FieldBlockWidth\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n allowNegative = true,\n disallowLeadingZeroes = false,\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 null\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 = {\n prefix,\n suffix,\n decimalLimit,\n allowNegative,\n disallowLeadingZeroes,\n }\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 allowNegative,\n disallowLeadingZeroes,\n ])\n\n const preparedProps: Props = {\n valueType: 'number',\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 startWith = null,\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 { handleSubmit } = dataContext ?? {}\n const onKeyDownHandler = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (dataContext?.props?.isolate && event.key === 'Enter') {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (event.key) {\n case 'ArrowUp':\n numberValue = clamp(\n (value ?? startWith) + step,\n minimum,\n maximum\n )\n break\n case 'ArrowDown':\n numberValue = clamp(\n (value ?? startWith) - step,\n minimum,\n maximum\n )\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [\n dataContext?.props?.isolate,\n handleChange,\n handleSubmit,\n maximum,\n minimum,\n showStepControls,\n startWith,\n step,\n value,\n ]\n )\n\n const fieldBlockProps = {\n className: classnames(\n 'dnb-forms-field-number',\n 'dnb-input__border--tokens', // Used by \"dnb-input__border\"\n className\n ),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n hasError && 'dnb-input__status--error', // Also used by \"dnb-input__border\"\n disabled && 'dnb-input--disabled' // Also used by \"dnb-input__border\"\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 !showStepControls\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) + step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\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: increaseClickHandler,\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) - step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\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: decreaseClickHandler,\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 if (showStepControls) {\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <span className=\"dnb-input__border dnb-input__border--root\">\n {<Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {<Button {...increaseProps} />}\n </span>\n {help && (\n <HelpButton left=\"x-small\" title={help.title}>\n {help.content}\n </HelpButton>\n )}\n </FieldBlock>\n )\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <InputMasked {...inputProps} />\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","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_FieldBlockContext","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","_useErrorMessage","_useTranslation","_Context2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultMinimum","MIN_SAFE_INTEGER","defaultMaximum","MAX_SAFE_INTEGER","NumberComponent","props","_props$width","_dataContext$props2","_sharedContext$transl","_sharedContext$transl2","dataContext","useContext","DataContext","fieldBlockContext","FieldBlockContext","sharedContext","SharedContext","translations","useTranslation","currency","currencyDisplay","percent","mask","step","decimalLimit","allowNegative","disallowLeadingZeroes","prefix","suffix","showStepControls","errorMessages","useErrorMessage","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","useMemo","_props$schema","_props$minimum","_props$maximum","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","preparedProps","valueType","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","startWith","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","useFieldProps","handleSubmit","onKeyDownHandler","_ref2","_dataContext$props","event","isolate","_event$preventDefault","preventDefault","clamp","persist","fieldBlockProps","classnames","contentClassName","forId","contentWidth","pickSpacingProps","increaseClickHandler","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","decreaseClickHandler","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","HelpButton","content","asFieldset","Button","InputMasked","left","_supportsSpacingProps","_default","exports"],"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 FieldBlockWidth,\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 useTranslation from '../../hooks/useTranslation'\nimport DataContext from '../../DataContext/Context'\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 | number, 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 startWith?: number\n // Formatting\n decimalLimit?: number\n allowNegative?: boolean\n disallowLeadingZeroes?: boolean\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?: FieldBlockWidth\n align?: InputAlign\n showStepControls?: boolean\n }\n\nconst defaultMinimum = Number.MIN_SAFE_INTEGER\nconst defaultMaximum = Number.MAX_SAFE_INTEGER\n\nfunction NumberComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n allowNegative = true,\n disallowLeadingZeroes = false,\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 ?? defaultMinimum,\n maximum: props.maximum ?? defaultMaximum,\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 null\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\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = {\n prefix,\n suffix,\n decimalLimit,\n allowNegative,\n disallowLeadingZeroes,\n }\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 allowNegative,\n disallowLeadingZeroes,\n ])\n\n const preparedProps: Props = {\n valueType: 'number',\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\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 startWith = null,\n minimum = defaultMinimum,\n maximum = defaultMaximum,\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 { handleSubmit } = dataContext ?? {}\n const onKeyDownHandler = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (dataContext?.props?.isolate && event.key === 'Enter') {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (event.key) {\n case 'ArrowUp':\n numberValue = clamp(\n (value ?? startWith) + step,\n minimum,\n maximum\n )\n break\n case 'ArrowDown':\n numberValue = clamp(\n (value ?? startWith) - step,\n minimum,\n maximum\n )\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [\n dataContext?.props?.isolate,\n handleChange,\n handleSubmit,\n maximum,\n minimum,\n showStepControls,\n startWith,\n step,\n value,\n ]\n )\n\n const fieldBlockProps = {\n className: classnames(\n 'dnb-forms-field-number',\n 'dnb-input__border--tokens', // Used by \"dnb-input__border\"\n className\n ),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n hasError && 'dnb-input__status--error', // Also used by \"dnb-input__border\"\n disabled && 'dnb-input--disabled' // Also used by \"dnb-input__border\"\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 !showStepControls\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) + step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\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: increaseClickHandler,\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) - step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\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: decreaseClickHandler,\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 if (showStepControls) {\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <span className=\"dnb-input__border dnb-input__border--root\">\n {<Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {<Button {...increaseProps} />}\n </span>\n {help && (\n <HelpButton left=\"x-small\" title={help.title}>\n {help.content}\n </HelpButton>\n )}\n </FieldBlock>\n )\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <InputMasked {...inputProps} />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { FieldHelpProps, FieldProps } from '../../types';
3
- import { DrawerListProps } from '../../../../fragments/DrawerList';
4
3
  export type Props = FieldHelpProps & FieldProps<number | string> & {
5
- title?: string;
6
- text?: string;
4
+ title?: React.ReactNode;
5
+ text?: React.ReactNode;
7
6
  children?: React.ReactNode;
8
7
  };
9
8
  export default function Option({ className, title, text, children, }: Props): import("react/jsx-runtime").JSX.Element;
10
- export declare function makeOptions<T = DrawerListProps['data']>(children: React.ReactNode): T;
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Option;
7
- exports.makeOptions = makeOptions;
8
7
  var _react = _interopRequireDefault(require("react"));
9
8
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _em;
11
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
10
  function Option(_ref) {
13
11
  let {
@@ -21,23 +19,4 @@ function Option(_ref) {
21
19
  role: "option"
22
20
  }, children !== null && children !== void 0 ? children : title, text);
23
21
  }
24
- function makeOptions(children) {
25
- return _react.default.Children.map(children, child => {
26
- if (_react.default.isValidElement(child) && child.type === Option) {
27
- var _child$props$value, _ref2, _child$props$children, _child$props$children2;
28
- return child.props.text ? {
29
- selectedKey: String((_child$props$value = child.props.value) !== null && _child$props$value !== void 0 ? _child$props$value : ''),
30
- content: [(_ref2 = (_child$props$children = child.props.children) !== null && _child$props$children !== void 0 ? _child$props$children : child.props.title) !== null && _ref2 !== void 0 ? _ref2 : _em || (_em = _react.default.createElement("em", null, "Untitled")), child.props.text]
31
- } : {
32
- selectedKey: child.props.value,
33
- content: (_child$props$children2 = child.props.children) !== null && _child$props$children2 !== void 0 ? _child$props$children2 : child.props.title
34
- };
35
- }
36
- if (child) {
37
- return {
38
- content: child
39
- };
40
- }
41
- }).filter(Boolean);
42
- }
43
22
  //# sourceMappingURL=Option.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","names":["_react","_interopRequireDefault","require","_classnames","_em","obj","__esModule","default","Option","_ref","className","title","text","children","createElement","classnames","role","makeOptions","React","Children","map","child","isValidElement","type","_child$props$value","_ref2","_child$props$children","_child$props$children2","props","selectedKey","String","value","content","filter","Boolean"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldHelpProps, FieldProps } from '../../types'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\n\nexport type Props = FieldHelpProps &\n FieldProps<number | string> & {\n title?: string\n text?: string\n children?: React.ReactNode\n }\n\nexport default function Option({\n className,\n title,\n text,\n children,\n}: Props) {\n return (\n <span\n className={classnames('dnb-forms-field-option', className)}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"option\"\n >\n {children ?? title}\n {text}\n </span>\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Option) {\n // Option components\n return child.props.text\n ? {\n selectedKey: String(child.props.value ?? ''),\n content: [\n child.props.children ?? child.props.title ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selectedKey: child.props.value,\n content: child.props.children ?? child.props.title,\n }\n }\n\n if (child) {\n // For other children, just show them as content\n return {\n content: child,\n }\n }\n }).filter(Boolean) as T\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAmC,IAAAE,GAAA;AAAA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAWpB,SAASG,MAAMA,CAAAC,IAAA,EAKpB;EAAA,IALqB;IAC7BC,SAAS;IACTC,KAAK;IACLC,IAAI;IACJC;EACK,CAAC,GAAAJ,IAAA;EACN,OACET,MAAA,CAAAO,OAAA,CAAAO,aAAA;IACEJ,SAAS,EAAE,IAAAK,mBAAU,EAAC,wBAAwB,EAAEL,SAAS,CAAE;IAE3DM,IAAI,EAAC;EAAQ,GAEZH,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIF,KAAK,EACjBC,IACG,CAAC;AAEX;AAEO,SAASK,WAAWA,CACzBJ,QAAyB,EACtB;EACH,OAAOK,cAAK,CAACC,QAAQ,CAACC,GAAG,CAACP,QAAQ,EAAGQ,KAAK,IAAK;IAC7C,IAAIH,cAAK,CAACI,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKf,MAAM,EAAE;MAAA,IAAAgB,kBAAA,EAAAC,KAAA,EAAAC,qBAAA,EAAAC,sBAAA;MAExD,OAAON,KAAK,CAACO,KAAK,CAAChB,IAAI,GACnB;QACEiB,WAAW,EAAEC,MAAM,EAAAN,kBAAA,GAACH,KAAK,CAACO,KAAK,CAACG,KAAK,cAAAP,kBAAA,cAAAA,kBAAA,GAAI,EAAE,CAAC;QAC5CQ,OAAO,EAAE,EAAAP,KAAA,IAAAC,qBAAA,GACPL,KAAK,CAACO,KAAK,CAACf,QAAQ,cAAAa,qBAAA,cAAAA,qBAAA,GAAIL,KAAK,CAACO,KAAK,CAACjB,KAAK,cAAAc,KAAA,cAAAA,KAAA,GAAArB,GAAA,KAAAA,GAAA,GACvCJ,MAAA,CAAAO,OAAA,CAAAO,aAAA,aAAI,UAAY,CAAC,GAEnBO,KAAK,CAACO,KAAK,CAAChB,IAAI;MAEpB,CAAC,GACD;QACEiB,WAAW,EAAER,KAAK,CAACO,KAAK,CAACG,KAAK;QAC9BC,OAAO,GAAAL,sBAAA,GAAEN,KAAK,CAACO,KAAK,CAACf,QAAQ,cAAAc,sBAAA,cAAAA,sBAAA,GAAIN,KAAK,CAACO,KAAK,CAACjB;MAC/C,CAAC;IACP;IAEA,IAAIU,KAAK,EAAE;MAET,OAAO;QACLW,OAAO,EAAEX;MACX,CAAC;IACH;EACF,CAAC,CAAC,CAACY,MAAM,CAACC,OAAO,CAAC;AACpB"}
1
+ {"version":3,"file":"Option.js","names":["_react","_interopRequireDefault","require","_classnames","obj","__esModule","default","Option","_ref","className","title","text","children","createElement","classnames","role"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldHelpProps, FieldProps } from '../../types'\n\nexport type Props = FieldHelpProps &\n FieldProps<number | string> & {\n title?: React.ReactNode\n text?: React.ReactNode\n children?: React.ReactNode\n }\n\nexport default function Option({\n className,\n title,\n text,\n children,\n}: Props) {\n return (\n <span\n className={classnames('dnb-forms-field-option', className)}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"option\"\n >\n {children ?? title}\n {text}\n </span>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAmC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAUpB,SAASG,MAAMA,CAAAC,IAAA,EAKpB;EAAA,IALqB;IAC7BC,SAAS;IACTC,KAAK;IACLC,IAAI;IACJC;EACK,CAAC,GAAAJ,IAAA;EACN,OACER,MAAA,CAAAM,OAAA,CAAAO,aAAA;IACEJ,SAAS,EAAE,IAAAK,mBAAU,EAAC,wBAAwB,EAAEL,SAAS,CAAE;IAE3DM,IAAI,EAAC;EAAQ,GAEZH,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIF,KAAK,EACjBC,IACG,CAAC;AAEX"}
@@ -1,9 +1,12 @@
1
1
  import { InputMaskedProps } from '../../../../components/InputMasked';
2
2
  import { type CountryType } from '../../constants/countries';
3
3
  import { Props as StringFieldProps } from '../String';
4
- import { FieldHelpProps, FieldProps } from '../../types';
4
+ import { FieldHelpProps, FieldPropsWithExtraValue } from '../../types';
5
5
  import { CountryFilterSet } from '../SelectCountry';
6
- export type Props = FieldHelpProps & FieldProps<string, undefined | string> & {
6
+ export type Props = FieldHelpProps & FieldPropsWithExtraValue<string, {
7
+ country: string;
8
+ phone: string;
9
+ }, undefined | string> & {
7
10
  countryCodeFieldClassName?: string;
8
11
  numberFieldClassName?: string;
9
12
  countryCodePlaceholder?: string;
@@ -103,8 +103,7 @@ function PhoneNumber(props) {
103
103
  continuousValidation,
104
104
  validateUnchanged,
105
105
  omitCountryCodeField,
106
- handleFocus,
107
- handleBlur,
106
+ setHasFocus,
108
107
  handleChange,
109
108
  onCountryCodeChange,
110
109
  onNumberChange,
@@ -132,18 +131,31 @@ function PhoneNumber(props) {
132
131
  makeObject
133
132
  });
134
133
  }, [lang, filterCountries, ccFilter]);
135
- const callOnChange = (0, _react.useCallback)(_ref2 => {
134
+ const getEventValues = (0, _react.useCallback)(function () {
136
135
  let {
137
- countryCode = omitCountryCodeField ? emptyValue : countryCodeRef.current || emptyValue,
136
+ countryCode = countryCodeRef.current || emptyValue,
138
137
  phoneNumber = numberRef.current || emptyValue
139
- } = _ref2;
140
- handleChange(joinValue([countryCode, phoneNumber]), omitCountryCodeField ? {
138
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
139
+ return _objectSpread(_objectSpread({}, !omitCountryCodeField ? {
140
+ countryCode
141
+ } : {}), {}, {
141
142
  phoneNumber
142
- } : {
143
+ });
144
+ }, [omitCountryCodeField, emptyValue]);
145
+ const callOnChange = (0, _react.useCallback)(_ref2 => {
146
+ let {
147
+ countryCode = undefined,
148
+ phoneNumber = undefined
149
+ } = _ref2;
150
+ const eventValues = getEventValues({
143
151
  countryCode,
144
152
  phoneNumber
145
153
  });
146
- }, [omitCountryCodeField, emptyValue, handleChange]);
154
+ handleChange(joinValue([eventValues.countryCode, eventValues.phoneNumber]), eventValues);
155
+ }, [getEventValues, handleChange]);
156
+ const callOnBlurOrFocus = (0, _react.useCallback)(hasFocus => {
157
+ setHasFocus(hasFocus, undefined, getEventValues());
158
+ }, [setHasFocus, getEventValues]);
147
159
  (0, _react.useMemo)(() => {
148
160
  const [countryCode, phoneNumber] = splitValue(props.value || value);
149
161
  numberRef.current = phoneNumber;
@@ -174,7 +186,13 @@ function PhoneNumber(props) {
174
186
  });
175
187
  onNumberChange === null || onNumberChange === void 0 ? void 0 : onNumberChange(phoneNumber);
176
188
  }, [emptyValue, callOnChange, onNumberChange]);
177
- const onFocusHandler = (0, _react.useCallback)(_ref4 => {
189
+ const handleOnBlur = (0, _react.useCallback)(() => {
190
+ callOnBlurOrFocus(false);
191
+ }, [callOnBlurOrFocus]);
192
+ const handleOnFocus = (0, _react.useCallback)(() => {
193
+ callOnBlurOrFocus(true);
194
+ }, [callOnBlurOrFocus]);
195
+ const handleCountryCodeFocus = (0, _react.useCallback)(_ref4 => {
178
196
  let {
179
197
  updateData
180
198
  } = _ref4;
@@ -183,8 +201,8 @@ function PhoneNumber(props) {
183
201
  updateCurrentDataSet();
184
202
  updateData(dataRef.current);
185
203
  }
186
- handleFocus();
187
- }, [handleFocus, updateCurrentDataSet]);
204
+ handleOnFocus();
205
+ }, [handleOnFocus, updateCurrentDataSet]);
188
206
  const onTypeHandler = (0, _react.useCallback)(_ref5 => {
189
207
  var _event$nativeEvent;
190
208
  let {
@@ -234,8 +252,8 @@ function PhoneNumber(props) {
234
252
  value: countryCodeRef.current,
235
253
  status: hasError ? 'error' : undefined,
236
254
  disabled: disabled,
237
- on_focus: onFocusHandler,
238
- on_blur: handleBlur,
255
+ on_focus: handleCountryCodeFocus,
256
+ on_blur: handleOnBlur,
239
257
  on_change: handleCountryCodeChange,
240
258
  on_type: onTypeHandler,
241
259
  independent_width: true,
@@ -253,8 +271,8 @@ function PhoneNumber(props) {
253
271
  label: label,
254
272
  placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : isDefault ? defaultPlaceholder : undefined,
255
273
  mask: numberMask !== null && numberMask !== void 0 ? numberMask : isDefault ? defaultMask : Array(12).fill(/\d/),
256
- onFocus: handleFocus,
257
- onBlur: handleBlur,
274
+ onFocus: handleOnFocus,
275
+ onBlur: handleOnBlur,
258
276
  onChange: handleNumberChange,
259
277
  value: numberRef.current,
260
278
  info: info,
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_FieldBlock","_hooks","_utils","_Context","_SelectCountry","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_countryCodeRef$curre","sharedContext","useContext","SharedContext","translations","useTranslation","lang","locale","split","countryCodeRef","React","useRef","emptyValue","numberRef","dataRef","langRef","wasFilled","errorMessages","useErrorMessage","path","required","errorRequired","pattern","validateRequired","useCallback","_ref","isChanged","error","countryCode","phoneNumber","splitValue","prevCountryCodeRef","current","schema","useMemo","_props$schema","type","defaultProps","preparedProps","fromExternal","toEvent","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","countryCodeLabel","label","numberMask","countries","ccFilter","info","warning","hasError","disabled","width","help","validateInitially","continuousValidation","validateUnchanged","omitCountryCodeField","handleFocus","handleBlur","handleChange","onCountryCodeChange","onNumberChange","filterCountries","makeCountryFilterSet","useFieldProps","external","updateCurrentDataSet","getCountryData","country","formatCountryCode","cdc","sort","makeObject","callOnChange","_ref2","joinValue","handleCountryCodeChange","_ref3","_data$selectedKey","data","selectedKey","trim","handleNumberChange","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","revalidateInputValue","event","nativeEvent","cdcVal","test","find","_ref6","window","requestAnimationFrame","isDefault","includes","createElement","classnames","pickSpacingProps","Flex","Horizontal","align","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","stretch","layout","mask","Array","fill","onFocus","onBlur","onChange","inputMode","_country$i18n$lang","selected_value","iso","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Autocomplete, Flex } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldHelpProps,\n FieldProps,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n CountryFilterSet,\n getCountryData,\n makeCountryFilterSet,\n} from '../SelectCountry'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataObject } from '../../../../fragments/DrawerList'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n countries?: CountryFilterSet\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = React.useRef<Props['value']>(props?.emptyValue)\n const numberRef = React.useRef<Props['value']>(props?.emptyValue)\n const dataRef = React.useRef<Array<DrawerListDataObject>>(null)\n const langRef = React.useRef<string>(lang)\n const wasFilled = React.useRef<boolean>(false)\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.PhoneNumber.errorRequired,\n pattern: translations.PhoneNumber.errorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n }\n\n const {\n value,\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = translations.PhoneNumber.label,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n error,\n hasError,\n disabled,\n width = 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateUnchanged,\n omitCountryCodeField,\n handleFocus,\n handleBlur,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n function fromExternal(external: string) {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n }\n\n function toEvent(value: string) {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return emptyValue\n }\n return value\n }\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filterCountries, ccFilter])\n\n const callOnChange = useCallback(\n ({\n countryCode = omitCountryCodeField\n ? emptyValue\n : countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }) => {\n handleChange(\n joinValue([countryCode, phoneNumber]),\n omitCountryCodeField\n ? { phoneNumber }\n : { countryCode, phoneNumber }\n )\n },\n [omitCountryCodeField, emptyValue, handleChange]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const prevCountryCodeRef = React.useRef(countryCodeRef.current)\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleFocus()\n },\n [handleFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={omitCountryCodeField ? undefined : width}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal align=\"flex-end\">\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={\n countryCodeLabel ?? translations.PhoneNumber.countryCodeLabel\n }\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n )}\n\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width={omitCountryCodeField ? 'medium' : 'stretch'}\n help={help}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n continuousValidation={continuousValidation}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formatCountryCode(country.cdc),\n selected_value: `${country.iso} (${formatCountryCode(country.cdc)})`,\n content: `${formatCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_FieldBlock","_hooks","_utils","_Context","_SelectCountry","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_countryCodeRef$curre","sharedContext","useContext","SharedContext","translations","useTranslation","lang","locale","split","countryCodeRef","React","useRef","emptyValue","numberRef","dataRef","langRef","wasFilled","errorMessages","useErrorMessage","path","required","errorRequired","pattern","validateRequired","useCallback","_ref","isChanged","error","countryCode","phoneNumber","splitValue","prevCountryCodeRef","current","schema","useMemo","_props$schema","type","defaultProps","preparedProps","fromExternal","toEvent","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","countryCodeLabel","label","numberMask","countries","ccFilter","info","warning","hasError","disabled","width","help","validateInitially","continuousValidation","validateUnchanged","omitCountryCodeField","setHasFocus","handleChange","onCountryCodeChange","onNumberChange","filterCountries","makeCountryFilterSet","useFieldProps","external","updateCurrentDataSet","getCountryData","country","formatCountryCode","cdc","sort","makeObject","getEventValues","callOnChange","_ref2","eventValues","joinValue","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref3","_data$selectedKey","data","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","revalidateInputValue","event","nativeEvent","cdcVal","test","find","_ref6","window","requestAnimationFrame","isDefault","includes","createElement","classnames","pickSpacingProps","Flex","Horizontal","align","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","stretch","layout","mask","Array","fill","onFocus","onBlur","onChange","inputMode","_country$i18n$lang","selected_value","iso","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Autocomplete, Flex } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldHelpProps,\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n CountryFilterSet,\n getCountryData,\n makeCountryFilterSet,\n} from '../SelectCountry'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataObject } from '../../../../fragments/DrawerList'\n\nexport type Props = FieldHelpProps &\n FieldPropsWithExtraValue<\n string,\n { country: string; phone: string },\n undefined | string\n > & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n countries?: CountryFilterSet\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = React.useRef<Props['value']>(props?.emptyValue)\n const numberRef = React.useRef<Props['value']>(props?.emptyValue)\n const dataRef = React.useRef<Array<DrawerListDataObject>>(null)\n const langRef = React.useRef<string>(lang)\n const wasFilled = React.useRef<boolean>(false)\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.PhoneNumber.errorRequired,\n pattern: translations.PhoneNumber.errorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n }\n\n const {\n value,\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = translations.PhoneNumber.label,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n error,\n hasError,\n disabled,\n width = 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n function fromExternal(external: string) {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n }\n\n function toEvent(value: string) {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return emptyValue\n }\n return value\n }\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filterCountries, ccFilter])\n\n const getEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n } = {}) => {\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n }\n },\n [omitCountryCodeField, emptyValue]\n )\n\n const callOnChange = useCallback(\n ({ countryCode = undefined, phoneNumber = undefined }) => {\n const eventValues = getEventValues({ countryCode, phoneNumber })\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [getEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, getEventValues())\n },\n [setHasFocus, getEventValues]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const prevCountryCodeRef = React.useRef(countryCodeRef.current)\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={omitCountryCodeField ? undefined : width}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal align=\"flex-end\">\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={\n countryCodeLabel ?? translations.PhoneNumber.countryCodeLabel\n }\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n )}\n\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width={omitCountryCodeField ? 'medium' : 'stretch'}\n help={help}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n continuousValidation={continuousValidation}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formatCountryCode(country.cdc),\n selected_value: `${country.iso} (${formatCountryCode(country.cdc)})`,\n content: `${formatCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PropertiesTableProps } from '../../../../shared/types';
2
+ export declare const phoneNumberSpecificEvents: PropertiesTableProps;
3
+ export declare const phoneNumberGeneralEvents: PropertiesTableProps;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.phoneNumberSpecificEvents = exports.phoneNumberGeneralEvents = void 0;
7
+ var _FieldDocs = require("../FieldDocs");
8
+ const phoneNumberSpecificEvents = {
9
+ onCountryCodeChange: {
10
+ doc: ' Callback on country code change.',
11
+ type: '(value?: string) => void',
12
+ status: 'optional'
13
+ },
14
+ onNumberChange: {
15
+ doc: 'Callback on phone number change.',
16
+ type: '(value?: string) => void',
17
+ status: 'optional'
18
+ }
19
+ };
20
+ exports.phoneNumberSpecificEvents = phoneNumberSpecificEvents;
21
+ const phoneNumberGeneralEvents = (0, _FieldDocs.getFieldEventsWithTypes)({
22
+ type: 'string',
23
+ optional: true
24
+ }, {
25
+ type: 'object'
26
+ });
27
+ exports.phoneNumberGeneralEvents = phoneNumberGeneralEvents;
28
+ //# sourceMappingURL=PhoneNumberDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneNumberDocs.js","names":["_FieldDocs","require","phoneNumberSpecificEvents","onCountryCodeChange","doc","type","status","onNumberChange","exports","phoneNumberGeneralEvents","getFieldEventsWithTypes","optional"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { getFieldEventsWithTypes } from '../FieldDocs'\n\nexport const phoneNumberSpecificEvents: PropertiesTableProps = {\n onCountryCodeChange: {\n doc: ' Callback on country code change.',\n type: '(value?: string) => void',\n status: 'optional',\n },\n onNumberChange: {\n doc: 'Callback on phone number change.',\n type: '(value?: string) => void',\n status: 'optional',\n },\n}\n\nexport const phoneNumberGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object' }\n)\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,yBAA+C,GAAG;EAC7DC,mBAAmB,EAAE;IACnBC,GAAG,EAAE,mCAAmC;IACxCC,IAAI,EAAE,0BAA0B;IAChCC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,kCAAkC;IACvCC,IAAI,EAAE,0BAA0B;IAChCC,MAAM,EAAE;EACV;AACF,CAAC;AAAAE,OAAA,CAAAN,yBAAA,GAAAA,yBAAA;AAEM,MAAMO,wBAAwB,GAAG,IAAAC,kCAAuB,EAC7D;EAAEL,IAAI,EAAE,QAAQ;EAAEM,QAAQ,EAAE;AAAK,CAAC,EAClC;EAAEN,IAAI,EAAE;AAAS,CACnB,CAAC;AAAAG,OAAA,CAAAC,wBAAA,GAAAA,wBAAA"}
@@ -1,7 +1,7 @@
1
1
  import { type CountryType, type CountryLang } from '../../constants/countries';
2
- import { FieldBlockWidth, FieldHelpProps, FieldProps } from '../../types';
2
+ import { FieldBlockWidth, FieldHelpProps, FieldPropsWithExtraValue } from '../../types';
3
3
  export type CountryFilterSet = 'Scandinavia' | 'Nordic' | 'Europe' | 'Prioritized';
4
- export type Props = FieldHelpProps & FieldProps<string, undefined | string> & {
4
+ export type Props = FieldHelpProps & FieldPropsWithExtraValue<string, CountryType, undefined | string> & {
5
5
  countries?: CountryFilterSet;
6
6
  width?: FieldBlockWidth;
7
7
  /**