@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiInputMask.js","names":["_react","_interopRequireWildcard","require","_Input","_interopRequireDefault","_TextMask","_useHandleCursorPosition","_classnames","_FormLabel","_SpacingHelper","_useMultiInputValues","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiInputMask","_ref","label","labelDirection","inputs","delimiter","onChange","onChangeExternal","disabled","status","statusState","values","defaultValues","className","props","useMultiInputValue","callback","inputRefs","useRef","onKeyDown","useHandleCursorPosition","current","getKeysToHandle","WrapperElement","createElement","classnames","createSpacingClasses","element","onClick","onLegendClick","vertical","status_state","input_element","map","input","index","Fragment","id","MultiInputMaskInput","value","undefined","inputRef","getInputRef","firstInput","focus","setSelectionRange","ref","includes","push","uniqueMasks","getUniqueMasks","size","pattern","next","replace","RegExp","reduce","_ref2","mask","masks","Set","forEach","add","String","_ref3","placeholderCharacter","placeholderChar","guide","showMask","keepCharPositions","onFocus","event","removePlaceholder","htmlFor","hidden","placeholder","_ref4","select","_default","exports"],"sources":["../../../../src/components/input-masked/MultiInputMask.tsx"],"sourcesContent":["import React, { Fragment, MutableRefObject, useRef } from 'react'\nimport Input from '../Input'\nimport TextMask from './TextMask'\nimport useHandleCursorPosition from './hooks/useHandleCursorPosition'\nimport classnames from 'classnames'\nimport FormLabel from '../FormLabel'\nimport { SpacingProps } from '../space/types'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { FormStatusState, FormStatusText } from '../FormStatus'\nimport { useMultiInputValue } from './hooks/useMultiInputValues'\n\nexport type MultiInputMaskInput<T extends string> = {\n /**\n * Defines the id for the input. This id is also used to map the input value to the correct property on the objects used for `values` and `onChange` parameters.\n */\n id: T\n /**\n * Label used by the input. The label itself is hidden, but required to uphold accessibility standards for screen readers.\n */\n label: React.ReactNode\n /**\n * Each RegExp item in the array defines what the mask should be for each subsequent character in the input. The length sets the size of the input, so an array of two items would produce an input of two characters\n */\n mask: RegExp[]\n /**\n * Sets the placeholder character used for the input.\n */\n placeholderCharacter: string\n}\n\nexport type MultiInputMaskValue<T extends string> = {\n // eslint-disable-next-line no-unused-vars\n [K in T]: string\n}\n\nexport type MultiInputMaskProps<T extends string> = {\n /**\n * The label describing the group of inputs inside the components.\n */\n label?: React.ReactNode\n /**\n * Use to change the label layout direction. Defaults to `horizontal`.\n */\n labelDirection?: 'vertical' | 'horizontal'\n /**\n * Used to define the different inputs representing the inputs in the component. The id's defined here is used to map input value to correct property in `values` parameters used in `onChange`\n */\n inputs: MultiInputMaskInput<T>[]\n /**\n * Values used for the inputs inside the component. Expects an object with keys matching the id's defined in `inputs`\n */\n values?: MultiInputMaskValue<T>\n /**\n * Defines the delimiter used to separate the inputs inside the component.\n */\n delimiter?: string\n /**\n * Runs when the input value changes. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onChange?: (values: MultiInputMaskValue<T>) => void\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n} & Omit<\n React.HTMLProps<HTMLInputElement>,\n 'onChange' | 'ref' | 'value' | 'label'\n> &\n SpacingProps\n\nfunction MultiInputMask<T extends string>({\n label,\n labelDirection = 'horizontal',\n inputs,\n delimiter,\n onChange: onChangeExternal,\n disabled,\n status,\n statusState,\n values: defaultValues,\n className,\n ...props\n}: MultiInputMaskProps<T>) {\n const [values, onChange] = useMultiInputValue({\n inputs,\n defaultValues,\n callback: onChangeExternal,\n })\n\n const inputRefs = useRef<Array<MutableRefObject<HTMLInputElement>>>([])\n\n const { onKeyDown } = useHandleCursorPosition(\n inputRefs.current,\n getKeysToHandle()\n )\n\n const WrapperElement = label ? 'fieldset' : 'div'\n\n return (\n <WrapperElement\n className={classnames(\n 'dnb-multi-input-mask__fieldset',\n labelDirection === 'horizontal' &&\n 'dnb-multi-input-mask__fieldset--horizontal',\n createSpacingClasses(props)\n )}\n >\n {label && (\n <FormLabel\n className={classnames(\n 'dnb-multi-input-mask__legend',\n labelDirection === 'horizontal' &&\n 'dnb-multi-input-mask__legend--horizontal'\n )}\n element=\"legend\"\n onClick={onLegendClick}\n disabled={disabled}\n vertical={labelDirection === 'vertical'}\n >\n {/* This <span/> wrapper is needed to make hover work in Safari Desktop */}\n <span>{label}</span>\n </FormLabel>\n )}\n <Input\n {...props}\n className={classnames('dnb-multi-input-mask', className)}\n disabled={disabled}\n status={status}\n status_state={statusState}\n input_element={inputs.map((input, index) => (\n <Fragment key={input.id}>\n <MultiInputMaskInput\n {...input}\n value={values[input.id]}\n delimiter={\n index !== inputs.length - 1 ? delimiter : undefined\n }\n onKeyDown={onKeyDown}\n onChange={onChange}\n disabled={disabled}\n inputRef={getInputRef}\n />\n </Fragment>\n ))}\n />\n </WrapperElement>\n )\n\n // Event handlers\n function onLegendClick() {\n if (disabled) {\n return\n }\n\n const firstInput = inputRefs.current[0].current\n\n firstInput.focus()\n firstInput.setSelectionRange(0, 0)\n }\n\n // Utilities\n function getInputRef(ref: any) {\n const inputRef = ref?.inputRef\n\n if (inputRef && !inputRefs.current.includes(inputRef)) {\n inputRefs.current.push(inputRef)\n }\n }\n\n function getKeysToHandle() {\n const uniqueMasks = getUniqueMasks()\n\n // Return the only one RegExp since all the inputs are using the same mask\n if (uniqueMasks.size === 1) {\n const pattern = uniqueMasks.values().next().value.replace(/\\//g, '')\n return new RegExp(pattern)\n }\n\n // If there are multiple types of masks used, then map the maps to an object based on input ids\n // So that useHandleCursorPosition can do a per character test to see if the pressed key should be handled or not\n return inputs.reduce(\n (keys, { id, mask }) => {\n keys[`${id}__input`] = mask\n\n return keys\n },\n {} as Record<`${T}__input`, RegExp[]>\n )\n }\n\n function getUniqueMasks() {\n const masks = new Set()\n\n inputs.forEach((input) => {\n input.mask.forEach((pattern) => masks.add(String(pattern)))\n })\n\n return masks\n }\n}\n\ntype MultiInputMaskInputProps<T extends string> =\n MultiInputMaskInput<T> & {\n id: MultiInputMaskInput<T>['id']\n label: MultiInputMaskInput<T>['label']\n value: string\n mask: MultiInputMaskInput<T>['mask']\n placeholderCharacter: MultiInputMaskInput<T>['placeholderCharacter']\n delimiter?: MultiInputMaskProps<T>['delimiter']\n disabled: boolean\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void\n onChange: (\n id: string,\n placeholderCharacter: MultiInputMaskInput<T>['placeholderCharacter']\n ) => void\n inputRef: any\n }\n\nfunction MultiInputMaskInput<T extends string>({\n id,\n label,\n value,\n mask,\n placeholderCharacter,\n delimiter,\n disabled,\n inputRef,\n onKeyDown,\n onChange,\n}: MultiInputMaskInputProps<T>) {\n return (\n <>\n <TextMask\n id={`${id}__input`}\n className={classnames(\n 'dnb-input__input',\n 'dnb-multi-input-mask__input',\n value && 'dnb-multi-input-mask__input--highlight'\n )}\n disabled={disabled}\n size={mask.length}\n mask={mask}\n value={value ?? ''}\n placeholderChar={placeholderCharacter}\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n aria-labelledby={`${id}__label`}\n ref={inputRef}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onChange={(event) => {\n onChange(\n id,\n removePlaceholder(event.target.value, placeholderCharacter)\n )\n }}\n />\n <label id={`${id}__label`} htmlFor={`${id}__input`} hidden>\n {label}\n </label>\n {delimiter && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-multi-input-mask__delimiter',\n value && 'dnb-multi-input-mask__delimiter--highlight'\n )}\n >\n {delimiter}\n </span>\n )}\n </>\n )\n\n function removePlaceholder(value: string, placeholder: string) {\n return value.replace(RegExp(placeholder, 'gm'), '')\n }\n\n function onFocus({ target }: React.FocusEvent<HTMLInputElement>) {\n target.focus()\n target.select()\n }\n}\n\nexport default MultiInputMask\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ export type TextMaskInputElement =
13
13
  export type TextMaskValue = string | number;
14
14
  export interface TextMaskProps extends React.HTMLProps<HTMLElement> {
15
15
  mask: TextMaskMask;
16
- inputRef?: Record<string, unknown>;
16
+ inputRef?: React.MutableRefObject<HTMLInputElement>;
17
17
  inputElement?: TextMaskInputElement;
18
18
  onChange?: (...args: any[]) => any;
19
19
  guide?: boolean;
@@ -0,0 +1,7 @@
1
+ import { MutableRefObject } from 'react';
2
+ declare function useHandleCursorPosition(inputRefs: MutableRefObject<HTMLInputElement>[], keysToHandle?: RegExp | {
3
+ [inputId: string]: RegExp[];
4
+ }): {
5
+ onKeyDown: (event: React.KeyboardEvent) => void;
6
+ };
7
+ export default useHandleCursorPosition;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = require("react");
9
+ function useHandleCursorPosition(inputRefs, keysToHandle) {
10
+ const inputList = (0, _react.useRef)(refsToInputList(inputRefs));
11
+ (0, _react.useEffect)(() => {
12
+ inputList.current = refsToInputList(inputRefs);
13
+ }, [inputRefs]);
14
+ function onKeyDown(event) {
15
+ var _getKeysToHandle;
16
+ const inputs = inputList.current;
17
+ const input = event.target;
18
+ const pressedKey = event.key;
19
+ const hasPressedKeysToHandle = ((_getKeysToHandle = getKeysToHandle({
20
+ keysToHandle,
21
+ input
22
+ })) === null || _getKeysToHandle === void 0 ? void 0 : _getKeysToHandle.test(pressedKey)) || /(ArrowRight|ArrowLeft|Backspace)/.test(pressedKey);
23
+ const initialSelectionStart = input.selectionStart;
24
+ const inputPosition = getInputPosition(input, inputs);
25
+ window.requestAnimationFrame(() => {
26
+ const caretPosition = getCaretPosition(input);
27
+ if (!hasPressedKeysToHandle) {
28
+ return;
29
+ }
30
+ if (caretPosition === 'last' && inputPosition !== 'last' && !(initialSelectionStart === 1 && pressedKey === 'ArrowRight')) {
31
+ return goToInput('next', input, inputs);
32
+ }
33
+ if (caretPosition === 'first' && inputPosition !== 'first' && !(initialSelectionStart === 1 && (pressedKey === 'ArrowLeft' || pressedKey === 'Backspace'))) {
34
+ return goToInput('previous', input, inputs);
35
+ }
36
+ });
37
+ }
38
+ return {
39
+ onKeyDown
40
+ };
41
+ }
42
+ function refsToInputList(inputRefs) {
43
+ return inputRefs.map(ref => ref.current).filter(Boolean);
44
+ }
45
+ function getKeysToHandle(_ref) {
46
+ let {
47
+ keysToHandle,
48
+ input
49
+ } = _ref;
50
+ if (!keysToHandle) {
51
+ return undefined;
52
+ }
53
+ if (keysToHandle instanceof RegExp) {
54
+ return keysToHandle;
55
+ }
56
+ const masks = keysToHandle[input.id];
57
+ const selection = input.selectionStart === input.selectionEnd ? input.selectionStart : undefined;
58
+ if (!selection) {
59
+ return undefined;
60
+ }
61
+ const maskIndex = selection === input.size ? masks.length - 1 : selection;
62
+ return masks[maskIndex];
63
+ }
64
+ function getInputPosition(input, inputs) {
65
+ const firstInput = inputs[0];
66
+ const lastInput = inputs[inputs.length - 1];
67
+ if (input === firstInput) {
68
+ return 'first';
69
+ }
70
+ if (input === lastInput) {
71
+ return 'last';
72
+ }
73
+ return 'non-initial';
74
+ }
75
+ function getSelectionPositions(input) {
76
+ return {
77
+ start: 0,
78
+ end: Number(input.size)
79
+ };
80
+ }
81
+ function getCaretPosition(input) {
82
+ const {
83
+ start,
84
+ end
85
+ } = getSelectionPositions(input);
86
+ const selectionStart = input.selectionStart;
87
+ const selectionEnd = input.selectionEnd;
88
+ if (selectionStart === start && selectionEnd === start) {
89
+ return 'first';
90
+ }
91
+ if (selectionStart === end && selectionEnd === end) {
92
+ return 'last';
93
+ }
94
+ return 'non-initial';
95
+ }
96
+ function goToInput(to, input, inputs) {
97
+ const currentInputIndex = inputs.indexOf(input);
98
+ const siblingIndex = to === 'next' ? currentInputIndex + 1 : to === 'previous' ? currentInputIndex - 1 : 0;
99
+ const siblingInput = inputs[siblingIndex];
100
+ const {
101
+ start,
102
+ end
103
+ } = getSelectionPositions(siblingInput);
104
+ siblingInput.focus();
105
+ if (to === 'next') {
106
+ return siblingInput.setSelectionRange(start, start);
107
+ }
108
+ if (to === 'previous') {
109
+ return siblingInput.setSelectionRange(end, end);
110
+ }
111
+ }
112
+ var _default = useHandleCursorPosition;
113
+ exports.default = _default;
114
+ //# sourceMappingURL=useHandleCursorPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHandleCursorPosition.js","names":["_react","require","useHandleCursorPosition","inputRefs","keysToHandle","inputList","useRef","refsToInputList","useEffect","current","onKeyDown","event","_getKeysToHandle","inputs","input","target","pressedKey","key","hasPressedKeysToHandle","getKeysToHandle","test","initialSelectionStart","selectionStart","inputPosition","getInputPosition","window","requestAnimationFrame","caretPosition","getCaretPosition","goToInput","map","ref","filter","Boolean","_ref","undefined","RegExp","masks","id","selection","selectionEnd","maskIndex","size","length","firstInput","lastInput","getSelectionPositions","start","end","Number","to","currentInputIndex","indexOf","siblingIndex","siblingInput","focus","setSelectionRange","_default","exports","default"],"sources":["../../../../../src/components/input-masked/hooks/useHandleCursorPosition.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useRef } from 'react'\n\nfunction useHandleCursorPosition(\n inputRefs: MutableRefObject<HTMLInputElement>[],\n keysToHandle?: RegExp | { [inputId: string]: RegExp[] }\n) {\n const inputList = useRef(refsToInputList(inputRefs))\n\n // To keep the refs.current in synch with component of use, or else it wont be possible to navigate to the next input, without triggering a re-render first.\n useEffect(() => {\n inputList.current = refsToInputList(inputRefs)\n }, [inputRefs])\n\n function onKeyDown(event: React.KeyboardEvent) {\n const inputs = inputList.current\n const input = event.target as HTMLInputElement\n\n const pressedKey = event.key\n\n const hasPressedKeysToHandle =\n getKeysToHandle({ keysToHandle, input })?.test(pressedKey) ||\n /(ArrowRight|ArrowLeft|Backspace)/.test(pressedKey)\n\n const initialSelectionStart = input.selectionStart\n\n const inputPosition = getInputPosition(input, inputs)\n\n window.requestAnimationFrame(() => {\n const caretPosition = getCaretPosition(input)\n\n if (!hasPressedKeysToHandle) {\n return // stop here\n }\n\n if (\n caretPosition === 'last' &&\n inputPosition !== 'last' &&\n !(initialSelectionStart === 1 && pressedKey === 'ArrowRight')\n ) {\n return goToInput('next', input, inputs)\n }\n\n if (\n caretPosition === 'first' &&\n inputPosition !== 'first' &&\n !(\n initialSelectionStart === 1 &&\n (pressedKey === 'ArrowLeft' || pressedKey === 'Backspace')\n )\n ) {\n return goToInput('previous', input, inputs)\n }\n })\n }\n\n return { onKeyDown }\n}\n\n// Helpers\nfunction refsToInputList(inputRefs: MutableRefObject<HTMLInputElement>[]) {\n return inputRefs.map((ref) => ref.current).filter(Boolean)\n}\n\ntype GetKeysToHandleParams = {\n keysToHandle: RegExp | { [inputId: string]: RegExp[] }\n input: HTMLInputElement\n}\n\nfunction getKeysToHandle({ keysToHandle, input }: GetKeysToHandleParams) {\n if (!keysToHandle) {\n return undefined\n }\n\n if (keysToHandle instanceof RegExp) {\n return keysToHandle\n }\n\n const masks = keysToHandle[input.id]\n\n const selection =\n input.selectionStart === input.selectionEnd\n ? input.selectionStart\n : undefined\n\n if (!selection) {\n return undefined\n }\n\n const maskIndex = selection === input.size ? masks.length - 1 : selection\n\n return masks[maskIndex]\n}\n\nfunction getInputPosition(\n input: HTMLInputElement,\n inputs: HTMLInputElement[]\n) {\n const firstInput = inputs[0]\n const lastInput = inputs[inputs.length - 1]\n\n if (input === firstInput) {\n return 'first'\n }\n\n if (input === lastInput) {\n return 'last'\n }\n\n return 'non-initial'\n}\n\nfunction getSelectionPositions(input: HTMLInputElement) {\n return { start: 0, end: Number(input.size) }\n}\n\nfunction getCaretPosition(input: HTMLInputElement) {\n const { start, end } = getSelectionPositions(input)\n\n const selectionStart = input.selectionStart\n const selectionEnd = input.selectionEnd\n\n if (selectionStart === start && selectionEnd === start) {\n return 'first'\n }\n\n if (selectionStart === end && selectionEnd === end) {\n return 'last'\n }\n\n return 'non-initial'\n}\n\nfunction goToInput(\n to: 'next' | 'previous',\n input: HTMLInputElement,\n inputs: HTMLInputElement[]\n) {\n const currentInputIndex = inputs.indexOf(input)\n\n const siblingIndex =\n to === 'next'\n ? currentInputIndex + 1\n : to === 'previous'\n ? currentInputIndex - 1\n : 0\n\n const siblingInput = inputs[siblingIndex]\n\n const { start, end } = getSelectionPositions(siblingInput)\n\n siblingInput.focus()\n\n if (to === 'next') {\n return siblingInput.setSelectionRange(start, start)\n }\n\n if (to === 'previous') {\n return siblingInput.setSelectionRange(end, end)\n }\n}\n\nexport default useHandleCursorPosition\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MultiInputMaskProps, MultiInputMaskValue } from '../MultiInputMask';
2
+ type SteppedValuesHook<T extends string> = {
3
+ inputs: MultiInputMaskProps<T>['inputs'];
4
+ defaultValues?: MultiInputMaskProps<T>['values'];
5
+ callback?: (values: MultiInputMaskProps<T>['values']) => void;
6
+ };
7
+ export declare function useMultiInputValue<T extends string>({ inputs, defaultValues, callback, }: SteppedValuesHook<T>): readonly [MultiInputMaskValue<T>, (id: string, value: string) => void];
8
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useMultiInputValue = useMultiInputValue;
8
+ var _react = require("react");
9
+ 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; }
10
+ 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; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ function useMultiInputValue(_ref) {
15
+ let {
16
+ inputs,
17
+ defaultValues,
18
+ callback
19
+ } = _ref;
20
+ const [values, setValues] = (0, _react.useState)(defaultValues ? defaultValues : createDefaultValues());
21
+ function createDefaultValues() {
22
+ return inputs.reduce((values, input) => {
23
+ values[input.id] = '';
24
+ return values;
25
+ }, {});
26
+ }
27
+ function onChange(id, value) {
28
+ const updatedValues = _objectSpread(_objectSpread({}, values), {}, {
29
+ [id]: value
30
+ });
31
+ setValues(updatedValues);
32
+ if (callback) {
33
+ callback(updatedValues);
34
+ }
35
+ }
36
+ return [values, onChange];
37
+ }
38
+ //# sourceMappingURL=useMultiInputValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMultiInputValues.js","names":["_react","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useMultiInputValue","_ref","inputs","defaultValues","callback","values","setValues","useState","createDefaultValues","reduce","id","onChange","updatedValues"],"sources":["../../../../../src/components/input-masked/hooks/useMultiInputValues.ts"],"sourcesContent":["import { useState } from 'react'\nimport {\n MultiInputMaskProps,\n MultiInputMaskValue,\n} from '../MultiInputMask'\n\ntype SteppedValuesHook<T extends string> = {\n inputs: MultiInputMaskProps<T>['inputs']\n defaultValues?: MultiInputMaskProps<T>['values']\n callback?: (values: MultiInputMaskProps<T>['values']) => void\n}\n\nexport function useMultiInputValue<T extends string>({\n inputs,\n defaultValues,\n callback,\n}: SteppedValuesHook<T>) {\n const [values, setValues] = useState<MultiInputMaskValue<T>>(\n defaultValues ? defaultValues : createDefaultValues()\n )\n\n function createDefaultValues() {\n return inputs.reduce((values, input) => {\n values[input.id] = ''\n\n return values\n }, {} as MultiInputMaskValue<T>)\n }\n\n function onChange(id: string, value: string) {\n const updatedValues = { ...values, [id]: value }\n\n setValues(updatedValues)\n if (callback) {\n callback(updatedValues)\n }\n }\n\n return [values, onChange] as const\n}\n"],"mappings":"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"}
@@ -5,3 +5,5 @@
5
5
  import InputMasked from './InputMasked';
6
6
  export default InputMasked;
7
7
  export * from './InputMasked';
8
+ export { default as MultiInputMask } from './MultiInputMask';
9
+ export * from './MultiInputMask';
@@ -3,7 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {};
6
+ var _exportNames = {
7
+ MultiInputMask: true
8
+ };
9
+ Object.defineProperty(exports, "MultiInputMask", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _MultiInputMask.default;
13
+ }
14
+ });
7
15
  exports.default = void 0;
