@dnb/eufemia 10.11.0 → 10.13.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 (684) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/cjs/components/accordion/Accordion.js +1 -0
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionGroup.js +1 -0
  5. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  6. package/cjs/components/accordion/AccordionHeader.js +5 -15
  7. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.css +2 -2
  9. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  10. package/cjs/components/accordion/style/dnb-accordion.scss +3 -8
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +1 -1
  12. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  13. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +1 -1
  14. package/cjs/components/anchor/Anchor.js.map +1 -1
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  16. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  17. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -2
  18. package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
  19. package/cjs/components/autocomplete/Autocomplete.js +41 -16
  20. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  21. package/cjs/components/breadcrumb/Breadcrumb.js +1 -0
  22. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  23. package/cjs/components/button/Button.d.ts +3 -3
  24. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  25. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +2 -2
  26. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  27. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +2 -2
  28. package/cjs/components/card/Card.js +2 -2
  29. package/cjs/components/card/Card.js.map +1 -1
  30. package/cjs/components/dialog/Dialog.js +1 -0
  31. package/cjs/components/dialog/Dialog.js.map +1 -1
  32. package/cjs/components/dialog/DialogContent.js +1 -0
  33. package/cjs/components/dialog/DialogContent.js.map +1 -1
  34. package/cjs/components/dialog/parts/DialogAction.js +1 -0
  35. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  36. package/cjs/components/drawer/Drawer.js +1 -0
  37. package/cjs/components/drawer/Drawer.js.map +1 -1
  38. package/cjs/components/drawer/DrawerContent.js +1 -0
  39. package/cjs/components/drawer/DrawerContent.js.map +1 -1
  40. package/cjs/components/drawer/parts/DrawerContentContext.js +1 -0
  41. package/cjs/components/drawer/parts/DrawerContentContext.js.map +1 -1
  42. package/cjs/components/flex/Container.js +6 -4
  43. package/cjs/components/flex/Container.js.map +1 -1
  44. package/cjs/components/flex/utils.js +2 -2
  45. package/cjs/components/flex/utils.js.map +1 -1
  46. package/cjs/components/form-label/FormLabel.js +2 -1
  47. package/cjs/components/form-label/FormLabel.js.map +1 -1
  48. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
  49. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  50. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +1 -1
  51. package/cjs/components/form-row/style/dnb-form-row.scss +1 -1
  52. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  53. package/cjs/components/input-masked/InputMasked.d.ts +1 -2
  54. package/cjs/components/input-masked/InputMasked.js +3 -3
  55. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  56. package/cjs/components/input-masked/MultiInputMask.d.ts +60 -0
  57. package/cjs/components/input-masked/MultiInputMask.js +160 -0
  58. package/cjs/components/input-masked/MultiInputMask.js.map +1 -0
  59. package/cjs/components/input-masked/TextMask.d.ts +1 -1
  60. package/cjs/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
  61. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +114 -0
  62. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
  63. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
  64. package/cjs/components/input-masked/hooks/useMultiInputValues.js +38 -0
  65. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
  66. package/cjs/components/input-masked/index.d.ts +2 -0
  67. package/cjs/components/input-masked/index.js +21 -1
  68. package/cjs/components/input-masked/index.js.map +1 -1
  69. package/cjs/components/input-masked/style/dnb-input-masked.css +57 -0
  70. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  71. package/cjs/components/input-masked/style/dnb-input-masked.scss +73 -0
  72. package/cjs/components/lib.d.ts +1 -1
  73. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  74. package/cjs/components/number-format/useNumberFormat.js +1 -0
  75. package/cjs/components/number-format/useNumberFormat.js.map +1 -1
  76. package/cjs/components/pagination/PaginationBar.js +1 -0
  77. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  78. package/cjs/components/section/Section.d.ts +2 -2
  79. package/cjs/components/section/Section.js.map +1 -1
  80. package/cjs/components/step-indicator/StepIndicatorContext.js +1 -0
  81. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  82. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -2
  83. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  84. package/cjs/components/step-indicator/StepIndicatorList.js +1 -0
  85. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  86. package/cjs/components/step-indicator/StepIndicatorModal.js +1 -0
  87. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  88. package/cjs/components/step-indicator/StepIndicatorSidebar.js +1 -0
  89. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  90. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -0
  91. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  92. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -0
  93. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  94. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +1 -0
  95. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -1
  96. package/cjs/components/tooltip/TooltipWithEvents.js.map +1 -1
  97. package/cjs/components/upload/UploadContext.js +1 -0
  98. package/cjs/components/upload/UploadContext.js.map +1 -1
  99. package/cjs/components/upload/UploadFileInput.js +1 -0
  100. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  101. package/cjs/components/upload/UploadFileListCell.js +1 -0
  102. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  103. package/cjs/elements/lists/Dl.d.ts +1 -1
  104. package/cjs/elements/lists/Dl.js.map +1 -1
  105. package/cjs/elements/typography/style/dnb-typography.scss +1 -1
  106. package/cjs/elements/typography/style/typography-mixins.scss +2 -2
  107. package/cjs/extensions/forms/DataContext/At/At.js +1 -0
  108. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  109. package/cjs/extensions/forms/DataContext/Provider/Provider.js +5 -3
  110. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  111. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -9
  112. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  113. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +5 -3
  114. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Boolean/Boolean.js +3 -2
  116. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Currency/Currency.js +3 -2
  118. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  119. package/cjs/extensions/forms/Field/Date/Date.js +2 -1
  120. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Email/Email.js +5 -3
  122. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  123. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +5 -3
  124. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  125. package/cjs/extensions/forms/Field/Number/Number.js +3 -2
  126. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  127. package/cjs/extensions/forms/Field/Option/Option.js +1 -1
  128. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  129. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +5 -3
  130. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  131. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -0
  132. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +58 -18
  133. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  134. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +6 -4
  135. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  136. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -8
  137. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  138. package/cjs/extensions/forms/Field/Selection/Selection.js +29 -20
  139. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  140. package/cjs/extensions/forms/Field/String/String.js +10 -9
  141. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  142. package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -4
  143. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  144. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +1 -0
  145. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  146. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +1 -0
  147. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  148. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  149. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +3 -2
  151. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -1
  153. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  154. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +1 -0
  155. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  156. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +1 -0
  157. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  158. package/cjs/extensions/forms/StepsLayout/Step/Step.js +1 -0
  159. package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  160. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -1
  161. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  162. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +3 -1
  163. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  164. package/cjs/extensions/forms/Value/Boolean/Boolean.js +1 -0
  165. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  166. package/cjs/extensions/forms/Value/Currency/Currency.js +3 -2
  167. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  168. package/cjs/extensions/forms/Value/Date/Date.js +3 -1
  169. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  170. package/cjs/extensions/forms/Value/Email/Email.js +3 -1
  171. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  172. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +3 -1
  173. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  174. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +3 -1
  175. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  176. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +1 -1
  177. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  178. package/cjs/extensions/forms/Visibility/Visibility.js +1 -0
  179. package/cjs/extensions/forms/Visibility/Visibility.js.map +1 -1
  180. package/cjs/extensions/forms/hooks/useDataValue.js +21 -17
  181. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  182. package/cjs/extensions/forms/types.js +6 -6
  183. package/cjs/extensions/forms/types.js.map +1 -1
  184. package/cjs/extensions/forms/utils/ajv.js +3 -2
  185. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  186. package/cjs/extensions/forms/utils/numbers.js +2 -2
  187. package/cjs/extensions/forms/utils/numbers.js.map +1 -1
  188. package/cjs/extensions/forms/utils/useWasChanged.js +8 -6
  189. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -1
  190. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -0
  191. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  192. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +4 -0
  193. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -1
  194. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  195. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  196. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +5 -2
  197. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -2
  198. package/cjs/shared/Eufemia.d.ts +1 -1
  199. package/cjs/shared/Eufemia.js +2 -2
  200. package/cjs/shared/Eufemia.js.map +1 -1
  201. package/cjs/shared/useTheme.d.ts +12 -1
  202. package/cjs/shared/useTheme.js +16 -1
  203. package/cjs/shared/useTheme.js.map +1 -1
  204. package/cjs/style/dnb-ui-components.css +59 -2
  205. package/cjs/style/dnb-ui-components.min.css +1 -1
  206. package/cjs/style/dnb-ui-extensions.css +3 -0
  207. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  208. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +61 -4
  209. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  210. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  211. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  212. package/cjs/style/themes/theme-sbanken/fonts.scss +5 -4
  213. package/cjs/style/themes/theme-sbanken/properties.js +2 -2
  214. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  215. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -2
  216. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +75 -13
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  219. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  221. package/cjs/style/themes/theme-sbanken/theme-mapping.scss +2 -1
  222. package/cjs/style/themes/theme-ui/ui-theme-components.css +61 -4
  223. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  224. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  225. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  226. package/components/accordion/Accordion.js +2 -0
  227. package/components/accordion/Accordion.js.map +1 -1
  228. package/components/accordion/AccordionGroup.js +2 -0
  229. package/components/accordion/AccordionGroup.js.map +1 -1
  230. package/components/accordion/AccordionHeader.js +6 -15
  231. package/components/accordion/AccordionHeader.js.map +1 -1
  232. package/components/accordion/style/dnb-accordion.css +2 -2
  233. package/components/accordion/style/dnb-accordion.min.css +1 -1
  234. package/components/accordion/style/dnb-accordion.scss +3 -8
  235. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +1 -1
  236. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  237. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +1 -1
  238. package/components/anchor/Anchor.js.map +1 -1
  239. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  240. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  241. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -2
  242. package/components/autocomplete/Autocomplete.d.ts +2 -2
  243. package/components/autocomplete/Autocomplete.js +42 -17
  244. package/components/autocomplete/Autocomplete.js.map +1 -1
  245. package/components/breadcrumb/Breadcrumb.js +2 -0
  246. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  247. package/components/button/Button.d.ts +3 -3
  248. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  249. package/components/button/style/themes/dnb-button-theme-sbanken.css +2 -2
  250. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  251. package/components/button/style/themes/dnb-button-theme-sbanken.scss +2 -2
  252. package/components/card/Card.js +2 -2
  253. package/components/card/Card.js.map +1 -1
  254. package/components/dialog/Dialog.js +2 -0
  255. package/components/dialog/Dialog.js.map +1 -1
  256. package/components/dialog/DialogContent.js +2 -0
  257. package/components/dialog/DialogContent.js.map +1 -1
  258. package/components/dialog/parts/DialogAction.js +2 -0
  259. package/components/dialog/parts/DialogAction.js.map +1 -1
  260. package/components/drawer/Drawer.js +2 -0
  261. package/components/drawer/Drawer.js.map +1 -1
  262. package/components/drawer/DrawerContent.js +2 -0
  263. package/components/drawer/DrawerContent.js.map +1 -1
  264. package/components/drawer/parts/DrawerContentContext.js +2 -0
  265. package/components/drawer/parts/DrawerContentContext.js.map +1 -1
  266. package/components/flex/Container.js +6 -4
  267. package/components/flex/Container.js.map +1 -1
  268. package/components/flex/utils.js +2 -2
  269. package/components/flex/utils.js.map +1 -1
  270. package/components/form-label/FormLabel.js +2 -1
  271. package/components/form-label/FormLabel.js.map +1 -1
  272. package/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
  273. package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  274. package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +1 -1
  275. package/components/form-row/style/dnb-form-row.scss +1 -1
  276. package/components/icon/style/dnb-icon.scss +1 -1
  277. package/components/input-masked/InputMasked.d.ts +1 -2
  278. package/components/input-masked/InputMasked.js +2 -2
  279. package/components/input-masked/InputMasked.js.map +1 -1
  280. package/components/input-masked/MultiInputMask.d.ts +60 -0
  281. package/components/input-masked/MultiInputMask.js +150 -0
  282. package/components/input-masked/MultiInputMask.js.map +1 -0
  283. package/components/input-masked/TextMask.d.ts +1 -1
  284. package/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
  285. package/components/input-masked/hooks/useHandleCursorPosition.js +108 -0
  286. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
  287. package/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
  288. package/components/input-masked/hooks/useMultiInputValues.js +31 -0
  289. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
  290. package/components/input-masked/index.d.ts +2 -0
  291. package/components/input-masked/index.js +2 -0
  292. package/components/input-masked/index.js.map +1 -1
  293. package/components/input-masked/style/dnb-input-masked.css +57 -0
  294. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  295. package/components/input-masked/style/dnb-input-masked.scss +73 -0
  296. package/components/lib.d.ts +1 -1
  297. package/components/number-format/NumberUtils.js.map +1 -1
  298. package/components/number-format/useNumberFormat.js +2 -0
  299. package/components/number-format/useNumberFormat.js.map +1 -1
  300. package/components/pagination/PaginationBar.js +2 -0
  301. package/components/pagination/PaginationBar.js.map +1 -1
  302. package/components/section/Section.d.ts +2 -2
  303. package/components/section/Section.js.map +1 -1
  304. package/components/step-indicator/StepIndicatorContext.js +2 -0
  305. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  306. package/components/step-indicator/StepIndicatorItem.js +4 -2
  307. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  308. package/components/step-indicator/StepIndicatorList.js +2 -0
  309. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  310. package/components/step-indicator/StepIndicatorModal.js +2 -0
  311. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  312. package/components/step-indicator/StepIndicatorSidebar.js +2 -0
  313. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  314. package/components/step-indicator/StepIndicatorTriggerButton.js +2 -0
  315. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  316. package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -0
  317. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  318. package/components/table/style/themes/dnb-table-theme-sbanken.scss +1 -0
  319. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -1
  320. package/components/tooltip/TooltipWithEvents.js.map +1 -1
  321. package/components/upload/UploadContext.js +2 -0
  322. package/components/upload/UploadContext.js.map +1 -1
  323. package/components/upload/UploadFileInput.js +2 -0
  324. package/components/upload/UploadFileInput.js.map +1 -1
  325. package/components/upload/UploadFileListCell.js +2 -0
  326. package/components/upload/UploadFileListCell.js.map +1 -1
  327. package/elements/lists/Dl.d.ts +1 -1
  328. package/elements/lists/Dl.js.map +1 -1
  329. package/elements/typography/style/dnb-typography.scss +1 -1
  330. package/elements/typography/style/typography-mixins.scss +2 -2
  331. package/es/components/accordion/Accordion.js +2 -0
  332. package/es/components/accordion/Accordion.js.map +1 -1
  333. package/es/components/accordion/AccordionGroup.js +2 -0
  334. package/es/components/accordion/AccordionGroup.js.map +1 -1
  335. package/es/components/accordion/AccordionHeader.js +6 -15
  336. package/es/components/accordion/AccordionHeader.js.map +1 -1
  337. package/es/components/accordion/style/dnb-accordion.css +2 -2
  338. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  339. package/es/components/accordion/style/dnb-accordion.scss +3 -8
  340. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +1 -1
  341. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  342. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +1 -1
  343. package/es/components/anchor/Anchor.js.map +1 -1
  344. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  345. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  346. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -2
  347. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  348. package/es/components/autocomplete/Autocomplete.js +42 -17
  349. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  350. package/es/components/breadcrumb/Breadcrumb.js +2 -0
  351. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  352. package/es/components/button/Button.d.ts +3 -3
  353. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  354. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +2 -2
  355. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  356. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +2 -2
  357. package/es/components/card/Card.js +2 -2
  358. package/es/components/card/Card.js.map +1 -1
  359. package/es/components/dialog/Dialog.js +2 -0
  360. package/es/components/dialog/Dialog.js.map +1 -1
  361. package/es/components/dialog/DialogContent.js +2 -0
  362. package/es/components/dialog/DialogContent.js.map +1 -1
  363. package/es/components/dialog/parts/DialogAction.js +2 -0
  364. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  365. package/es/components/drawer/Drawer.js +2 -0
  366. package/es/components/drawer/Drawer.js.map +1 -1
  367. package/es/components/drawer/DrawerContent.js +2 -0
  368. package/es/components/drawer/DrawerContent.js.map +1 -1
  369. package/es/components/drawer/parts/DrawerContentContext.js +2 -0
  370. package/es/components/drawer/parts/DrawerContentContext.js.map +1 -1
  371. package/es/components/flex/Container.js +6 -4
  372. package/es/components/flex/Container.js.map +1 -1
  373. package/es/components/flex/utils.js +2 -2
  374. package/es/components/flex/utils.js.map +1 -1
  375. package/es/components/form-label/FormLabel.js +2 -1
  376. package/es/components/form-label/FormLabel.js.map +1 -1
  377. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
  378. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  379. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +1 -1
  380. package/es/components/form-row/style/dnb-form-row.scss +1 -1
  381. package/es/components/icon/style/dnb-icon.scss +1 -1
  382. package/es/components/input-masked/InputMasked.d.ts +1 -2
  383. package/es/components/input-masked/InputMasked.js +2 -2
  384. package/es/components/input-masked/InputMasked.js.map +1 -1
  385. package/es/components/input-masked/MultiInputMask.d.ts +60 -0
  386. package/es/components/input-masked/MultiInputMask.js +147 -0
  387. package/es/components/input-masked/MultiInputMask.js.map +1 -0
  388. package/es/components/input-masked/TextMask.d.ts +1 -1
  389. package/es/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
  390. package/es/components/input-masked/hooks/useHandleCursorPosition.js +107 -0
  391. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
  392. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
  393. package/es/components/input-masked/hooks/useMultiInputValues.js +30 -0
  394. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
  395. package/es/components/input-masked/index.d.ts +2 -0
  396. package/es/components/input-masked/index.js +2 -0
  397. package/es/components/input-masked/index.js.map +1 -1
  398. package/es/components/input-masked/style/dnb-input-masked.css +57 -0
  399. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  400. package/es/components/input-masked/style/dnb-input-masked.scss +73 -0
  401. package/es/components/lib.d.ts +1 -1
  402. package/es/components/number-format/NumberUtils.js.map +1 -1
  403. package/es/components/number-format/useNumberFormat.js +2 -0
  404. package/es/components/number-format/useNumberFormat.js.map +1 -1
  405. package/es/components/pagination/PaginationBar.js +2 -0
  406. package/es/components/pagination/PaginationBar.js.map +1 -1
  407. package/es/components/section/Section.d.ts +2 -2
  408. package/es/components/section/Section.js.map +1 -1
  409. package/es/components/step-indicator/StepIndicatorContext.js +2 -0
  410. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  411. package/es/components/step-indicator/StepIndicatorItem.js +4 -2
  412. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  413. package/es/components/step-indicator/StepIndicatorList.js +2 -0
  414. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  415. package/es/components/step-indicator/StepIndicatorModal.js +2 -0
  416. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  417. package/es/components/step-indicator/StepIndicatorSidebar.js +2 -0
  418. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  419. package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -0
  420. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  421. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -0
  422. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  423. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +1 -0
  424. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -1
  425. package/es/components/tooltip/TooltipWithEvents.js.map +1 -1
  426. package/es/components/upload/UploadContext.js +2 -0
  427. package/es/components/upload/UploadContext.js.map +1 -1
  428. package/es/components/upload/UploadFileInput.js +2 -0
  429. package/es/components/upload/UploadFileInput.js.map +1 -1
  430. package/es/components/upload/UploadFileListCell.js +2 -0
  431. package/es/components/upload/UploadFileListCell.js.map +1 -1
  432. package/es/elements/lists/Dl.d.ts +1 -1
  433. package/es/elements/lists/Dl.js.map +1 -1
  434. package/es/elements/typography/style/dnb-typography.scss +1 -1
  435. package/es/elements/typography/style/typography-mixins.scss +2 -2
  436. package/es/extensions/forms/DataContext/At/At.js +2 -0
  437. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  438. package/es/extensions/forms/DataContext/Provider/Provider.js +6 -3
  439. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  440. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -9
  441. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  442. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -3
  443. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  444. package/es/extensions/forms/Field/Boolean/Boolean.js +4 -2
  445. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  446. package/es/extensions/forms/Field/Currency/Currency.js +3 -2
  447. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  448. package/es/extensions/forms/Field/Date/Date.js +3 -1
  449. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  450. package/es/extensions/forms/Field/Email/Email.js +6 -3
  451. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  452. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -3
  453. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  454. package/es/extensions/forms/Field/Number/Number.js +3 -2
  455. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  456. package/es/extensions/forms/Field/Option/Option.js +1 -1
  457. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  458. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -3
  459. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  460. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -0
  461. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +48 -16
  462. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  463. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -4
  464. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  465. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -8
  466. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  467. package/es/extensions/forms/Field/Selection/Selection.js +30 -20
  468. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  469. package/es/extensions/forms/Field/String/String.js +11 -9
  470. package/es/extensions/forms/Field/String/String.js.map +1 -1
  471. package/es/extensions/forms/Field/Toggle/Toggle.js +6 -4
  472. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  473. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -0
  474. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  475. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +2 -0
  476. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  477. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  478. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  479. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +4 -2
  480. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  481. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +3 -1
  482. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  483. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +2 -0
  484. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  485. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +2 -0
  486. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  487. package/es/extensions/forms/StepsLayout/Step/Step.js +2 -0
  488. package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  489. package/es/extensions/forms/StepsLayout/StepsLayout.js +4 -1
  490. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  491. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -1
  492. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  493. package/es/extensions/forms/Value/Boolean/Boolean.js +2 -0
  494. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  495. package/es/extensions/forms/Value/Currency/Currency.js +3 -2
  496. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  497. package/es/extensions/forms/Value/Date/Date.js +4 -1
  498. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  499. package/es/extensions/forms/Value/Email/Email.js +4 -1
  500. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  501. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -1
  502. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  503. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -1
  504. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  505. package/es/extensions/forms/ValueBlock/ValueBlock.js +1 -1
  506. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  507. package/es/extensions/forms/Visibility/Visibility.js +2 -0
  508. package/es/extensions/forms/Visibility/Visibility.js.map +1 -1
  509. package/es/extensions/forms/hooks/useDataValue.js +22 -17
  510. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  511. package/es/extensions/forms/types.js +6 -6
  512. package/es/extensions/forms/types.js.map +1 -1
  513. package/es/extensions/forms/utils/ajv.js +3 -2
  514. package/es/extensions/forms/utils/ajv.js.map +1 -1
  515. package/es/extensions/forms/utils/numbers.js +2 -2
  516. package/es/extensions/forms/utils/numbers.js.map +1 -1
  517. package/es/extensions/forms/utils/useWasChanged.js +9 -6
  518. package/es/extensions/forms/utils/useWasChanged.js.map +1 -1
  519. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -0
  520. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  521. package/es/extensions/payment-card/style/dnb-payment-card.scss +4 -0
  522. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -1
  523. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  524. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  525. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +5 -2
  526. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -2
  527. package/es/shared/Eufemia.d.ts +1 -1
  528. package/es/shared/Eufemia.js +2 -2
  529. package/es/shared/Eufemia.js.map +1 -1
  530. package/es/shared/useTheme.d.ts +12 -1
  531. package/es/shared/useTheme.js +14 -1
  532. package/es/shared/useTheme.js.map +1 -1
  533. package/es/style/dnb-ui-components.css +59 -2
  534. package/es/style/dnb-ui-components.min.css +1 -1
  535. package/es/style/dnb-ui-extensions.css +3 -0
  536. package/es/style/dnb-ui-extensions.min.css +1 -1
  537. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +61 -4
  538. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  539. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  540. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  541. package/es/style/themes/theme-sbanken/fonts.scss +5 -4
  542. package/es/style/themes/theme-sbanken/properties.js +2 -2
  543. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  544. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -2
  545. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  546. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +75 -13
  547. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  548. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  549. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  550. package/es/style/themes/theme-sbanken/theme-mapping.scss +2 -1
  551. package/es/style/themes/theme-ui/ui-theme-components.css +61 -4
  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 +3 -0
  554. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  555. package/esm/dnb-ui-basis.min.mjs +1 -1
  556. package/esm/dnb-ui-components.min.mjs +1 -1
  557. package/esm/dnb-ui-elements.min.mjs +1 -1
  558. package/esm/dnb-ui-extensions.min.mjs +3 -3
  559. package/esm/dnb-ui-lib.min.mjs +1 -1
  560. package/extensions/forms/DataContext/At/At.js +2 -0
  561. package/extensions/forms/DataContext/At/At.js.map +1 -1
  562. package/extensions/forms/DataContext/Provider/Provider.js +6 -3
  563. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  564. package/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -9
  565. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  566. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -3
  567. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  568. package/extensions/forms/Field/Boolean/Boolean.js +4 -2
  569. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  570. package/extensions/forms/Field/Currency/Currency.js +3 -2
  571. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  572. package/extensions/forms/Field/Date/Date.js +3 -1
  573. package/extensions/forms/Field/Date/Date.js.map +1 -1
  574. package/extensions/forms/Field/Email/Email.js +6 -3
  575. package/extensions/forms/Field/Email/Email.js.map +1 -1
  576. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -3
  577. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  578. package/extensions/forms/Field/Number/Number.js +3 -2
  579. package/extensions/forms/Field/Number/Number.js.map +1 -1
  580. package/extensions/forms/Field/Option/Option.js +1 -1
  581. package/extensions/forms/Field/Option/Option.js.map +1 -1
  582. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -3
  583. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  584. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -0
  585. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +59 -18
  586. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  587. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -4
  588. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  589. package/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -8
  590. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  591. package/extensions/forms/Field/Selection/Selection.js +30 -20
  592. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  593. package/extensions/forms/Field/String/String.js +11 -9
  594. package/extensions/forms/Field/String/String.js.map +1 -1
  595. package/extensions/forms/Field/Toggle/Toggle.js +6 -4
  596. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  597. package/extensions/forms/FieldBlock/FieldBlock.js +2 -0
  598. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  599. package/extensions/forms/Form/SubmitButton/SubmitButton.js +2 -0
  600. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  601. package/extensions/forms/Iterate/Array/Array.js +2 -2
  602. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  603. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +4 -2
  604. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  605. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +3 -1
  606. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  607. package/extensions/forms/StepsLayout/NextButton/NextButton.js +2 -0
  608. package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  609. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +2 -0
  610. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  611. package/extensions/forms/StepsLayout/Step/Step.js +2 -0
  612. package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  613. package/extensions/forms/StepsLayout/StepsLayout.js +4 -1
  614. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  615. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -1
  616. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  617. package/extensions/forms/Value/Boolean/Boolean.js +2 -0
  618. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  619. package/extensions/forms/Value/Currency/Currency.js +3 -2
  620. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  621. package/extensions/forms/Value/Date/Date.js +4 -1
  622. package/extensions/forms/Value/Date/Date.js.map +1 -1
  623. package/extensions/forms/Value/Email/Email.js +4 -1
  624. package/extensions/forms/Value/Email/Email.js.map +1 -1
  625. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -1
  626. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  627. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -1
  628. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  629. package/extensions/forms/ValueBlock/ValueBlock.js +1 -1
  630. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  631. package/extensions/forms/Visibility/Visibility.js +2 -0
  632. package/extensions/forms/Visibility/Visibility.js.map +1 -1
  633. package/extensions/forms/hooks/useDataValue.js +22 -17
  634. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  635. package/extensions/forms/types.js +6 -6
  636. package/extensions/forms/types.js.map +1 -1
  637. package/extensions/forms/utils/ajv.js +3 -2
  638. package/extensions/forms/utils/ajv.js.map +1 -1
  639. package/extensions/forms/utils/numbers.js +2 -2
  640. package/extensions/forms/utils/numbers.js.map +1 -1
  641. package/extensions/forms/utils/useWasChanged.js +9 -6
  642. package/extensions/forms/utils/useWasChanged.js.map +1 -1
  643. package/extensions/payment-card/style/dnb-payment-card.css +3 -0
  644. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  645. package/extensions/payment-card/style/dnb-payment-card.scss +4 -0
  646. package/fragments/drawer-list/DrawerListHelpers.js +1 -1
  647. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  648. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  649. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +5 -2
  650. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -2
  651. package/package.json +11 -1
  652. package/shared/Eufemia.d.ts +1 -1
  653. package/shared/Eufemia.js +2 -2
  654. package/shared/Eufemia.js.map +1 -1
  655. package/shared/useTheme.d.ts +12 -1
  656. package/shared/useTheme.js +14 -1
  657. package/shared/useTheme.js.map +1 -1
  658. package/style/dnb-ui-components.css +59 -2
  659. package/style/dnb-ui-components.min.css +1 -1
  660. package/style/dnb-ui-extensions.css +3 -0
  661. package/style/dnb-ui-extensions.min.css +1 -1
  662. package/style/themes/theme-eiendom/eiendom-theme-components.css +61 -4
  663. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  664. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  665. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  666. package/style/themes/theme-sbanken/fonts.scss +5 -4
  667. package/style/themes/theme-sbanken/properties.js +2 -2
  668. package/style/themes/theme-sbanken/properties.js.map +1 -1
  669. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -2
  670. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  671. package/style/themes/theme-sbanken/sbanken-theme-components.css +75 -13
  672. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  673. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  674. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  675. package/style/themes/theme-sbanken/theme-mapping.scss +2 -1
  676. package/style/themes/theme-ui/ui-theme-components.css +61 -4
  677. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  678. package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  679. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  680. package/umd/dnb-ui-basis.min.js +1 -1
  681. package/umd/dnb-ui-components.min.js +1 -1
  682. package/umd/dnb-ui-elements.min.js +1 -1
  683. package/umd/dnb-ui-extensions.min.js +3 -3
  684. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -5,20 +7,21 @@ import React, { useContext } from 'react';
