@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,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContentContext.js","names":["_react","require","DrawerContentContext","createContext","exports"],"sources":["../../../../../src/components/drawer/parts/DrawerContentContext.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nexport const DrawerContentContext = createContext(null)\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,oBAAoB,GAAG,IAAAC,oBAAa,EAAC,IAAI,CAAC;AAAAC,OAAA,CAAAF,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"file":"DrawerContentContext.js","names":["_react","require","DrawerContentContext","createContext","exports"],"sources":["../../../../../src/components/drawer/parts/DrawerContentContext.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nexport const DrawerContentContext = createContext(null)\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,oBAAoB,GAAG,IAAAC,oBAAa,EAAC,IAAI,CAAC;AAAAC,OAAA,CAAAF,oBAAA,GAAAA,oBAAA"}
@@ -26,7 +26,7 @@ const propNames = ['direction', 'wrap', 'justify', 'align', 'divider', 'spacing'
26
26
  function pickFlexContainerProps(props) {
27
27
  let defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
28
28
  let skip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
29
- return _objectSpread(_objectSpread({}, defaults), Object.fromEntries(Object.entries(props ?? {}).filter(_ref => {
29
+ return _objectSpread(_objectSpread({}, defaults), Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref => {
30
30
  let [key] = _ref;
31
31
  return propNames.includes(key) && !skip.includes(key);
32
32
  })));
@@ -74,8 +74,9 @@ function FlexContainer(props) {
74
74
  const endSpacing = 0;
75
75
  let startSpacing = null;
76
76
  if (divider === 'line' && !isFirst && !hasHeading) {
77
- const spaceAboveLine = (0, _utils.getSpaceValue)(end, previousChild) ?? spacing;
78
- startSpacing = (0, _utils.getSpaceValue)(start, child) ?? spacing;
77
+ var _getSpaceValue, _getSpaceValue2;
78
+ const spaceAboveLine = (_getSpaceValue = (0, _utils.getSpaceValue)(end, previousChild)) !== null && _getSpaceValue !== void 0 ? _getSpaceValue : spacing;
79
+ startSpacing = (_getSpaceValue2 = (0, _utils.getSpaceValue)(start, child)) !== null && _getSpaceValue2 !== void 0 ? _getSpaceValue2 : spacing;
79
80
  return _react.default.createElement(_react.default.Fragment, {
80
81
  key: `element-${i}`
81
82
  }, _react.default.createElement(_Space.default, {
@@ -92,7 +93,8 @@ function FlexContainer(props) {
92
93
  if (isFirst && direction !== 'horizontal') {
93
94
  startSpacing = 0;
94
95
  } else {
95
- startSpacing = (0, _utils.getSpaceValue)(start, child) ?? (0, _utils.getSpaceValue)(end, previousChild) ?? spacing;
96
+ var _ref2, _getSpaceValue3;
97
+ startSpacing = (_ref2 = (_getSpaceValue3 = (0, _utils.getSpaceValue)(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : (0, _utils.getSpaceValue)(end, previousChild)) !== null && _ref2 !== void 0 ? _ref2 : spacing;
96
98
  }
97
99
  const space = direction === 'horizontal' ? {
98
100
  [start]: endSpacing,
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["_react","_interopRequireDefault","require","_classnames","_Space","_elements","_useMedia","_utils","_Hr","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","childrenArray","React","Children","toArray","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","spaceAboveLine","getSpaceValue","createElement","Fragment","top","Hr","space","renderWithSpacing","n","cn","classnames","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { DynamicElement } from '../../shared/types'\nimport type { SpaceType, SpacingProps } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n element?: DynamicElement\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = React.Children.toArray(children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above/below headings\n !hasHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["_react","_interopRequireDefault","require","_classnames","_Space","_elements","_useMedia","_utils","_Hr","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","childrenArray","React","Children","toArray","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","top","Hr","space","renderWithSpacing","_ref2","_getSpaceValue3","n","cn","classnames","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { DynamicElement } from '../../shared/types'\nimport type { SpaceType, SpacingProps } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n element?: DynamicElement\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = React.Children.toArray(children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above/below headings\n !hasHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -26,11 +26,11 @@ exports.pickSpacingProps = pickSpacingProps;
26
26
  const omitSpacingProps = _SpacingUtils.removeSpaceProps;
27
27
  exports.omitSpacingProps = omitSpacingProps;
28
28
  const getSpaceValue = (type, element) => {
29
- var _element$props, _element$props2;
29
+ var _element$props$type, _element$props, _element$props2;
30
30
  if (!_react.default.isValidElement(element)) {
31
31
  return;
32
32
  }
33
- return ((_element$props = element.props) === null || _element$props === void 0 ? void 0 : _element$props[type]) ?? (typeof ((_element$props2 = element.props) === null || _element$props2 === void 0 ? void 0 : _element$props2.space) === 'object' ? element.props.space[type] : undefined);
33
+ return (_element$props$type = (_element$props = element.props) === null || _element$props === void 0 ? void 0 : _element$props[type]) !== null && _element$props$type !== void 0 ? _element$props$type : typeof ((_element$props2 = element.props) === null || _element$props2 === void 0 ? void 0 : _element$props2.space) === 'object' ? element.props.space[type] : undefined;
34
34
  };
35
35
  exports.getSpaceValue = getSpaceValue;
36
36
  function isHeadingElement(element) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_react","_interopRequireDefault","require","_Space","_SpacingUtils","EufemiaElements","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pickSpacingProps","props","space","top","bottom","left","right","exports","omitSpacingProps","removeSpaceProps","getSpaceValue","type","element","_element$props","_element$props2","React","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n return (\n (React.isValidElement(element) &&\n element?.type?.['_supportsSpacingProps'] === true) ||\n isEufemiaElement(element)\n )\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["_react","_interopRequireDefault","require","_Space","_SpacingUtils","EufemiaElements","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pickSpacingProps","props","space","top","bottom","left","right","exports","omitSpacingProps","removeSpaceProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","React","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n return (\n (React.isValidElement(element) &&\n element?.type?.['_supportsSpacingProps'] === true) ||\n isEufemiaElement(element)\n )\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -41,8 +41,9 @@ function FormLabel(localProps) {
41
41
  label_direction
42
42
  } = props,
43
43
  attributes = _objectWithoutProperties(props, _excluded);
44
+ const isInteractive = !props.disabled && !srOnly && (typeof props.onClick === 'function' || forId || for_id);
44
45
  const params = _objectSpread({
45
- className: (0, _classnames.default)('dnb-form-label', ((0, _componentHelper.isTrue)(vertical) || label_direction === 'vertical') && `dnb-form-label--vertical`, (srOnly || (0, _componentHelper.isTrue)(sr_only)) && 'dnb-sr-only', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton, context), (0, _SpacingHelper.createSpacingClasses)(props), className, size && `dnb-h--${size}`),
46
+ className: (0, _classnames.default)('dnb-form-label', ((0, _componentHelper.isTrue)(vertical) || label_direction === 'vertical') && `dnb-form-label--vertical`, (srOnly || (0, _componentHelper.isTrue)(sr_only)) && 'dnb-sr-only', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton, context), (0, _SpacingHelper.createSpacingClasses)(props), className, size && `dnb-h--${size}`, isInteractive && 'dnb-form-label--interactive'),
46
47
  htmlFor: forId || for_id
47
48
  }, attributes);
48
49
  params['ref'] = innerRef;
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_SpacingHelper","_SkeletonHelper","_filterValidProps","_Context","_excluded","obj","__esModule","default","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","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","FormLabel","localProps","context","React","useContext","Context","props","extendPropsWithContext","skeleton","pickFormElementProps","FormRow","formElement","forId","text","srOnly","vertical","size","element","Element","innerRef","className","children","for_id","sr_only","label_direction","attributes","params","classnames","isTrue","createSkeletonClass","createSpacingClasses","htmlFor","skeletonDOMAttributes","validateDOMAttributes","createElement","_supportsSpacingProps"],"sources":["../../../../src/components/form-label/FormLabel.tsx"],"sourcesContent":["/**\n * Web FormLabel Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContext,\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Context from '../../shared/Context'\nimport {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\n\nexport type FormLabelProps = {\n forId?: string\n element?: DynamicElement<HTMLLabelElement>\n text?: React.ReactNode\n size?: 'basis' | 'medium' | 'large'\n id?: string\n skeleton?: boolean\n label?: React.ReactNode\n vertical?: boolean\n srOnly?: boolean\n innerRef?: React.RefObject<HTMLElement>\n\n /** Is not a part of HTMLLabelElement and not documented as of now */\n disabled?: boolean\n\n /** @deprecated use forId instead */\n for_id?: string\n /** @deprecated use srOnly instead */\n sr_only?: boolean\n /** @deprecated use labelDirection instead (was not documented before) */\n label_direction?: 'vertical' | 'horizontal'\n}\n\nexport type FormLabelAllProps = FormLabelProps &\n React.HTMLAttributes<HTMLLabelElement> &\n SpacingProps\n\nexport default function FormLabel(localProps: FormLabelAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n null,\n { skeleton: context?.skeleton },\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context?.FormLabel\n )\n\n const {\n forId,\n text,\n srOnly,\n vertical,\n size,\n skeleton,\n element: Element = 'label',\n innerRef,\n className,\n children,\n\n /** @deprecated can be removed in v11 */\n for_id,\n sr_only,\n label_direction,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-form-label',\n (isTrue(vertical) || label_direction === 'vertical') &&\n `dnb-form-label--vertical`,\n (srOnly || isTrue(sr_only)) && 'dnb-sr-only',\n size && `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(props),\n className\n ),\n htmlFor: forId || for_id,\n ...(attributes as DynamicElementParams),\n }\n\n params['ref'] = innerRef\n\n skeletonDOMAttributes(params, skeleton, context)\n validateDOMAttributes(localProps, params)\n\n return <Element {...params}>{text || children}</Element>\n}\n\nFormLabel._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormLabel.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_SpacingHelper","_SkeletonHelper","_filterValidProps","_Context","_excluded","obj","__esModule","default","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","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","FormLabel","localProps","context","React","useContext","Context","props","extendPropsWithContext","skeleton","pickFormElementProps","FormRow","formElement","forId","text","srOnly","vertical","size","element","Element","innerRef","className","children","for_id","sr_only","label_direction","attributes","isInteractive","disabled","onClick","params","classnames","isTrue","createSkeletonClass","createSpacingClasses","htmlFor","skeletonDOMAttributes","validateDOMAttributes","createElement","_supportsSpacingProps"],"sources":["../../../../src/components/form-label/FormLabel.tsx"],"sourcesContent":["/**\n * Web FormLabel Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContext,\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Context from '../../shared/Context'\nimport {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\n\nexport type FormLabelProps = {\n forId?: string\n element?: DynamicElement<HTMLLabelElement>\n text?: React.ReactNode\n size?: 'basis' | 'medium' | 'large'\n id?: string\n skeleton?: boolean\n label?: React.ReactNode\n vertical?: boolean\n srOnly?: boolean\n innerRef?: React.RefObject<HTMLElement>\n\n /** Is not a part of HTMLLabelElement and not documented as of now */\n disabled?: boolean\n\n /** @deprecated use forId instead */\n for_id?: string\n /** @deprecated use srOnly instead */\n sr_only?: boolean\n /** @deprecated use labelDirection instead (was not documented before) */\n label_direction?: 'vertical' | 'horizontal'\n}\n\nexport type FormLabelAllProps = FormLabelProps &\n React.HTMLAttributes<HTMLLabelElement> &\n SpacingProps\n\nexport default function FormLabel(localProps: FormLabelAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n null,\n { skeleton: context?.skeleton },\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context?.FormLabel\n )\n\n const {\n forId,\n text,\n srOnly,\n vertical,\n size,\n skeleton,\n element: Element = 'label',\n innerRef,\n className,\n children,\n\n /** @deprecated can be removed in v11 */\n for_id,\n sr_only,\n label_direction,\n\n ...attributes\n } = props\n\n const isInteractive =\n !props.disabled &&\n !srOnly &&\n (typeof props.onClick === 'function' || forId || for_id)\n\n const params = {\n className: classnames(\n 'dnb-form-label',\n (isTrue(vertical) || label_direction === 'vertical') &&\n `dnb-form-label--vertical`,\n (srOnly || isTrue(sr_only)) && 'dnb-sr-only',\n size && `dnb-h--${size}`,\n isInteractive && 'dnb-form-label--interactive',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(props),\n className\n ),\n htmlFor: forId || for_id,\n ...(attributes as DynamicElementParams),\n }\n\n params['ref'] = innerRef\n\n skeletonDOMAttributes(params, skeleton, context)\n validateDOMAttributes(localProps, params)\n\n return <Element {...params}>{text || children}</Element>\n}\n\nFormLabel._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -5,9 +5,9 @@
5
5
  .dnb-form-label {
6
6
  color: var(--color-black-80);
7
7
  }
8
- .dnb-form-label[for]:not([disabled]) {
8
+ .dnb-form-label--interactive {
9
9
  cursor: pointer;
10
10
  }
11
- .dnb-form-label[for]:not([disabled]):hover {
11
+ .dnb-form-label--interactive:hover {
12
12
  color: var(--color-sea-green);
13
13
  }
@@ -1 +1 @@
1
- .dnb-form-label{color:var(--color-black-80)}.dnb-form-label[for]:not([disabled]){cursor:pointer}.dnb-form-label[for]:not([disabled]):hover{color:var(--color-sea-green)}
1
+ .dnb-form-label{color:var(--color-black-80)}.dnb-form-label--interactive{cursor:pointer}.dnb-form-label--interactive:hover{color:var(--color-sea-green)}
@@ -6,7 +6,7 @@
6
6
  .dnb-form-label {
7
7
  color: var(--color-black-80);
8
8
 
9
- &[for]:not([disabled]) {
9
+ &--interactive {
10
10
  cursor: pointer;
11
11
 
12
12
  &:hover {
@@ -18,7 +18,7 @@
18
18
  width: 100%; // to help #input stretch
19
19
  }
20
20
 
21
- // for hoizontal direction
21
+ // for horizontal direction
22
22
  &:not(#{&}--vertical) {
23
23
  & > .dnb-form-row__content {
24
24
  align-items: baseline;
@@ -10,7 +10,7 @@
10
10
 
11
11
  // sine we use vertical-align: top on the SVG
12
12
  // we have to move center the alignment here again
13
- // else basic text aferwars will get aligned on top
13
+ // else basic text afterwards will get aligned on top
14
14
  vertical-align: middle;
15
15
 
16
16
  font-size: 1rem; // to make sure we have always the same starting point
@@ -63,7 +63,7 @@ export interface InputMaskedProps
63
63
  */
64
64
  currency_mask?: InputMaskedCurrencyMask;
65
65
  /**
66
- * Use it to manipulate internal masks. You can use it instead of e.g. `number_mask` or `curreny_mask`. All options are listed below.
66
+ * Use it to manipulate internal masks. You can use it instead of e.g. `number_mask` or `currency_mask`. All options are listed below.
67
67
  */
68
68
  mask_options?: InputMaskedMaskOptions;
69
69
  /**
@@ -254,5 +254,4 @@ export interface InputMaskedProps
254
254
  children?: InputMaskedChildren;
255
255
  on_state_update?: (...args: any[]) => any;
256
256
  }
257
- declare const InputMasked: React.FC<InputMaskedProps>;
258
257
  export default InputMasked;
@@ -38,9 +38,6 @@ const InputMasked = props => {
38
38
  }
39
39
  }, _InputMaskedElement || (_InputMaskedElement = _react.default.createElement(_InputMaskedElement2.default, null)));
40
40
  };
41
- InputMasked._supportsSpacingProps = true;
42
- var _default = InputMasked;
43
- exports.default = _default;
44
41
  process.env.NODE_ENV !== "production" ? InputMasked.propTypes = _objectSpread({
45
42
  mask: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.func]),
46
43
  number_mask: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool, _propTypes.default.object]),
@@ -87,4 +84,7 @@ InputMasked.defaultProps = _objectSpread(_objectSpread({}, _Input.default.defaul
87
84
  on_submit_focus: null,
88
85
  on_submit_blur: null
89
86
  });
87
+ InputMasked._supportsSpacingProps = true;
88
+ var _default = InputMasked;
89
+ exports.default = _default;
90
90
  //# sourceMappingURL=InputMasked.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputMasked.js","names":["_react","_interopRequireDefault","require","_propTypes","_componentHelper","_InputMaskedContext","_InputMaskedElement2","_Input","_interopRequireWildcard","_Context","_InputMaskedElement","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","InputMasked","props","context","React","useContext","Context","mask","alias","test","contextAndProps","useCallback","extendPropsWithContext","defaultProps","createElement","Provider","_supportsSpacingProps","_default","exports","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","array","func","number_mask","string","bool","currency_mask","mask_options","number_format","locale","as_currency","as_number","as_percent","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","inner_ref","on_change","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","inputPropTypes","Input"],"sources":["../../../../src/components/input-masked/InputMasked.js"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport InputMaskedContext from './InputMaskedContext'\nimport InputMaskedElement from './InputMaskedElement'\nimport Input, { inputPropTypes } from '../input/Input'\nimport Context from '../../shared/Context'\n\nconst InputMasked = (props) => {\n const context = React.useContext(Context)\n\n // Remove masks defined in Provider/Context, because it overwrites a custom mask\n if (props?.mask) {\n const alias = context?.InputMasked\n for (const key in alias) {\n if (/^as[_A-Z]|number_mask|currency_mask/.test(key)) {\n delete alias[key]\n }\n }\n }\n\n const contextAndProps = React.useCallback(\n extendPropsWithContext(\n props,\n InputMasked.defaultProps,\n context?.InputMasked\n ),\n [props, InputMasked.defaultProps, context?.InputMasked]\n )\n\n return (\n <InputMaskedContext.Provider\n value={{\n props: contextAndProps,\n context,\n }}\n >\n <InputMaskedElement />\n </InputMaskedContext.Provider>\n )\n}\n\nInputMasked._supportsSpacingProps = true\n\nexport default InputMasked\n\nInputMasked.propTypes = {\n mask: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.func,\n ]),\n number_mask: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.object,\n ]),\n currency_mask: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.object,\n ]),\n mask_options: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n number_format: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n locale: PropTypes.string,\n as_currency: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n as_number: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n as_percent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n show_mask: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n show_guide: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n pipe: PropTypes.func,\n keep_char_positions: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n placeholder_char: PropTypes.string,\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n\n ...inputPropTypes,\n}\n\nInputMasked.defaultProps = {\n ...Input.defaultProps,\n\n mask: null,\n number_mask: null,\n currency_mask: null,\n mask_options: null,\n number_format: null,\n as_currency: null,\n as_number: null,\n as_percent: null,\n locale: null,\n show_mask: false,\n show_guide: true,\n pipe: null,\n keep_char_positions: false,\n placeholder_char: null,\n inner_ref: null,\n\n on_change: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputMasked.js","names":["_react","_interopRequireDefault","require","_propTypes","_componentHelper","_InputMaskedContext","_InputMaskedElement2","_Input","_interopRequireWildcard","_Context","_InputMaskedElement","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","InputMasked","props","context","React","useContext","Context","mask","alias","test","contextAndProps","useCallback","extendPropsWithContext","defaultProps","createElement","Provider","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","array","func","number_mask","string","bool","currency_mask","mask_options","number_format","locale","as_currency","as_number","as_percent","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","inner_ref","on_change","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","inputPropTypes","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/input-masked/InputMasked.js"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport InputMaskedContext from './InputMaskedContext'\nimport InputMaskedElement from './InputMaskedElement'\nimport Input, { inputPropTypes } from '../input/Input'\nimport Context from '../../shared/Context'\n\nconst InputMasked = (props) => {\n const context = React.useContext(Context)\n\n // Remove masks defined in Provider/Context, because it overwrites a custom mask\n if (props?.mask) {\n const alias = context?.InputMasked\n for (const key in alias) {\n if (/^as[_A-Z]|number_mask|currency_mask/.test(key)) {\n delete alias[key]\n }\n }\n }\n\n const contextAndProps = React.useCallback(\n extendPropsWithContext(\n props,\n InputMasked.defaultProps,\n context?.InputMasked\n ),\n [props, InputMasked.defaultProps, context?.InputMasked]\n )\n\n return (\n <InputMaskedContext.Provider\n value={{\n props: contextAndProps,\n context,\n }}\n >\n <InputMaskedElement />\n </InputMaskedContext.Provider>\n )\n}\n\nInputMasked.propTypes = {\n mask: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.func,\n ]),\n number_mask: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.object,\n ]),\n currency_mask: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.object,\n ]),\n mask_options: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n number_format: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n locale: PropTypes.string,\n as_currency: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n as_number: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n as_percent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n show_mask: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n show_guide: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n pipe: PropTypes.func,\n keep_char_positions: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n placeholder_char: PropTypes.string,\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n\n ...inputPropTypes,\n}\n\nInputMasked.defaultProps = {\n ...Input.defaultProps,\n\n mask: null,\n number_mask: null,\n currency_mask: null,\n mask_options: null,\n number_format: null,\n as_currency: null,\n as_number: null,\n as_percent: null,\n locale: null,\n show_mask: false,\n show_guide: true,\n pipe: null,\n keep_char_positions: false,\n placeholder_char: null,\n inner_ref: null,\n\n on_change: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n}\n\nInputMasked._supportsSpacingProps = true\n\nexport default InputMasked\n"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import { SpacingProps } from '../space/types';
3
+ import { FormStatusState, FormStatusText } from '../FormStatus';
4
+ export type MultiInputMaskInput<T extends string> = {
5
+ /**
6
+ * 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.
7
+ */
8
+ id: T;
9
+ /**
10
+ * Label used by the input. The label itself is hidden, but required to uphold accessibility standards for screen readers.
11
+ */
12
+ label: React.ReactNode;
13
+ /**
14
+ * 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
15
+ */
16
+ mask: RegExp[];
17
+ /**
18
+ * Sets the placeholder character used for the input.
19
+ */
20
+ placeholderCharacter: string;
21
+ };
22
+ export type MultiInputMaskValue<T extends string> = {
23
+ [K in T]: string;
24
+ };
25
+ export type MultiInputMaskProps<T extends string> = {
26
+ /**
27
+ * The label describing the group of inputs inside the components.
28
+ */
29
+ label?: React.ReactNode;
30
+ /**
31
+ * Use to change the label layout direction. Defaults to `horizontal`.
32
+ */
33
+ labelDirection?: 'vertical' | 'horizontal';
34
+ /**
35
+ * 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`
36
+ */
37
+ inputs: MultiInputMaskInput<T>[];
38
+ /**
39
+ * Values used for the inputs inside the component. Expects an object with keys matching the id's defined in `inputs`
40
+ */
41
+ values?: MultiInputMaskValue<T>;
42
+ /**
43
+ * Defines the delimiter used to separate the inputs inside the component.
44
+ */
45
+ delimiter?: string;
46
+ /**
47
+ * 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}`
48
+ */
49
+ onChange?: (values: MultiInputMaskValue<T>) => void;
50
+ /**
51
+ * 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.
52
+ */
53
+ status?: FormStatusText;
54
+ /**
55
+ * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
56
+ */
57
+ statusState?: FormStatusState;
58
+ } & Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'ref' | 'value' | 'label'> & SpacingProps;
59
+ declare function MultiInputMask<T extends string>({ label, labelDirection, inputs, delimiter, onChange: onChangeExternal, disabled, status, statusState, values: defaultValues, className, ...props }: MultiInputMaskProps<T>): import("react/jsx-runtime").JSX.Element;
60
+ export default MultiInputMask;
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Input = _interopRequireDefault(require("../Input"));
10
+ var _TextMask = _interopRequireDefault(require("./TextMask"));
11
+ var _useHandleCursorPosition = _interopRequireDefault(require("./hooks/useHandleCursorPosition"));
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _FormLabel = _interopRequireDefault(require("../FormLabel"));
14
+ var _SpacingHelper = require("../space/SpacingHelper");
15
+ var _useMultiInputValues = require("./hooks/useMultiInputValues");
16
+ const _excluded = ["label", "labelDirection", "inputs", "delimiter", "onChange", "disabled", "status", "statusState", "values", "className"];
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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); }
19
+ 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; }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+ function MultiInputMask(_ref) {
24
+ let {
25
+ label,
26
+ labelDirection = 'horizontal',
27
+ inputs,
28
+ delimiter,
29
+ onChange: onChangeExternal,
30
+ disabled,
31
+ status,
32
+ statusState,
33
+ values: defaultValues,
34
+ className
35
+ } = _ref,
36
+ props = _objectWithoutProperties(_ref, _excluded);
37
+ const [values, onChange] = (0, _useMultiInputValues.useMultiInputValue)({
38
+ inputs,
39
+ defaultValues,
40
+ callback: onChangeExternal
41
+ });
42
+ const inputRefs = (0, _react.useRef)([]);
43
+ const {
44
+ onKeyDown
45
+ } = (0, _useHandleCursorPosition.default)(inputRefs.current, getKeysToHandle());
46
+ const WrapperElement = label ? 'fieldset' : 'div';
47
+ return _react.default.createElement(WrapperElement, {
48
+ className: (0, _classnames.default)('dnb-multi-input-mask__fieldset', (0, _SpacingHelper.createSpacingClasses)(props), labelDirection === 'horizontal' && 'dnb-multi-input-mask__fieldset--horizontal')
49
+ }, label && _react.default.createElement(_FormLabel.default, {
50
+ className: 'dnb-multi-input-mask__legend' + (labelDirection === 'horizontal' ? " dnb-multi-input-mask__legend--horizontal" : ""),
51
+ element: "legend",
52
+ onClick: onLegendClick,
53
+ disabled: disabled,
54
+ vertical: labelDirection === 'vertical'
55
+ }, _react.default.createElement("span", null, label)), _react.default.createElement(_Input.default, _extends({}, props, {
56
+ className: (0, _classnames.default)('dnb-multi-input-mask', className),
57
+ disabled: disabled,
58
+ status: status,
59
+ status_state: statusState,
60
+ input_element: inputs.map((input, index) => _react.default.createElement(_react.Fragment, {
61
+ key: input.id
62
+ }, _react.default.createElement(MultiInputMaskInput, _extends({}, input, {
63
+ value: values[input.id],
64
+ delimiter: index !== inputs.length - 1 ? delimiter : undefined,
65
+ onKeyDown: onKeyDown,
66
+ onChange: onChange,
67
+ disabled: disabled,
68
+ inputRef: getInputRef
69
+ }))))
70
+ })));
71
+ function onLegendClick() {
72
+ if (disabled) {
73
+ return;
74
+ }
75
+ const firstInput = inputRefs.current[0].current;
76
+ firstInput.focus();
77
+ firstInput.setSelectionRange(0, 0);
78
+ }
79
+ function getInputRef(ref) {
80
+ const inputRef = ref === null || ref === void 0 ? void 0 : ref.inputRef;
81
+ if (inputRef && !inputRefs.current.includes(inputRef)) {
82
+ inputRefs.current.push(inputRef);
83
+ }
84
+ }
85
+ function getKeysToHandle() {
86
+ const uniqueMasks = getUniqueMasks();
87
+ if (uniqueMasks.size === 1) {
88
+ const pattern = uniqueMasks.values().next().value.replace(/\//g, '');
89
+ return new RegExp(pattern);
90
+ }
91
+ return inputs.reduce((keys, _ref2) => {
92
+ let {
93
+ id,
94
+ mask
95
+ } = _ref2;
96
+ keys[`${id}__input`] = mask;
97
+ return keys;
98
+ }, {});
99
+ }
100
+ function getUniqueMasks() {
101
+ const masks = new Set();
102
+ inputs.forEach(input => {
103
+ input.mask.forEach(pattern => masks.add(String(pattern)));
104
+ });
105
+ return masks;
106
+ }
107
+ }
108
+ function MultiInputMaskInput(_ref3) {
109
+ let {
110
+ id,
111
+ label,
112
+ value,
113
+ mask,
114
+ placeholderCharacter,
115
+ delimiter,
116
+ disabled,
117
+ inputRef,
118
+ onKeyDown,
119
+ onChange
120
+ } = _ref3;
121
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_TextMask.default, {
122
+ id: `${id}__input`,
123
+ className: "dnb-input__input dnb-multi-input-mask__input" + (value ? " dnb-multi-input-mask__input--highlight" : ""),
124
+ disabled: disabled,
125
+ size: mask.length,
126
+ mask: mask,
127
+ value: value !== null && value !== void 0 ? value : '',
128
+ placeholderChar: placeholderCharacter,
129
+ guide: true,
130
+ showMask: true,
131
+ keepCharPositions: false,
132
+ "aria-labelledby": `${id}__label`,
133
+ ref: inputRef,
134
+ onKeyDown: onKeyDown,
135
+ onFocus: onFocus,
136
+ onChange: event => {
137
+ onChange(id, removePlaceholder(event.target.value, placeholderCharacter));
138
+ }
139
+ }), _react.default.createElement("label", {
140
+ id: `${id}__label`,
141
+ htmlFor: `${id}__input`,
142
+ hidden: true
143
+ }, label), delimiter && _react.default.createElement("span", {
144
+ "aria-hidden": true,
145
+ className: 'dnb-multi-input-mask__delimiter' + (value ? " dnb-multi-input-mask__delimiter--highlight" : "")
146
+ }, delimiter));
147
+ function removePlaceholder(value, placeholder) {
148
+ return value.replace(RegExp(placeholder, 'gm'), '');
149
+ }
150
+ function onFocus(_ref4) {
151
+ let {
152
+ target
153
+ } = _ref4;
154
+ target.focus();
155
+ target.select();
156
+ }
157
+ }
158
+ var _default = MultiInputMask;
159
+ exports.default = _default;
160
+ //# sourceMappingURL=MultiInputMask.js.map