8
16
  var _InputMasked = _interopRequireWildcard(require("./InputMasked"));
9
17
  Object.keys(_InputMasked).forEach(function (key) {
@@ -17,6 +25,18 @@ Object.keys(_InputMasked).forEach(function (key) {
17
25
  }
18
26
  });
19
27
  });
28
+ var _MultiInputMask = _interopRequireWildcard(require("./MultiInputMask"));
29
+ Object.keys(_MultiInputMask).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
32
+ if (key in exports && exports[key] === _MultiInputMask[key]) return;
33
+ Object.defineProperty(exports, key, {
34
+ enumerable: true,
35
+ get: function () {
36
+ return _MultiInputMask[key];
37
+ }
38
+ });
39
+ });
20
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
41
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
42
  var _default = _InputMasked.default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_InputMasked","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_default","InputMasked"],"sources":["../../../../src/components/input-masked/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\nimport InputMasked from './InputMasked'\nexport default InputMasked\nexport * from './InputMasked'\n"],"mappings":";;;;;;;AAKA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAJ,YAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,YAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,YAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAA6B,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAAA,IAAAK,QAAA,GADdC,oBAAW;AAAApB,OAAA,CAAAW,OAAA,GAAAQ,QAAA"}
1
+ {"version":3,"file":"index.js","names":["_InputMasked","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_MultiInputMask","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_default","InputMasked"],"sources":["../../../../src/components/input-masked/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\nimport InputMasked from './InputMasked'\nexport default InputMasked\nexport * from './InputMasked'\n\nexport { default as MultiInputMask } from './MultiInputMask'\nexport * from './MultiInputMask'\n"],"mappings":";;;;;;;;;;;;;;;AAKA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAJ,YAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,YAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,YAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,eAAA,GAAAd,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAW,eAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,eAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAAgC,SAAAU,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAV,GAAA,CAAAO,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAxB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAyB,wBAAA,WAAAtB,GAAA,IAAAe,GAAA,QAAAf,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAY,GAAA,EAAAf,GAAA,SAAAuB,IAAA,GAAAF,qBAAA,GAAAxB,MAAA,CAAAyB,wBAAA,CAAAP,GAAA,EAAAf,GAAA,cAAAuB,IAAA,KAAAA,IAAA,CAAAf,GAAA,IAAAe,IAAA,CAAAC,GAAA,KAAA3B,MAAA,CAAAS,cAAA,CAAAc,MAAA,EAAApB,GAAA,EAAAuB,IAAA,YAAAH,MAAA,CAAApB,GAAA,IAAAe,GAAA,CAAAf,GAAA,SAAAoB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAAA,IAAAK,QAAA,GAJjBC,oBAAW;AAAArB,OAAA,CAAAY,OAAA,GAAAQ,QAAA"}
@@ -7,4 +7,61 @@
7
7
  */