5
7
  import StringComponent from '../String';
6
8
  import SharedContext from '../../../../shared/Context';
7
9
  function NationalIdentityNumber(props) {
10
+ var _props$pattern, _props$label, _props$width;
8
11
  const sharedContext = useContext(SharedContext);
9
12
  const {
10
13
  validate = true,
11
14
  omitMask
12
15
  } = props;
13
16
  const stringComponentProps = _objectSpread(_objectSpread({}, props), {}, {
14
- pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),
15
- label: props.label ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.nationalIdentityNumberLabel),
17
+ pattern: (_props$pattern = props.pattern) !== null && _props$pattern !== void 0 ? _props$pattern : validate ? '^[0-9]{11}$' : undefined,
18
+ label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.nationalIdentityNumberLabel,
16
19
  errorMessages: _objectSpread({
17
20
  required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.nationalIdentityNumberErrorRequired,
18
21
  pattern: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.nationalIdentityNumberErrorPattern
19
22
  }, props.errorMessages),
20
23
  mask: omitMask ? [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/] : [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/],
21
- width: props.width ?? 'medium'
24
+ width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium'
22
25
  });
23
26
  return React.createElement(StringComponent, stringComponentProps);
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NationalIdentityNumber.js","names":["React","useContext","StringComponent","SharedContext","NationalIdentityNumber","props","sharedContext","validate","omitMask","stringComponentProps","_objectSpread","pattern","undefined","label","translation","Forms","nationalIdentityNumberLabel","errorMessages","required","nationalIdentityNumberErrorRequired","nationalIdentityNumberErrorPattern","mask","width","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringComponent, { Props as StringComponentProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = StringComponentProps & {\n omitMask?: boolean\n validate?: boolean\n}\n\nfunction NationalIdentityNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const { validate = true, omitMask } = props\n\n const stringComponentProps: Props = {\n ...props,\n pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.nationalIdentityNumberLabel,\n errorMessages: {\n required:\n sharedContext?.translation.Forms\n .nationalIdentityNumberErrorRequired,\n pattern:\n sharedContext?.translation.Forms\n .nationalIdentityNumberErrorPattern,\n ...props.errorMessages,\n },\n mask: omitMask\n ? [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n width: props.width ?? 'medium',\n }\n\n return <StringComponent {...stringComponentProps} />\n}\n\nNationalIdentityNumber._supportsSpacingProps = true\nexport default NationalIdentityNumber\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,eAAe,MAAyC,WAAW;AAC1E,OAAOC,aAAa,MAAM,4BAA4B;AAOtD,SAASC,sBAAsBA,CAACC,KAAY,EAAE;EAC5C,MAAMC,aAAa,GAAGL,UAAU,CAACE,aAAa,CAAC;EAC/C,MAAM;IAAEI,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAE3C,MAAMI,oBAA2B,GAAAC,aAAA,CAAAA,aAAA,KAC5BL,KAAK;IACRM,OAAO,EAAEN,KAAK,CAACM,OAAO,KAAKJ,QAAQ,GAAG,aAAa,GAAGK,SAAS,CAAC;IAChEC,KAAK,EACHR,KAAK,CAACQ,KAAK,KACXP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,WAAW,CAACC,KAAK,CAACC,2BAA2B;IAC9DC,aAAa,EAAAP,aAAA;MACXQ,QAAQ,EACNZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,WAAW,CAACC,KAAK,CAC7BI,mCAAmC;MACxCR,OAAO,EACLL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,WAAW,CAACC,KAAK,CAC7BK;IAAkC,GACpCf,KAAK,CAACY,aAAa,CACvB;IACDI,IAAI,EAAEb,QAAQ,GACV,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAClE,CACE,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;IACLc,KAAK,EAAEjB,KAAK,CAACiB,KAAK,IAAI;EAAQ,EAC/B;EAED,OAAOtB,KAAA,CAAAuB,aAAA,CAACrB,eAAe,EAAKO,oBAAuB,CAAC;AACtD;AAEAL,sBAAsB,CAACoB,qBAAqB,GAAG,IAAI;AACnD,eAAepB,sBAAsB"}
1
+ {"version":3,"file":"NationalIdentityNumber.js","names":["React","useContext","StringComponent","SharedContext","NationalIdentityNumber","props","_props$pattern","_props$label","_props$width","sharedContext","validate","omitMask","stringComponentProps","_objectSpread","pattern","undefined","label","translation","Forms","nationalIdentityNumberLabel","errorMessages","required","nationalIdentityNumberErrorRequired","nationalIdentityNumberErrorPattern","mask","width","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringComponent, { Props as StringComponentProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = StringComponentProps & {\n omitMask?: boolean\n validate?: boolean\n}\n\nfunction NationalIdentityNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const { validate = true, omitMask } = props\n\n const stringComponentProps: Props = {\n ...props,\n pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.nationalIdentityNumberLabel,\n errorMessages: {\n required:\n sharedContext?.translation.Forms\n .nationalIdentityNumberErrorRequired,\n pattern:\n sharedContext?.translation.Forms\n .nationalIdentityNumberErrorPattern,\n ...props.errorMessages,\n },\n mask: omitMask\n ? [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n width: props.width ?? 'medium',\n }\n\n return <StringComponent {...stringComponentProps} />\n}\n\nNationalIdentityNumber._supportsSpacingProps = true\nexport default NationalIdentityNumber\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,eAAe,MAAyC,WAAW;AAC1E,OAAOC,aAAa,MAAM,4BAA4B;AAOtD,SAASC,sBAAsBA,CAACC,KAAY,EAAE;EAAA,IAAAC,cAAA,EAAAC,YAAA,EAAAC,YAAA;EAC5C,MAAMC,aAAa,GAAGR,UAAU,CAACE,aAAa,CAAC;EAC/C,MAAM;IAAEO,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGN,KAAK;EAE3C,MAAMO,oBAA2B,GAAAC,aAAA,CAAAA,aAAA,KAC5BR,KAAK;IACRS,OAAO,GAAAR,cAAA,GAAED,KAAK,CAACS,OAAO,cAAAR,cAAA,cAAAA,cAAA,GAAKI,QAAQ,GAAG,aAAa,GAAGK,SAAU;IAChEC,KAAK,GAAAT,YAAA,GACHF,KAAK,CAACW,KAAK,cAAAT,YAAA,cAAAA,YAAA,GACXE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,WAAW,CAACC,KAAK,CAACC,2BAA2B;IAC9DC,aAAa,EAAAP,aAAA;MACXQ,QAAQ,EACNZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,WAAW,CAACC,KAAK,CAC7BI,mCAAmC;MACxCR,OAAO,EACLL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,WAAW,CAACC,KAAK,CAC7BK;IAAkC,GACpClB,KAAK,CAACe,aAAa,CACvB;IACDI,IAAI,EAAEb,QAAQ,GACV,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAClE,CACE,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;IACLc,KAAK,GAAAjB,YAAA,GAAEH,KAAK,CAACoB,KAAK,cAAAjB,YAAA,cAAAA,YAAA,GAAI;EAAQ,EAC/B;EAED,OAAOR,KAAA,CAAA0B,aAAA,CAACxB,eAAe,EAAKU,oBAAuB,CAAC;AACtD;AAEAR,sBAAsB,CAACuB,qBAAqB,GAAG,IAAI;AACnD,eAAevB,sBAAsB"}
@@ -9,6 +9,7 @@ import FieldBlock from '../../FieldBlock';
9
9
  import { useDataValue } from '../../hooks';
10
10
  import { pickSpacingProps } from '../../../../components/flex/utils';
11
11
  function NumberComponent(props) {
12
+ var _props$schema, _props$width;
12
13
  const {
13
14
  currency,
14
15
  percent,
@@ -45,7 +46,7 @@ function NumberComponent(props) {
45
46
  };
46
47
  }, [currency, percent, mask, decimalLimit, decimalSymbol, thousandSeparator, prefix, suffix]);
47
48
  const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
48
- schema: props.schema ?? {
49
+ schema: (_props$schema = props.schema) !== null && _props$schema !== void 0 ? _props$schema : {
49
50
  type: 'number',
50
51
  minimum: props.minimum,
51
52
  maximum: props.maximum,
@@ -68,7 +69,7 @@ function NumberComponent(props) {
68
69
  }
69
70
  return numberValue;
70
71
  },
71
- width: props.width ?? 'medium'
72
+ width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium'
72
73
  });
73
74
  const {
74
75
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["React","useMemo","InputMasked","HelpButton","classnames","FieldBlock","useDataValue","pickSpacingProps","NumberComponent","props","currency","percent","mask","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","rightAligned","maskProps","as_currency","as_percent","as_number","number_mask","includeThousandsSeparator","undefined","thousandsSeparatorSymbol","preparedProps","_objectSpread","schema","type","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","toInput","external","fromInput","value","numberValue","emptyValue","width","id","name","className","autoComplete","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","disabled","info","warning","error","help","handleFocus","handleBlur","handleChange","createElement","_extends","forId","contentsWidth","right","on_focus","on_blur","on_change","status","stretch","title","contents","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { InputMasked, HelpButton } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n rightAligned?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const {\n currency,\n percent,\n mask,\n thousandSeparator,\n decimalSymbol,\n decimalLimit = 12,\n prefix,\n suffix,\n rightAligned,\n } = props\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n if (currency) {\n return {\n as_currency: currency,\n }\n }\n if (percent) {\n return {\n as_percent: percent,\n }\n }\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n decimalLimit,\n decimalSymbol,\n includeThousandsSeparator: thousandSeparator !== undefined,\n thousandsSeparatorSymbol:\n thousandSeparator === true ? ' ' : thousandSeparator,\n prefix,\n suffix,\n },\n }\n }, [\n currency,\n percent,\n mask,\n decimalLimit,\n decimalSymbol,\n thousandSeparator,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n schema: 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 toInput: (external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n },\n fromInput: ({\n value,\n numberValue,\n }: {\n value: string\n numberValue: number\n }) => {\n if (value === '') {\n return emptyValue\n }\n return numberValue\n },\n width: props.width ?? 'medium',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputClassName,\n layout,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n disabled,\n info,\n warning,\n error,\n help,\n emptyValue,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-number', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n <InputMasked\n id={id}\n name={name}\n autoComplete={autoComplete}\n className={classnames(\n 'dnb-forms-field-number__input',\n inputClassName\n )}\n placeholder={placeholder}\n value={value}\n {...maskProps}\n right={rightAligned}\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n status={error ? 'error' : undefined}\n stretch={width !== undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Number.js","names":["React","useMemo","InputMasked","HelpButton","classnames","FieldBlock","useDataValue","pickSpacingProps","NumberComponent","props","_props$schema","_props$width","currency","percent","mask","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","rightAligned","maskProps","as_currency","as_percent","as_number","number_mask","includeThousandsSeparator","undefined","thousandsSeparatorSymbol","preparedProps","_objectSpread","schema","type","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","toInput","external","fromInput","value","numberValue","emptyValue","width","id","name","className","autoComplete","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","disabled","info","warning","error","help","handleFocus","handleBlur","handleChange","createElement","_extends","forId","contentsWidth","right","on_focus","on_blur","on_change","status","stretch","title","contents","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { InputMasked, HelpButton } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n rightAligned?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const {\n currency,\n percent,\n mask,\n thousandSeparator,\n decimalSymbol,\n decimalLimit = 12,\n prefix,\n suffix,\n rightAligned,\n } = props\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n if (currency) {\n return {\n as_currency: currency,\n }\n }\n if (percent) {\n return {\n as_percent: percent,\n }\n }\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n decimalLimit,\n decimalSymbol,\n includeThousandsSeparator: thousandSeparator !== undefined,\n thousandsSeparatorSymbol:\n thousandSeparator === true ? ' ' : thousandSeparator,\n prefix,\n suffix,\n },\n }\n }, [\n currency,\n percent,\n mask,\n decimalLimit,\n decimalSymbol,\n thousandSeparator,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n schema: 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 toInput: (external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n },\n fromInput: ({\n value,\n numberValue,\n }: {\n value: string\n numberValue: number\n }) => {\n if (value === '') {\n return emptyValue\n }\n return numberValue\n },\n width: props.width ?? 'medium',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputClassName,\n layout,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n disabled,\n info,\n warning,\n error,\n help,\n emptyValue,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-number', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n <InputMasked\n id={id}\n name={name}\n autoComplete={autoComplete}\n className={classnames(\n 'dnb-forms-field-number__input',\n inputClassName\n )}\n placeholder={placeholder}\n value={value}\n {...maskProps}\n right={rightAligned}\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n status={error ? 'error' : undefined}\n stretch={width !== undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
@@ -9,6 +9,6 @@ export default function Option({
9
9
  return React.createElement("span", {
10
10
  className: classnames('dnb-forms-field-option', className),
11
11
  role: "option"
12
- }, children ?? title, text);
12
+ }, children !== null && children !== void 0 ? children : title, text);
13
13
  }
14
14
  //# sourceMappingURL=Option.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","names":["React","classnames","Option","className","title","text","children","createElement","role"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldProps } from '../../types'\n\nexport type Props = 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"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AASnC,eAAe,SAASC,MAAMA,CAAC;EAC7BC,SAAS;EACTC,KAAK;EACLC,IAAI;EACJC;AACK,CAAC,EAAE;EACR,OACEN,KAAA,CAAAO,aAAA;IACEJ,SAAS,EAAEF,UAAU,CAAC,wBAAwB,EAAEE,SAAS,CAAE;IAE3DK,IAAI,EAAC;EAAQ,GAEZF,QAAQ,IAAIF,KAAK,EACjBC,IACG,CAAC;AAEX"}
1
+ {"version":3,"file":"Option.js","names":["React","classnames","Option","className","title","text","children","createElement","role"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldProps } from '../../types'\n\nexport type Props = 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"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AASnC,eAAe,SAASC,MAAMA,CAAC;EAC7BC,SAAS;EACTC,KAAK;EACLC,IAAI;EACJC;AACK,CAAC,EAAE;EACR,OACEN,KAAA,CAAAO,aAAA;IACEJ,SAAS,EAAEF,UAAU,CAAC,wBAAwB,EAAEE,SAAS,CAAE;IAE3DK,IAAI,EAAC;EAAQ,GAEZF,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIF,KAAK,EACjBC,IACG,CAAC;AAEX"}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -5,6 +7,7 @@ import React, { useContext } from 'react';
5
7
  import StringComponent from '../String';
6
8
  import SharedContext from '../../../../shared/Context';
7
9
  function OrganizationNumber(props) {
10
+ var _props$pattern, _props$label, _props$width;
8
11
  const sharedContext = useContext(SharedContext);
9
12
  const {
10
13
  validate = true,
@@ -12,14 +15,14 @@ function OrganizationNumber(props) {
12
15
  } = props;
13
16
  const stringComponentProps = _objectSpread(_objectSpread({}, props), {}, {
14
17
  className: 'dnb-forms-field-organization-number',
15
- pattern: props.pattern ?? (validate ? '^[0-9]{9}$' : undefined),
16
- label: props.label ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.organizationNumberLabel),
18
+ pattern: (_props$pattern = props.pattern) !== null && _props$pattern !== void 0 ? _props$pattern : validate ? '^[0-9]{9}$' : undefined,
19
+ label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.organizationNumberLabel,
17
20
  errorMessages: _objectSpread({
18
21
  required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.organizationNumberErrorRequired,
19
22
  pattern: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.organizationNumberErrorPattern
20
23
  }, props.errorMessages),
21
24
  mask: omitMask ? [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/] : [/\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/],
22
- width: props.width ?? 'medium'
25
+ width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium'
23
26
  });
24
27
  return React.createElement(StringComponent, stringComponentProps);
25
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationNumber.js","names":["React","useContext","StringComponent","SharedContext","OrganizationNumber","props","sharedContext","validate","omitMask","stringComponentProps","_objectSpread","className","pattern","undefined","label","translation","Forms","organizationNumberLabel","errorMessages","required","organizationNumberErrorRequired","organizationNumberErrorPattern","mask","width","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/OrganizationNumber/OrganizationNumber.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringComponent, { Props as StringComponentProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = StringComponentProps & {\n validate?: boolean\n omitMask?: boolean\n}\n\nfunction OrganizationNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const { validate = true, omitMask } = props\n\n const stringComponentProps: Props = {\n ...props,\n className: 'dnb-forms-field-organization-number',\n pattern: props.pattern ?? (validate ? '^[0-9]{9}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.organizationNumberLabel,\n errorMessages: {\n required:\n sharedContext?.translation.Forms.organizationNumberErrorRequired,\n pattern:\n sharedContext?.translation.Forms.organizationNumberErrorPattern,\n ...props.errorMessages,\n },\n mask: omitMask\n ? [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n : [/\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/],\n width: props.width ?? 'medium',\n }\n\n return <StringComponent {...stringComponentProps} />\n}\n\nOrganizationNumber._supportsSpacingProps = true\nexport default OrganizationNumber\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,eAAe,MAAyC,WAAW;AAC1E,OAAOC,aAAa,MAAM,4BAA4B;AAOtD,SAASC,kBAAkBA,CAACC,KAAY,EAAE;EACxC,MAAMC,aAAa,GAAGL,UAAU,CAACE,aAAa,CAAC;EAC/C,MAAM;IAAEI,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAE3C,MAAMI,oBAA2B,GAAAC,aAAA,CAAAA,aAAA,KAC5BL,KAAK;IACRM,SAAS,EAAE,qCAAqC;IAChDC,OAAO,EAAEP,KAAK,CAACO,OAAO,KAAKL,QAAQ,GAAG,YAAY,GAAGM,SAAS,CAAC;IAC/DC,KAAK,EACHT,KAAK,CAACS,KAAK,KACXR,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,WAAW,CAACC,KAAK,CAACC,uBAAuB;IAC1DC,aAAa,EAAAR,aAAA;MACXS,QAAQ,EACNb,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,WAAW,CAACC,KAAK,CAACI,+BAA+B;MAClER,OAAO,EACLN,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,WAAW,CAACC,KAAK,CAACK;IAA8B,GAC9DhB,KAAK,CAACa,aAAa,CACvB;IACDI,IAAI,EAAEd,QAAQ,GACV,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GACtD,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACpEe,KAAK,EAAElB,KAAK,CAACkB,KAAK,IAAI;EAAQ,EAC/B;EAED,OAAOvB,KAAA,CAAAwB,aAAA,CAACtB,eAAe,EAAKO,oBAAuB,CAAC;AACtD;AAEAL,kBAAkB,CAACqB,qBAAqB,GAAG,IAAI;AAC/C,eAAerB,kBAAkB"}
1
+ {"version":3,"file":"OrganizationNumber.js","names":["React","useContext","StringComponent","SharedContext","OrganizationNumber","props","_props$pattern","_props$label","_props$width","sharedContext","validate","omitMask","stringComponentProps","_objectSpread","className","pattern","undefined","label","translation","Forms","organizationNumberLabel","errorMessages","required","organizationNumberErrorRequired","organizationNumberErrorPattern","mask","width","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/OrganizationNumber/OrganizationNumber.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport StringComponent, { Props as StringComponentProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = StringComponentProps & {\n validate?: boolean\n omitMask?: boolean\n}\n\nfunction OrganizationNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const { validate = true, omitMask } = props\n\n const stringComponentProps: Props = {\n ...props,\n className: 'dnb-forms-field-organization-number',\n pattern: props.pattern ?? (validate ? '^[0-9]{9}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.organizationNumberLabel,\n errorMessages: {\n required:\n sharedContext?.translation.Forms.organizationNumberErrorRequired,\n pattern:\n sharedContext?.translation.Forms.organizationNumberErrorPattern,\n ...props.errorMessages,\n },\n mask: omitMask\n ? [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n : [/\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/],\n width: props.width ?? 'medium',\n }\n\n return <StringComponent {...stringComponentProps} />\n}\n\nOrganizationNumber._supportsSpacingProps = true\nexport default OrganizationNumber\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,eAAe,MAAyC,WAAW;AAC1E,OAAOC,aAAa,MAAM,4BAA4B;AAOtD,SAASC,kBAAkBA,CAACC,KAAY,EAAE;EAAA,IAAAC,cAAA,EAAAC,YAAA,EAAAC,YAAA;EACxC,MAAMC,aAAa,GAAGR,UAAU,CAACE,aAAa,CAAC;EAC/C,MAAM;IAAEO,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGN,KAAK;EAE3C,MAAMO,oBAA2B,GAAAC,aAAA,CAAAA,aAAA,KAC5BR,KAAK;IACRS,SAAS,EAAE,qCAAqC;IAChDC,OAAO,GAAAT,cAAA,GAAED,KAAK,CAACU,OAAO,cAAAT,cAAA,cAAAA,cAAA,GAAKI,QAAQ,GAAG,YAAY,GAAGM,SAAU;IAC/DC,KAAK,GAAAV,YAAA,GACHF,KAAK,CAACY,KAAK,cAAAV,YAAA,cAAAA,YAAA,GACXE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,WAAW,CAACC,KAAK,CAACC,uBAAuB;IAC1DC,aAAa,EAAAR,aAAA;MACXS,QAAQ,EACNb,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,WAAW,CAACC,KAAK,CAACI,+BAA+B;MAClER,OAAO,EACLN,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,WAAW,CAACC,KAAK,CAACK;IAA8B,GAC9DnB,KAAK,CAACgB,aAAa,CACvB;IACDI,IAAI,EAAEd,QAAQ,GACV,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GACtD,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACpEe,KAAK,GAAAlB,YAAA,GAAEH,KAAK,CAACqB,KAAK,cAAAlB,YAAA,cAAAA,YAAA,GAAI;EAAQ,EAC/B;EAED,OAAOR,KAAA,CAAA2B,aAAA,CAACzB,eAAe,EAAKU,oBAAuB,CAAC;AACtD;AAEAR,kBAAkB,CAACwB,qBAAqB,GAAG,IAAI;AAC/C,eAAexB,kBAAkB"}
@@ -9,6 +9,11 @@ export type Props = FieldHelpProps & FieldProps<string, undefined> & {
9
9
  width?: 'large' | 'stretch';
10
10
  onCountryCodeChange?: (value: string | undefined) => void;
11
11
  onNumberChange?: (value: string | undefined) => void;
12
+ } & {
13
+ /**
14
+ * For internal testing purposes
15
+ */
16
+ noAnimation?: boolean;
12
17
  };
13
18
  declare function PhoneNumber(props: Props): import("react/jsx-runtime").JSX.Element;
14
19
  declare namespace PhoneNumber {
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -12,7 +14,6 @@ import FieldBlock from '../../FieldBlock';
12
14
  import { pickSpacingProps } from '../../../../components/flex/utils';
13
15
  import SharedContext from '../../../../shared/Context';
14
16
  function PhoneNumber(props) {
15
- var _sharedContext$locale;
16
17
  const sharedContext = useContext(SharedContext);
17
18
  const defaultProps = {
18
19
  value: '+47',
@@ -46,17 +47,29 @@ function PhoneNumber(props) {
46
47
  onNumberChange
47
48
  } = useDataValue(preparedProps);
48
49
  const [, countryCode, phoneNumber] = value !== undefined ? value.match(/^(\+[^ ]+)? ?(.*)$/) : [undefined, '', ''];
49
- const lang = (_sharedContext$locale = sharedContext.locale) === null || _sharedContext$locale === void 0 ? void 0 : _sharedContext$locale.split('-')[0];
50
- const countryCodeData = useMemo(() => countries.map(country => ({
51
- selectedKey: `+${country.cdc}`,
52
- selected_value: `${country.iso} (+${country.cdc})`,
53
- content: `+${country.cdc} ${country.i18n[lang] ?? country.i18n.en}`
54
- })), [sharedContext.locale]);
50
+ const getCountryData = ({
51
+ filter = null
52
+ } = {}) => {
53
+ var _sharedContext$locale;
54
+ const lang = (_sharedContext$locale = sharedContext.locale) === null || _sharedContext$locale === void 0 ? void 0 : _sharedContext$locale.split('-')[0];
55
+ return countries.filter(({
56
+ cdc
57
+ }) => !filter || `+${cdc}` === filter).sort(({
58
+ i18n: a
59
+ }, {
60
+ i18n: b
61
+ }) => a[lang] > b[lang] ? 1 : -1).map(country => makeObject(country, lang));
62
+ };
63
+ const singleCountryCodeData = useMemo(() => {
64
+ return getCountryData({
65
+ filter: countryCode
66
+ });
67
+ }, []);
55
68
  const handleCountryCodeChange = useCallback(({
56
69
  data
57
70
  }) => {
58
- var _data$selectedKey;
59
- const countryCode = (data === null || data === void 0 ? void 0 : (_data$selectedKey = data.selectedKey) === null || _data$selectedKey === void 0 ? void 0 : _data$selectedKey.trim()) ?? emptyValue;
71
+ var _data$selectedKey$tri, _data$selectedKey;
72
+ const countryCode = (_data$selectedKey$tri = data === null || data === void 0 ? void 0 : (_data$selectedKey = data.selectedKey) === null || _data$selectedKey === void 0 ? void 0 : _data$selectedKey.trim()) !== null && _data$selectedKey$tri !== void 0 ? _data$selectedKey$tri : emptyValue;
60
73
  if (!countryCode && !phoneNumber) {
61
74
  handleChange === null || handleChange === void 0 ? void 0 : handleChange(emptyValue);
62
75
  onCountryCodeChange === null || onCountryCodeChange === void 0 ? void 0 : onCountryCodeChange(emptyValue);
@@ -74,6 +87,15 @@ function PhoneNumber(props) {
74
87
  handleChange === null || handleChange === void 0 ? void 0 : handleChange([countryCode, phoneNumber].filter(Boolean).join(' '));
75
88
  onNumberChange === null || onNumberChange === void 0 ? void 0 : onNumberChange(phoneNumber);
76
89
  }, [countryCode, emptyValue, handleChange, onNumberChange]);
90
+ const onFocusHandler = ({
91
+ dataList,
92
+ updateData
93
+ }) => {
94
+ if (dataList.length < 10) {
95
+ updateData(getCountryData());
96
+ }
97
+ handleFocus();
98
+ };
77
99
  return React.createElement(FieldBlock, _extends({
78
100
  className: classnames('dnb-forms-field-phone-number', className),
79
101
  width: width !== 'stretch' ? width : undefined,
@@ -82,26 +104,28 @@ function PhoneNumber(props) {
82
104
  error: error
83
105
  }, pickSpacingProps(props)), React.createElement(Flex.Horizontal, null, React.createElement(Autocomplete, {
84
106
  className: classnames('dnb-forms-field-phone-number__country-code', countryCodeFieldClassName),
85
- placeholder: countryCodePlaceholder ?? ' ',
107
+ placeholder: countryCodePlaceholder !== null && countryCodePlaceholder !== void 0 ? countryCodePlaceholder : ' ',
86
108
  label_direction: layout,
87
- label: countryCodeLabel ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.countryCodeLabel),
88
- data: countryCodeData,
109
+ label: countryCodeLabel !== null && countryCodeLabel !== void 0 ? countryCodeLabel : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.countryCodeLabel,
110
+ mode: "async",
111
+ data: singleCountryCodeData,
89
112
  value: countryCode,
90
113
  disabled: disabled,
91
- on_focus: handleFocus,
114
+ on_focus: onFocusHandler,
92
115
  on_blur: handleBlur,
93
116
  on_change: handleCountryCodeChange,
94
117
  independent_width: true,
95
118
  search_numbers: true,
119
+ no_animation: props.noAnimation,
96
120
  stretch: width === 'stretch'
97
121
  }), React.createElement(StringComponent, {
98
122
  className: classnames('dnb-forms-field-phone-number__number', numberFieldClassName),
99
123
  type: "tel",
100
124
  emptyValue: "",
101
125
  layout: "vertical",
102
- label: label ?? ' ',
103
- placeholder: placeholder ?? '00 00 00 00',
104
- mask: numberMask ?? [/\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/],
126
+ label: label !== null && label !== void 0 ? label : ' ',
127
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : '00 00 00 00',
128
+ mask: numberMask !== null && numberMask !== void 0 ? numberMask : [/\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/],
105
129
  onFocus: handleFocus,
106
130
  onBlur: handleBlur,
107
131
  onChange: handleNumberChange,
@@ -114,6 +138,14 @@ function PhoneNumber(props) {
114
138
  help: help
115
139
  })));
116
140
  }
141
+ function makeObject(country, lang) {
142
+ var _country$i18n$lang;
143
+ return {
144
+ selectedKey: `+${country.cdc}`,
145
+ selected_value: `${country.iso} (+${country.cdc})`,
146
+ content: `+${country.cdc} ${(_country$i18n$lang = country.i18n[lang]) !== null && _country$i18n$lang !== void 0 ? _country$i18n$lang : country.i18n.en}`
147
+ };
148
+ }
117
149
  PhoneNumber._supportsSpacingProps = true;
118
150
  export default PhoneNumber;
119
151
  //# sourceMappingURL=PhoneNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","names":["React","useMemo","useContext","useCallback","Autocomplete","Flex","classnames","countries","StringComponent","useDataValue","FieldBlock","pickSpacingProps","SharedContext","PhoneNumber","props","_sharedContext$locale","sharedContext","defaultProps","value","errorMessages","_objectSpread","required","translation","Forms","phoneNumberErrorRequired","preparedProps","className","countryCodeFieldClassName","numberFieldClassName","layout","countryCodePlaceholder","placeholder","countryCodeLabel","label","phoneNumberLabel","numberMask","emptyValue","info","warning","error","disabled","width","help","handleFocus","handleBlur","handleChange","onCountryCodeChange","onNumberChange","countryCode","phoneNumber","undefined","match","lang","locale","split","countryCodeData","map","country","selectedKey","cdc","selected_value","iso","content","i18n","en","handleCountryCodeChange","data","_data$selectedKey","trim","filter","Boolean","join","handleNumberChange","createElement","_extends","Horizontal","label_direction","on_focus","on_blur","on_change","independent_width","search_numbers","stretch","type","mask","onFocus","onBlur","onChange","_supportsSpacingProps"],"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 from '../../constants/countries'\nimport StringComponent from '../String'\nimport { useDataValue } from '../../hooks'\nimport FieldBlock from '../../FieldBlock'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n width?: 'large' | 'stretch'\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n }\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const defaultProps: Partial<Props> = {\n // Important for the default value to be defined here, and not after the useDataValue call, to avoid the UI jumping\n // back to +47 once the user empty the field so handleChange send out undefined.\n value: '+47',\n errorMessages: {\n required: sharedContext?.translation.Forms.phoneNumberErrorRequired,\n ...props?.errorMessages,\n },\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n }\n\n const {\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n layout = 'vertical',\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = sharedContext?.translation.Forms.phoneNumberLabel,\n value,\n numberMask,\n emptyValue,\n info,\n warning,\n error,\n disabled,\n width = 'large',\n help,\n handleFocus,\n handleBlur,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n } = useDataValue(preparedProps)\n\n const [, countryCode, phoneNumber] =\n value !== undefined\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n\n const lang = sharedContext.locale?.split('-')[0]\n const countryCodeData = useMemo(\n () =>\n countries.map((country) => ({\n selectedKey: `+${country.cdc}`,\n selected_value: `${country.iso} (+${country.cdc})`,\n content: `+${country.cdc} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n })),\n [sharedContext.locale]\n )\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = data?.selectedKey?.trim() ?? emptyValue\n\n if (!countryCode && !phoneNumber) {\n handleChange?.(emptyValue)\n onCountryCodeChange?.(emptyValue)\n return\n }\n\n handleChange?.([countryCode, phoneNumber].filter(Boolean).join(' '))\n onCountryCodeChange?.(countryCode)\n },\n [phoneNumber, emptyValue, handleChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (phoneNumber: string) => {\n if (!countryCode && !phoneNumber) {\n handleChange?.(emptyValue)\n onNumberChange?.(emptyValue)\n return\n }\n\n handleChange?.([countryCode, phoneNumber].filter(Boolean).join(' '))\n onNumberChange?.(phoneNumber)\n },\n [countryCode, emptyValue, handleChange, onNumberChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={width !== 'stretch' ? width : undefined}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal>\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n placeholder={countryCodePlaceholder ?? ' '}\n label_direction={layout}\n label={\n countryCodeLabel ??\n sharedContext?.translation.Forms.countryCodeLabel\n }\n data={countryCodeData}\n value={countryCode}\n disabled={disabled}\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n independent_width\n search_numbers\n stretch={width === 'stretch'}\n />\n\n <StringComponent\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n emptyValue=\"\"\n layout=\"vertical\"\n label={label ?? ' '}\n placeholder={placeholder ?? '00 00 00 00'}\n mask={\n numberMask ?? [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ]\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={phoneNumber}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={help}\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneNumber.js","names":["React","useMemo","useContext","useCallback","Autocomplete","Flex","classnames","countries","StringComponent","useDataValue","FieldBlock","pickSpacingProps","SharedContext","PhoneNumber","props","sharedContext","defaultProps","value","errorMessages","_objectSpread","required","translation","Forms","phoneNumberErrorRequired","preparedProps","className","countryCodeFieldClassName","numberFieldClassName","layout","countryCodePlaceholder","placeholder","countryCodeLabel","label","phoneNumberLabel","numberMask","emptyValue","info","warning","error","disabled","width","help","handleFocus","handleBlur","handleChange","onCountryCodeChange","onNumberChange","countryCode","phoneNumber","undefined","match","getCountryData","filter","_sharedContext$locale","lang","locale","split","cdc","sort","i18n","a","b","map","country","makeObject","singleCountryCodeData","handleCountryCodeChange","data","_data$selectedKey$tri","_data$selectedKey","selectedKey","trim","Boolean","join","handleNumberChange","onFocusHandler","dataList","updateData","length","createElement","_extends","Horizontal","label_direction","mode","on_focus","on_blur","on_change","independent_width","search_numbers","no_animation","noAnimation","stretch","type","mask","onFocus","onBlur","onChange","_country$i18n$lang","selected_value","iso","content","en","_supportsSpacingProps"],"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 from '../../constants/countries'\nimport StringComponent from '../String'\nimport { useDataValue } from '../../hooks'\nimport FieldBlock from '../../FieldBlock'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n width?: 'large' | 'stretch'\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n } & {\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const defaultProps: Partial<Props> = {\n // Important for the default value to be defined here, and not after the useDataValue call, to avoid the UI jumping\n // back to +47 once the user empty the field so handleChange send out undefined.\n value: '+47',\n errorMessages: {\n required: sharedContext?.translation.Forms.phoneNumberErrorRequired,\n ...props?.errorMessages,\n },\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n }\n\n const {\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n layout = 'vertical',\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = sharedContext?.translation.Forms.phoneNumberLabel,\n value,\n numberMask,\n emptyValue,\n info,\n warning,\n error,\n disabled,\n width = 'large',\n help,\n handleFocus,\n handleBlur,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n } = useDataValue(preparedProps)\n\n const [, countryCode, phoneNumber] =\n value !== undefined\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n\n const getCountryData = ({ filter = null } = {}) => {\n const lang = sharedContext.locale?.split('-')[0]\n return countries\n .filter(({ cdc }) => !filter || `+${cdc}` === filter)\n .sort(({ i18n: a }, { i18n: b }) => (a[lang] > b[lang] ? 1 : -1))\n .map((country) => makeObject(country, lang))\n }\n\n const singleCountryCodeData = useMemo(() => {\n return getCountryData({ filter: countryCode })\n }, [])\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = data?.selectedKey?.trim() ?? emptyValue\n\n if (!countryCode && !phoneNumber) {\n handleChange?.(emptyValue)\n onCountryCodeChange?.(emptyValue)\n return\n }\n\n handleChange?.([countryCode, phoneNumber].filter(Boolean).join(' '))\n onCountryCodeChange?.(countryCode)\n },\n [phoneNumber, emptyValue, handleChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (phoneNumber: string) => {\n if (!countryCode && !phoneNumber) {\n handleChange?.(emptyValue)\n onNumberChange?.(emptyValue)\n return\n }\n\n handleChange?.([countryCode, phoneNumber].filter(Boolean).join(' '))\n onNumberChange?.(phoneNumber)\n },\n [countryCode, emptyValue, handleChange, onNumberChange]\n )\n\n const onFocusHandler = ({ dataList, updateData }) => {\n // because there can be more than one country with same cdc\n if (dataList.length < 10) {\n updateData(getCountryData())\n }\n handleFocus()\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={width !== 'stretch' ? width : undefined}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal>\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n placeholder={countryCodePlaceholder ?? ' '}\n label_direction={layout}\n label={\n countryCodeLabel ??\n sharedContext?.translation.Forms.countryCodeLabel\n }\n mode=\"async\"\n data={singleCountryCodeData}\n value={countryCode}\n disabled={disabled}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n independent_width\n search_numbers\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n\n <StringComponent\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n emptyValue=\"\"\n layout=\"vertical\"\n label={label ?? ' '}\n placeholder={placeholder ?? '00 00 00 00'}\n mask={\n numberMask ?? [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ]\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={phoneNumber}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={help}\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\ntype CountryType = {\n cdc: string\n iso: string\n i18n: {\n en: string\n }\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: `+${country.cdc}`,\n selected_value: `${country.iso} (+${country.cdc})`,\n content: `+${country.cdc} ${country.i18n[lang] ?? country.i18n.en}`,\n }\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
@@ -10,6 +12,7 @@ import SharedContext from '../../../../shared/Context';
10
12
  import FieldBlock from '../../FieldBlock';
11
13
  import StringComponent from '../String';
12
14
  function PostalCodeAndCity(props) {
15
+ var _postalCode$pattern, _postalCode$label, _postalCode$placehold, _city$label;
13
16
  const sharedContext = useContext(SharedContext);
14
17
  const {
15
18
  postalCode = {},
@@ -23,19 +26,19 @@ function PostalCodeAndCity(props) {
23
26
  }, fieldBlockProps), React.createElement("div", {
24
27
  className: 'dnb-forms-field-postal-code-and-city__fields' + (width !== undefined ? ` dnb-forms-field-postal-code-and-city--width-${width}` : "")
25
28
  }, React.createElement(StringComponent, _extends({}, postalCode, {
26
- pattern: postalCode.pattern ?? '^[0-9]{4}$',
29
+ pattern: (_postalCode$pattern = postalCode.pattern) !== null && _postalCode$pattern !== void 0 ? _postalCode$pattern : '^[0-9]{4}$',
27
30
  className: classnames('dnb-forms-field-postal-code-and-city__postal-code', postalCode.className),
28
- label: postalCode.label ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeLabel),
31
+ label: (_postalCode$label = postalCode.label) !== null && _postalCode$label !== void 0 ? _postalCode$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeLabel,
29
32
  errorMessages: _objectSpread({
30
33
  required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeErrorRequired,
31
34
  pattern: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.postalCodeErrorPattern
32
35
  }, postalCode.errorMessages),
33
- placeholder: postalCode.placeholder ?? '0000',
36
+ placeholder: (_postalCode$placehold = postalCode.placeholder) !== null && _postalCode$placehold !== void 0 ? _postalCode$placehold : '0000',
34
37
  width: false,
35
38
  inputClassName: "dnb-forms-field-postal-code-and-city__postal-code-input"
36
39
  })), React.createElement(StringComponent, _extends({}, city, {
37
40
  className: classnames('dnb-forms-field-postal-code-and-city__city', city.className),
38
- label: city.label ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.cityLabel),
41
+ label: (_city$label = city.label) !== null && _city$label !== void 0 ? _city$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.cityLabel,
39
42
  errorMessages: _objectSpread({
40
43
  required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.cityErrorRequired
41
44
  }, city.errorMessages),
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCodeAndCity.js","names":["React","useContext","classnames","SharedContext","FieldBlock","StringComponent","PostalCodeAndCity","props","sharedContext","postalCode","city","width","help","fieldBlockProps","_objectWithoutProperties","_excluded","createElement","_extends","className","undefined","pattern","label","translation","Forms","postalCodeLabel","errorMessages","_objectSpread","required","postalCodeErrorRequired","postalCodeErrorPattern","placeholder","inputClassName","cityLabel","cityErrorRequired","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringComponent, { Props as StringComponentProps } from '../String'\nimport { FieldHelpProps } from '../../types'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Record<'postalCode' | 'city', StringComponentProps> & {\n width?: 'small' | 'medium' | 'large'\n }\n\nfunction PostalCodeAndCity(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const {\n postalCode = {},\n city = {},\n width = 'large',\n help,\n ...fieldBlockProps\n } = props\n\n return (\n <FieldBlock\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n >\n <div\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__fields',\n width !== undefined &&\n `dnb-forms-field-postal-code-and-city--width-${width}`\n )}\n >\n <StringComponent\n {...postalCode}\n pattern={postalCode.pattern ?? '^[0-9]{4}$'}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__postal-code',\n postalCode.className\n )}\n label={\n postalCode.label ??\n sharedContext?.translation.Forms.postalCodeLabel\n }\n errorMessages={{\n required:\n sharedContext?.translation.Forms.postalCodeErrorRequired,\n pattern:\n sharedContext?.translation.Forms.postalCodeErrorPattern,\n ...postalCode.errorMessages,\n }}\n placeholder={postalCode.placeholder ?? '0000'}\n width={false}\n inputClassName=\"dnb-forms-field-postal-code-and-city__postal-code-input\"\n />\n <StringComponent\n {...city}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__city',\n city.className\n )}\n label={city.label ?? sharedContext?.translation.Forms.cityLabel}\n errorMessages={{\n required: sharedContext?.translation.Forms.cityErrorRequired,\n ...city.errorMessages,\n }}\n width=\"stretch\"\n help={help}\n />\n </div>\n </FieldBlock>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,UAAU,MAAoC,kBAAkB;AACvE,OAAOC,eAAe,MAAyC,WAAW;AAS1E,SAASC,iBAAiBA,CAACC,KAAY,EAAE;EACvC,MAAMC,aAAa,GAAGP,UAAU,CAACE,aAAa,CAAC;EAE/C,MAAM;MACJM,UAAU,GAAG,CAAC,CAAC;MACfC,IAAI,GAAG,CAAC,CAAC;MACTC,KAAK,GAAG,OAAO;MACfC;IAEF,CAAC,GAAGL,KAAK;IADJM,eAAe,GAAAC,wBAAA,CAChBP,KAAK,EAAAQ,SAAA;EAET,OACEf,KAAA,CAAAgB,aAAA,CAACZ,UAAU,EAAAa,QAAA;IACTC,SAAS,EAAEhB,UAAU,CACnB,sCAAsC,EACtCK,KAAK,CAACW,SACR;EAAE,GACEL,eAAe,GAEnBb,KAAA,CAAAgB,aAAA;IACEE,SAAS,EACP,8CAA8C,IAC9CP,KAAK,KAAKQ,SAAS,mDAC8BR,KAAM;EACvD,GAEFX,KAAA,CAAAgB,aAAA,CAACX,eAAe,EAAAY,QAAA,KACVR,UAAU;IACdW,OAAO,EAAEX,UAAU,CAACW,OAAO,IAAI,YAAa;IAC5CF,SAAS,EAAEhB,UAAU,CACnB,mDAAmD,EACnDO,UAAU,CAACS,SACb,CAAE;IACFG,KAAK,EACHZ,UAAU,CAACY,KAAK,KAChBb,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACC,eAAe,CACjD;IACDC,aAAa,EAAAC,aAAA;MACXC,QAAQ,EACNnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACK,uBAAuB;MAC1DR,OAAO,EACLZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACM;IAAsB,GACtDpB,UAAU,CAACgB,aAAa,CAC3B;IACFK,WAAW,EAAErB,UAAU,CAACqB,WAAW,IAAI,MAAO;IAC9CnB,KAAK,EAAE,KAAM;IACboB,cAAc,EAAC;EAAyD,EACzE,CAAC,EACF/B,KAAA,CAAAgB,aAAA,CAACX,eAAe,EAAAY,QAAA,KACVP,IAAI;IACRQ,SAAS,EAAEhB,UAAU,CACnB,4CAA4C,EAC5CQ,IAAI,CAACQ,SACP,CAAE;IACFG,KAAK,EAAEX,IAAI,CAACW,KAAK,KAAIb,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACS,SAAS,CAAC;IAChEP,aAAa,EAAAC,aAAA;MACXC,QAAQ,EAAEnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACU;IAAiB,GACzDvB,IAAI,CAACe,aAAa,CACrB;IACFd,KAAK,EAAC,SAAS;IACfC,IAAI,EAAEA;EAAK,EACZ,CACE,CACK,CAAC;AAEjB;AAEAN,iBAAiB,CAAC4B,qBAAqB,GAAG,IAAI;AAC9C,eAAe5B,iBAAiB"}
1
+ {"version":3,"file":"PostalCodeAndCity.js","names":["React","useContext","classnames","SharedContext","FieldBlock","StringComponent","PostalCodeAndCity","props","_postalCode$pattern","_postalCode$label","_postalCode$placehold","_city$label","sharedContext","postalCode","city","width","help","fieldBlockProps","_objectWithoutProperties","_excluded","createElement","_extends","className","undefined","pattern","label","translation","Forms","postalCodeLabel","errorMessages","_objectSpread","required","postalCodeErrorRequired","postalCodeErrorPattern","placeholder","inputClassName","cityLabel","cityErrorRequired","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringComponent, { Props as StringComponentProps } from '../String'\nimport { FieldHelpProps } from '../../types'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Record<'postalCode' | 'city', StringComponentProps> & {\n width?: 'small' | 'medium' | 'large'\n }\n\nfunction PostalCodeAndCity(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const {\n postalCode = {},\n city = {},\n width = 'large',\n help,\n ...fieldBlockProps\n } = props\n\n return (\n <FieldBlock\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n >\n <div\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__fields',\n width !== undefined &&\n `dnb-forms-field-postal-code-and-city--width-${width}`\n )}\n >\n <StringComponent\n {...postalCode}\n pattern={postalCode.pattern ?? '^[0-9]{4}$'}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__postal-code',\n postalCode.className\n )}\n label={\n postalCode.label ??\n sharedContext?.translation.Forms.postalCodeLabel\n }\n errorMessages={{\n required:\n sharedContext?.translation.Forms.postalCodeErrorRequired,\n pattern:\n sharedContext?.translation.Forms.postalCodeErrorPattern,\n ...postalCode.errorMessages,\n }}\n placeholder={postalCode.placeholder ?? '0000'}\n width={false}\n inputClassName=\"dnb-forms-field-postal-code-and-city__postal-code-input\"\n />\n <StringComponent\n {...city}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__city',\n city.className\n )}\n label={city.label ?? sharedContext?.translation.Forms.cityLabel}\n errorMessages={{\n required: sharedContext?.translation.Forms.cityErrorRequired,\n ...city.errorMessages,\n }}\n width=\"stretch\"\n help={help}\n />\n </div>\n </FieldBlock>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,UAAU,MAAoC,kBAAkB;AACvE,OAAOC,eAAe,MAAyC,WAAW;AAS1E,SAASC,iBAAiBA,CAACC,KAAY,EAAE;EAAA,IAAAC,mBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,WAAA;EACvC,MAAMC,aAAa,GAAGX,UAAU,CAACE,aAAa,CAAC;EAE/C,MAAM;MACJU,UAAU,GAAG,CAAC,CAAC;MACfC,IAAI,GAAG,CAAC,CAAC;MACTC,KAAK,GAAG,OAAO;MACfC;IAEF,CAAC,GAAGT,KAAK;IADJU,eAAe,GAAAC,wBAAA,CAChBX,KAAK,EAAAY,SAAA;EAET,OACEnB,KAAA,CAAAoB,aAAA,CAAChB,UAAU,EAAAiB,QAAA;IACTC,SAAS,EAAEpB,UAAU,CACnB,sCAAsC,EACtCK,KAAK,CAACe,SACR;EAAE,GACEL,eAAe,GAEnBjB,KAAA,CAAAoB,aAAA;IACEE,SAAS,EACP,8CAA8C,IAC9CP,KAAK,KAAKQ,SAAS,mDAC8BR,KAAM;EACvD,GAEFf,KAAA,CAAAoB,aAAA,CAACf,eAAe,EAAAgB,QAAA,KACVR,UAAU;IACdW,OAAO,GAAAhB,mBAAA,GAAEK,UAAU,CAACW,OAAO,cAAAhB,mBAAA,cAAAA,mBAAA,GAAI,YAAa;IAC5Cc,SAAS,EAAEpB,UAAU,CACnB,mDAAmD,EACnDW,UAAU,CAACS,SACb,CAAE;IACFG,KAAK,GAAAhB,iBAAA,GACHI,UAAU,CAACY,KAAK,cAAAhB,iBAAA,cAAAA,iBAAA,GAChBG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACC,eAClC;IACDC,aAAa,EAAAC,aAAA;MACXC,QAAQ,EACNnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACK,uBAAuB;MAC1DR,OAAO,EACLZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACM;IAAsB,GACtDpB,UAAU,CAACgB,aAAa,CAC3B;IACFK,WAAW,GAAAxB,qBAAA,GAAEG,UAAU,CAACqB,WAAW,cAAAxB,qBAAA,cAAAA,qBAAA,GAAI,MAAO;IAC9CK,KAAK,EAAE,KAAM;IACboB,cAAc,EAAC;EAAyD,EACzE,CAAC,EACFnC,KAAA,CAAAoB,aAAA,CAACf,eAAe,EAAAgB,QAAA,KACVP,IAAI;IACRQ,SAAS,EAAEpB,UAAU,CACnB,4CAA4C,EAC5CY,IAAI,CAACQ,SACP,CAAE;IACFG,KAAK,GAAAd,WAAA,GAAEG,IAAI,CAACW,KAAK,cAAAd,WAAA,cAAAA,WAAA,GAAIC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACS,SAAU;IAChEP,aAAa,EAAAC,aAAA;MACXC,QAAQ,EAAEnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEc,WAAW,CAACC,KAAK,CAACU;IAAiB,GACzDvB,IAAI,CAACe,aAAa,CACrB;IACFd,KAAK,EAAC,SAAS;IACfC,IAAI,EAAEA;EAAK,EACZ,CACE,CACK,CAAC;AAEjB;AAEAV,iBAAiB,CAACgC,qBAAqB,GAAG,IAAI;AAC9C,eAAehC,iBAAiB"}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -7,21 +9,24 @@ import Option from '../Option';
7
9
  import countries from '../../constants/countries';
8
10
  import SharedContext from '../../../../shared/Context';
9
11
  function SelectCountry(props) {
10
- var _sharedContext$locale;
12
+ var _props$placeholder, _props$label, _sharedContext$locale;
11
13
  const sharedContext = useContext(SharedContext);
12
14
  const selectComponentProps = _objectSpread(_objectSpread({}, props), {}, {
13
- placeholder: props.placeholder ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryPlaceholder),
14
- label: props.label ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryLabel),
15
+ placeholder: (_props$placeholder = props.placeholder) !== null && _props$placeholder !== void 0 ? _props$placeholder : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryPlaceholder,
16
+ label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryLabel,
15
17
  errorMessages: _objectSpread({
16
18
  required: sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectCountryErrorRequired
17
19
  }, props.errorMessages)
18
20
  });
19
21
  const lang = (_sharedContext$locale = sharedContext.locale) === null || _sharedContext$locale === void 0 ? void 0 : _sharedContext$locale.split('-')[0];
20
- const countryOptions = useMemo(() => countries.map(country => React.createElement(Option, {
21
- key: country.iso,
22
- value: country.iso,
23
- title: country.i18n[lang] ?? country.i18n.en
24
- })), [sharedContext.locale]);
22
+ const countryOptions = useMemo(() => countries.map(country => {
23
+ var _country$i18n$lang;
24
+ return React.createElement(Option, {
25
+ key: country.iso,
26
+ value: country.iso,
27
+ title: (_country$i18n$lang = country.i18n[lang]) !== null && _country$i18n$lang !== void 0 ? _country$i18n$lang : country.i18n.en
28
+ });
29
+ }), [sharedContext.locale]);
25
30
  return React.createElement(Selection, selectComponentProps, countryOptions);
26
31
  }
27
32
  SelectCountry._supportsSpacingProps = true;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountry.js","names":["React","useContext","useMemo","Selection","Option","countries","SharedContext","SelectCountry","props","_sharedContext$locale","sharedContext","selectComponentProps","_objectSpread","placeholder","translation","Forms","selectCountryPlaceholder","label","selectCountryLabel","errorMessages","required","selectCountryErrorRequired","lang","locale","split","countryOptions","map","country","createElement","key","iso","value","title","i18n","en","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport Selection, { Props as SelectionProps } from '../Selection'\nimport Option from '../Option'\nimport countries from '../../constants/countries'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = SelectionProps\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const selectComponentProps: Props = {\n ...props,\n placeholder:\n props.placeholder ??\n sharedContext?.translation.Forms.selectCountryPlaceholder,\n label:\n props.label ?? sharedContext?.translation.Forms.selectCountryLabel,\n errorMessages: {\n required:\n sharedContext?.translation.Forms.selectCountryErrorRequired,\n ...props.errorMessages,\n },\n }\n\n const lang = sharedContext.locale?.split('-')[0]\n const countryOptions = useMemo(\n () =>\n countries.map((country) => (\n <Option\n key={country.iso}\n value={country.iso}\n title={country.i18n[lang] ?? country.i18n.en}\n />\n )),\n [sharedContext.locale]\n )\n\n return <Selection {...selectComponentProps}>{countryOptions}</Selection>\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAmC,cAAc;AACjE,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,SAAS,MAAM,2BAA2B;AACjD,OAAOC,aAAa,MAAM,4BAA4B;AAItD,SAASC,aAAaA,CAACC,KAAY,EAAE;EAAA,IAAAC,qBAAA;EACnC,MAAMC,aAAa,GAAGT,UAAU,CAACK,aAAa,CAAC;EAE/C,MAAMK,oBAA2B,GAAAC,aAAA,CAAAA,aAAA,KAC5BJ,KAAK;IACRK,WAAW,EACTL,KAAK,CAACK,WAAW,KACjBH,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACC,wBAAwB;IAC3DC,KAAK,EACHT,KAAK,CAACS,KAAK,KAAIP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACG,kBAAkB;IACpEC,aAAa,EAAAP,aAAA;MACXQ,QAAQ,EACNV,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACM;IAA0B,GAC1Db,KAAK,CAACW,aAAa;EACvB,EACF;EAED,MAAMG,IAAI,IAAAb,qBAAA,GAAGC,aAAa,CAACa,MAAM,cAAAd,qBAAA,uBAApBA,qBAAA,CAAsBe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAChD,MAAMC,cAAc,GAAGvB,OAAO,CAC5B,MACEG,SAAS,CAACqB,GAAG,CAAEC,OAAO,IACpB3B,KAAA,CAAA4B,aAAA,CAACxB,MAAM;IACLyB,GAAG,EAAEF,OAAO,CAACG,GAAI;IACjBC,KAAK,EAAEJ,OAAO,CAACG,GAAI;IACnBE,KAAK,EAAEL,OAAO,CAACM,IAAI,CAACX,IAAI,CAAC,IAAIK,OAAO,CAACM,IAAI,CAACC;EAAG,CAC9C,CACF,CAAC,EACJ,CAACxB,aAAa,CAACa,MAAM,CACvB,CAAC;EAED,OAAOvB,KAAA,CAAA4B,aAAA,CAACzB,SAAS,EAAKQ,oBAAoB,EAAGc,cAA0B,CAAC;AAC1E;AAEAlB,aAAa,CAAC4B,qBAAqB,GAAG,IAAI;AAC1C,eAAe5B,aAAa"}
1
+ {"version":3,"file":"SelectCountry.js","names":["React","useContext","useMemo","Selection","Option","countries","SharedContext","SelectCountry","props","_props$placeholder","_props$label","_sharedContext$locale","sharedContext","selectComponentProps","_objectSpread","placeholder","translation","Forms","selectCountryPlaceholder","label","selectCountryLabel","errorMessages","required","selectCountryErrorRequired","lang","locale","split","countryOptions","map","country","_country$i18n$lang","createElement","key","iso","value","title","i18n","en","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport Selection, { Props as SelectionProps } from '../Selection'\nimport Option from '../Option'\nimport countries from '../../constants/countries'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = SelectionProps\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const selectComponentProps: Props = {\n ...props,\n placeholder:\n props.placeholder ??\n sharedContext?.translation.Forms.selectCountryPlaceholder,\n label:\n props.label ?? sharedContext?.translation.Forms.selectCountryLabel,\n errorMessages: {\n required:\n sharedContext?.translation.Forms.selectCountryErrorRequired,\n ...props.errorMessages,\n },\n }\n\n const lang = sharedContext.locale?.split('-')[0]\n const countryOptions = useMemo(\n () =>\n countries.map((country) => (\n <Option\n key={country.iso}\n value={country.iso}\n title={country.i18n[lang] ?? country.i18n.en}\n />\n )),\n [sharedContext.locale]\n )\n\n return <Selection {...selectComponentProps}>{countryOptions}</Selection>\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAmC,cAAc;AACjE,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,SAAS,MAAM,2BAA2B;AACjD,OAAOC,aAAa,MAAM,4BAA4B;AAItD,SAASC,aAAaA,CAACC,KAAY,EAAE;EAAA,IAAAC,kBAAA,EAAAC,YAAA,EAAAC,qBAAA;EACnC,MAAMC,aAAa,GAAGX,UAAU,CAACK,aAAa,CAAC;EAE/C,MAAMO,oBAA2B,GAAAC,aAAA,CAAAA,aAAA,KAC5BN,KAAK;IACRO,WAAW,GAAAN,kBAAA,GACTD,KAAK,CAACO,WAAW,cAAAN,kBAAA,cAAAA,kBAAA,GACjBG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACC,wBAAwB;IAC3DC,KAAK,GAAAT,YAAA,GACHF,KAAK,CAACW,KAAK,cAAAT,YAAA,cAAAA,YAAA,GAAIE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACG,kBAAkB;IACpEC,aAAa,EAAAP,aAAA;MACXQ,QAAQ,EACNV,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK,CAACM;IAA0B,GAC1Df,KAAK,CAACa,aAAa;EACvB,EACF;EAED,MAAMG,IAAI,IAAAb,qBAAA,GAAGC,aAAa,CAACa,MAAM,cAAAd,qBAAA,uBAApBA,qBAAA,CAAsBe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAChD,MAAMC,cAAc,GAAGzB,OAAO,CAC5B,MACEG,SAAS,CAACuB,GAAG,CAAEC,OAAO;IAAA,IAAAC,kBAAA;IAAA,OACpB9B,KAAA,CAAA+B,aAAA,CAAC3B,MAAM;MACL4B,GAAG,EAAEH,OAAO,CAACI,GAAI;MACjBC,KAAK,EAAEL,OAAO,CAACI,GAAI;MACnBE,KAAK,GAAAL,kBAAA,GAAED,OAAO,CAACO,IAAI,CAACZ,IAAI,CAAC,cAAAM,kBAAA,cAAAA,kBAAA,GAAID,OAAO,CAACO,IAAI,CAACC;IAAG,CAC9C,CAAC;EAAA,CACH,CAAC,EACJ,CAACzB,aAAa,CAACa,MAAM,CACvB,CAAC;EAED,OAAOzB,KAAA,CAAA+B,aAAA,CAAC5B,SAAS,EAAKU,oBAAoB,EAAGc,cAA0B,CAAC;AAC1E;AAEApB,aAAa,CAAC+B,qBAAqB,GAAG,IAAI;AAC1C,eAAe/B,aAAa"}