8
8
  .dnb-input-masked--guide {
9
9
  font-family: var(--font-family-monospace);
10
+ }
11
+
12
+ .dnb-multi-input-mask__fieldset {
13
+ margin: 0;
14
+ padding: 0;
15
+ border: none;
16
+ }
17
+ .dnb-multi-input-mask__fieldset--horizontal {
18
+ display: inline-flex;
19
+ flex-flow: row wrap;
20
+ align-items: baseline;
21
+ grid-gap: 1rem;
22
+ gap: 1rem;
23
+ }
24
+
25
+ .dnb-multi-input-mask__input {
26
+ display: inline-block;
27
+ width: auto;
28
+ margin: 0;
29
+ padding: 0 0.125rem;
30
+ transform: translateY(0);
31
+ outline: none;
32
+ font-family: var(--font-family-monospace);
33
+ text-align: center;
34
+ border: none;
35
+ background: transparent;
36
+ overflow: visible;
37
+ white-space: nowrap;
38
+ }
39
+ .dnb-multi-input-mask__input:first-of-type {
40
+ padding-left: 0.5rem;
41
+ }
42
+ .dnb-multi-input-mask__input:last-of-type {
43
+ padding-right: 0.5rem;
44
+ }
45
+
46
+ .dnb-multi-input-mask {
47
+ width: -moz-fit-content;
48
+ width: fit-content;
49
+ }
50
+ .dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input,
51
+ .dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter {
52
+ color: var(--color-black-55);
53
+ }
54
+ .dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input--highlight,
55
+ .dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter--highlight {
56
+ color: var(--color-black);
57
+ }
58
+ .dnb-multi-input-mask .dnb-input__shell:focus-within {
59
+ box-shadow: 0 0 0 var(--input-border-width--focus) var(--input-border-color--hover);
60
+ }
61
+
62
+ .dnb-multi-input-mask__legend--horizontal.dnb-form-label {
63
+ display: contents;
64
+ }
65
+ .dnb-multi-input-mask__legend:not([disabled]):hover ~ .dnb-multi-input-mask .dnb-input__shell {
66
+ box-shadow: 0 0 0 var(--input-border-width--focus) var(--input-border-color--hover);
10
67
  }
@@ -1 +1 @@
1
- .dnb-input-masked--guide{font-family:var(--font-family-monospace)}
1
+ .dnb-input-masked--guide{font-family:var(--font-family-monospace)}.dnb-multi-input-mask__fieldset{border:none;margin:0;padding:0}.dnb-multi-input-mask__fieldset--horizontal{grid-gap:1rem;align-items:baseline;display:inline-flex;flex-flow:row wrap;gap:1rem}.dnb-multi-input-mask__input{background:transparent;border:none;display:inline-block;font-family:var(--font-family-monospace);margin:0;outline:none;overflow:visible;padding:0 .125rem;text-align:center;transform:translateY(0);white-space:nowrap;width:auto}.dnb-multi-input-mask__input:first-of-type{padding-left:.5rem}.dnb-multi-input-mask__input:last-of-type{padding-right:.5rem}.dnb-multi-input-mask{width:-moz-fit-content;width:fit-content}.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter,.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input{color:var(--color-black-55)}.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter--highlight,.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input--highlight{color:var(--color-black)}.dnb-multi-input-mask .dnb-input__shell:focus-within{box-shadow:0 0 0 var(--input-border-width--focus) var(--input-border-color--hover)}.dnb-multi-input-mask__legend--horizontal.dnb-form-label{display:contents}.dnb-multi-input-mask__legend:not([disabled]):hover~.dnb-multi-input-mask .dnb-input__shell{box-shadow:0 0 0 var(--input-border-width--focus) var(--input-border-color--hover)}
@@ -10,3 +10,76 @@
10
10
  font-family: var(--font-family-monospace);
11
11
  }
12
12
  }
13
+
14
+ // MultiInputMask
15
+ .dnb-multi-input-mask__fieldset {
16
+ @include fieldsetReset();
17
+
18
+ &--horizontal {
19
+ display: inline-flex;
20
+ flex-flow: row wrap;
21
+ align-items: baseline;
22
+ // Adds the 1rem space between legend and input wrapper, as the `display: contents` in .dnb-multi-input-mask__legend makes the margins from .dnb-form-label not apply
23
+ gap: 1rem;
24
+ }
25
+ }
26
+
27
+ .dnb-multi-input-mask__input {
28
+ display: inline-block;
29
+ width: auto;
30
+
31
+ margin: 0;
32
+ padding: 0 0.125rem;
33
+
34
+ // reset vertical alignment
35
+ transform: translateY(0);
36
+
37
+ outline: none;
38
+
39
+ font-family: var(--font-family-monospace);
40
+ text-align: center;
41
+ border: none;
42
+ background: transparent;
43
+
44
+ overflow: visible;
45
+ white-space: nowrap;
46
+
47
+ &:first-of-type {
48
+ padding-left: 0.5rem;
49
+ }
50
+
51
+ &:last-of-type {
52
+ padding-right: 0.5rem;
53
+ }
54
+ }
55
+
56
+ .dnb-multi-input-mask {
57
+ width: fit-content;
58
+
59
+ &:not(.dnb-input__status--error) {
60
+ .dnb-multi-input-mask__input,
61
+ .dnb-multi-input-mask__delimiter {
62
+ color: var(--color-black-55);
63
+
64
+ &--highlight {
65
+ color: var(--color-black);
66
+ }
67
+ }
68
+ }
69
+
70
+ .dnb-input__shell:focus-within {
71
+ box-shadow: 0 0 0 var(--input-border-width--focus)
72
+ var(--input-border-color--hover);
73
+ }
74
+ }
75
+
76
+ .dnb-multi-input-mask__legend {
77
+ &--horizontal.dnb-form-label {
78
+ display: contents;
79
+ }
80
+
81
+ &:not([disabled]):hover ~ .dnb-multi-input-mask .dnb-input__shell {
82
+ box-shadow: 0 0 0 var(--input-border-width--focus)
83
+ var(--input-border-color--hover);
84
+ }
85
+ }
@@ -118,7 +118,7 @@ export declare const getComponents: () => {
118
118
  _supportsSpacingProps: boolean;
119
119
  };
120
120
  Input: typeof Input;
121
- InputMasked: import("react").FC<import("./input-masked/InputMasked").InputMaskedProps>;
121
+ InputMasked: any;
122
122
  Logo: typeof Logo;
123
123
  Modal: typeof import("./modal/Modal").OriginalComponent;
124
124
  NumberFormat: typeof NumberFormat;