@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
@@ -10,38 +10,38 @@ export class FormError extends Error {
10
10
  }
11
11
  const dataValueReadProps = ['path', 'elementPath', 'value'];
12
12
  export function pickDataValueReadProps(props) {
13
- return Object.fromEntries(Object.entries(props ?? {}).filter(_ref => {
13
+ return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref => {
14
14
  let [key] = _ref;
15
15
  return dataValueReadProps.includes(key);
16
16
  }));
17
17
  }
18
18
  export function omitDataValueReadProps(props) {
19
- return Object.fromEntries(Object.entries(props ?? {}).filter(_ref2 => {
19
+ return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref2 => {
20
20
  let [key] = _ref2;
21
21
  return !dataValueReadProps.includes(key);
22
22
  }));
23
23
  }
24
24
  const dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange'];
25
25
  export function pickDataValueWriteProps(props) {
26
- return Object.fromEntries(Object.entries(props ?? {}).filter(_ref3 => {
26
+ return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref3 => {
27
27
  let [key] = _ref3;
28
28
  return dataValueWriteProps.includes(key);
29
29
  }));
30
30
  }
31
31
  export function omitDataValueWriteProps(props) {
32
- return Object.fromEntries(Object.entries(props ?? {}).filter(_ref4 => {
32
+ return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref4 => {
33
33
  let [key] = _ref4;
34
34
  return !dataValueWriteProps.includes(key);
35
35
  }));
36
36
  }
37
37
  export function pickDataValueReadWriteProps(props) {
38
- return Object.fromEntries(Object.entries(props ?? {}).filter(_ref5 => {
38
+ return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref5 => {
39
39
  let [key] = _ref5;
40
40
  return dataValueReadProps.includes(key) || dataValueWriteProps.includes(key);
41
41
  }));
42
42
  }
43
43
  export function omitDataValueReadWriteProps(props) {
44
- return Object.fromEntries(Object.entries(props ?? {}).filter(_ref6 => {
44
+ return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(_ref6 => {
45
45
  let [key] = _ref6;
46
46
  return !dataValueReadProps.includes(key) && !dataValueWriteProps.includes(key);
47
47
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ninterface IFormErrorOptions {\n validationRule?: string | string[]\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: string | string[]\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n }\n }\n}\n\n// Data value\n\ninterface DefaultErrorMessages {\n required?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'elementPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: (value: Value | EmptyValue) => void\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport interface FieldProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n ErrorMessages extends { required?: string } = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue> {\n /** ID added to the actual field component, and linked to the label via for-attribute */\n id?: string\n name?: string\n layout?: 'horizontal' | 'vertical'\n /** Main label text */\n label?: React.ReactNode\n /** A more discreet text displayed beside the label (i.e for \"(optional)\") */\n labelDescription?: React.ReactNode\n /** Secondary information displayed at the end of the label line (i.e character counter) */\n labelSecondary?: React.ReactNode\n /** Text showing in place of the value if no value is given */\n placeholder?: string\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n info?: Error | FormError | string\n warning?: Error | FormError | string\n error?: Error | FormError\n disabled?: boolean\n // Validation\n required?: boolean\n schema?: JSONSchema7\n validator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n * */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /** Should validation be done while writing, not just when blurring the field? */\n continuousValidation?: boolean\n errorMessages?: ErrorMessages\n // Derivatives\n toInput?: (external: Value | undefined) => any\n fromInput?: (...args: any[]) => Value | undefined\n}\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n contents?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n label?: string\n /** Should the component render if the value is empty? */\n showEmpty?: boolean\n /** Text showing in place of the value if no value is given. */\n placeholder?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n /** For showing the value inline (not as a block element) */\n inline?: boolean\n // Derivatives\n /** Prepare value for display (regardless of source like props or data context) */\n prepare?: (external: Value | undefined) => string\n}\n"],"mappings":";AAUA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAMnCC,WAAWA,CAACC,OAAe,EAAEC,OAA2B,EAAE;IACxD,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,IAAI,CAACE,cAAc,GAAGF,OAAO,CAACE,cAAc;IAC9C;EACF;AACF;AAgBA,MAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC;AAE3D,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OACvCP,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCR,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCK,KAAA;IAAA,IAAC,CAACH,GAAG,CAAC,GAAAG,KAAA;IAAA,OAAK,CAACX,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC9C,CACF,CAAC;AACH;AAYA,MAAMI,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCX,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACQ,KAAA;IAAA,IAAC,CAACN,GAAG,CAAC,GAAAM,KAAA;IAAA,OACvCF,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACnC,CACF,CAAC;AACH;AAEA,OAAO,SAASO,uBAAuBA,CACrCb,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCU,KAAA;IAAA,IAAC,CAACR,GAAG,CAAC,GAAAQ,KAAA;IAAA,OAAK,CAACJ,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC/C,CACF,CAAC;AACH;AAOA,OAAO,SAASS,2BAA2BA,CAEzCf,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCY,KAAA;IAAA,IAAC,CAACV,GAAG,CAAC,GAAAU,KAAA;IAAA,OACJlB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IAChCI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACrC,CACF,CAAC;AACH;AAEA,OAAO,SAASW,2BAA2BA,CAGzCjB,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCc,KAAA;IAAA,IAAC,CAACZ,GAAG,CAAC,GAAAY,KAAA;IAAA,OACJ,CAACpB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACtC,CACF,CAAC;AACH"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ninterface IFormErrorOptions {\n validationRule?: string | string[]\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: string | string[]\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n }\n }\n}\n\n// Data value\n\ninterface DefaultErrorMessages {\n required?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'elementPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: (value: Value | EmptyValue) => void\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport interface FieldProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n ErrorMessages extends { required?: string } = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue> {\n /** ID added to the actual field component, and linked to the label via for-attribute */\n id?: string\n name?: string\n layout?: 'horizontal' | 'vertical'\n /** Main label text */\n label?: React.ReactNode\n /** A more discreet text displayed beside the label (i.e for \"(optional)\") */\n labelDescription?: React.ReactNode\n /** Secondary information displayed at the end of the label line (i.e character counter) */\n labelSecondary?: React.ReactNode\n /** Text showing in place of the value if no value is given */\n placeholder?: string\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n info?: Error | FormError | string\n warning?: Error | FormError | string\n error?: Error | FormError\n disabled?: boolean\n // Validation\n required?: boolean\n schema?: JSONSchema7\n validator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n * */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /** Should validation be done while writing, not just when blurring the field? */\n continuousValidation?: boolean\n errorMessages?: ErrorMessages\n // Derivatives\n toInput?: (external: Value | undefined) => any\n fromInput?: (...args: any[]) => Value | undefined\n}\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n contents?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n label?: string\n /** Should the component render if the value is empty? */\n showEmpty?: boolean\n /** Text showing in place of the value if no value is given. */\n placeholder?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n /** For showing the value inline (not as a block element) */\n inline?: boolean\n // Derivatives\n /** Prepare value for display (regardless of source like props or data context) */\n prepare?: (external: Value | undefined) => string\n}\n"],"mappings":"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"}
@@ -30,7 +30,8 @@ function getValidationRule(ajvError) {
30
30
  return ajvError.keyword;
31
31
  }
32
32
  function ajvErrorToFormError(ajvError) {
33
- const error = new FormError(ajvError.message ?? 'Unknown error', {
33
+ var _ajvError$message;
34
+ const error = new FormError((_ajvError$message = ajvError.message) !== null && _ajvError$message !== void 0 ? _ajvError$message : 'Unknown error', {
34
35
  validationRule: getValidationRule(ajvError)
35
36
  });
36
37
  return error;
@@ -47,7 +48,7 @@ export function ajvErrorsToOneFormError(errors) {
47
48
  validationRule: errors.map(getValidationRule)
48
49
  });
49
50
  }
50
- export const ajvErrorsToFormErrors = errors => (errors ?? []).reduce((errors, ajvError) => {
51
+ export const ajvErrorsToFormErrors = errors => (errors !== null && errors !== void 0 ? errors : []).reduce((errors, ajvError) => {
51
52
  return _objectSpread(_objectSpread({}, errors), {}, {
52
53
  [getInstancePath(ajvError)]: ajvErrorToFormError(ajvError)
53
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.js","names":["Ajv","ajvErrors","FormError","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","ajvErrorToFormError","error","message","validationRule","ajvErrorsToOneFormError","length","errorMessages","map","join","ajvErrorsToFormErrors","reduce","_objectSpread"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import Ajv, { ErrorObject } from 'ajv'\nimport ajvErrors from 'ajv-errors'\nimport { FormError } from '../types'\n\nconst ajv = new Ajv({\n // If allErrors is off, ajv only give you the first error it finds\n allErrors: true,\n})\n\najvErrors(ajv)\n\nfunction getInstancePath(ajvError: ErrorObject): string {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\nfunction getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\nfunction ajvErrorToFormError(ajvError: ErrorObject): FormError {\n const error = new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n })\n return error\n}\n\n/**\n * Transform errors from ajv-validation into one error object (i.e for validating a flat value)\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n return ajvErrorToFormError(errors[0])\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' | '), {\n validationRule: errors.map(getValidationRule),\n })\n}\n\n/**\n *\n * @param errors Transform errors from ajv-validation into a record of errors (path as key, error as value)\n * @returns\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null\n): Record<string, FormError> =>\n (errors ?? []).reduce((errors, ajvError) => {\n return {\n ...errors,\n [getInstancePath(ajvError)]: ajvErrorToFormError(ajvError),\n }\n }, {})\n\nexport default ajv\n"],"mappings":";;;AAAA,OAAOA,GAAG,MAAuB,KAAK;AACtC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,UAAU;AAEpC,MAAMC,GAAG,GAAG,IAAIH,GAAG,CAAC;EAElBI,SAAS,EAAE;AACb,CAAC,CAAC;AAEFH,SAAS,CAACE,GAAG,CAAC;AAEd,SAASE,eAAeA,CAACC,QAAqB,EAAU;EACtD,QAAQA,QAAQ,CAACC,OAAO;IACtB,KAAK,UAAU;MAAE;QAGf,OAAQ,GAAED,QAAQ,CAACE,YAAa,IAAGF,QAAQ,CAACG,MAAM,CAACC,eAAgB,EAAC;MACtE;IACA,KAAK,cAAc;MAAE;QAGnB,IAAIJ,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;UAC7B,OAAON,eAAe,CAACC,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD;MACF;EACF;EACA,OAAOL,QAAQ,CAACE,YAAY;AAC9B;AAEA,SAASI,iBAAiBA,CAACN,QAAqB,EAAU;EACxD,IAAIA,QAAQ,CAACC,OAAO,KAAK,cAAc,IAAID,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;IAGpE,OAAOC,iBAAiB,CAACN,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD;EACA,OAAOL,QAAQ,CAACC,OAAO;AACzB;AAEA,SAASM,mBAAmBA,CAACP,QAAqB,EAAa;EAC7D,MAAMQ,KAAK,GAAG,IAAIZ,SAAS,CAACI,QAAQ,CAACS,OAAO,IAAI,eAAe,EAAE;IAC/DC,cAAc,EAAEJ,iBAAiB,CAACN,QAAQ;EAC5C,CAAC,CAAC;EACF,OAAOQ,KAAK;AACd;AAKA,OAAO,SAASG,uBAAuBA,CACrCN,MAA6B,EACN;EACvB,IAAI,CAACA,MAAM,IAAIA,MAAM,CAACO,MAAM,KAAK,CAAC,EAAE;IAClC;EACF;EACA,IAAIP,MAAM,CAACO,MAAM,KAAK,CAAC,EAAE;IACvB,OAAOL,mBAAmB,CAACF,MAAM,CAAC,CAAC,CAAC,CAAC;EACvC;EAEA,MAAMQ,aAAa,GAAGR,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,GAAG,CAAEN,KAAK,IAAKA,KAAK,CAACC,OAAO,CAAC;EAC3D,OAAO,IAAIb,SAAS,CAACiB,aAAa,CAACE,IAAI,CAAC,KAAK,CAAC,EAAE;IAC9CL,cAAc,EAAEL,MAAM,CAACS,GAAG,CAACR,iBAAiB;EAC9C,CAAC,CAAC;AACJ;AAOA,OAAO,MAAMU,qBAAqB,GAChCX,MAA6B,IAE7B,CAACA,MAAM,IAAI,EAAE,EAAEY,MAAM,CAAC,CAACZ,MAAM,EAAEL,QAAQ,KAAK;EAC1C,OAAAkB,aAAA,CAAAA,aAAA,KACKb,MAAM;IACT,CAACN,eAAe,CAACC,QAAQ,CAAC,GAAGO,mBAAmB,CAACP,QAAQ;EAAC;AAE9D,CAAC,EAAE,CAAC,CAAC,CAAC;AAER,eAAeH,GAAG"}
1
+ {"version":3,"file":"ajv.js","names":["Ajv","ajvErrors","FormError","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","ajvErrorToFormError","_ajvError$message","error","message","validationRule","ajvErrorsToOneFormError","length","errorMessages","map","join","ajvErrorsToFormErrors","reduce","_objectSpread"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import Ajv, { ErrorObject } from 'ajv'\nimport ajvErrors from 'ajv-errors'\nimport { FormError } from '../types'\n\nconst ajv = new Ajv({\n // If allErrors is off, ajv only give you the first error it finds\n allErrors: true,\n})\n\najvErrors(ajv)\n\nfunction getInstancePath(ajvError: ErrorObject): string {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\nfunction getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\nfunction ajvErrorToFormError(ajvError: ErrorObject): FormError {\n const error = new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n })\n return error\n}\n\n/**\n * Transform errors from ajv-validation into one error object (i.e for validating a flat value)\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n return ajvErrorToFormError(errors[0])\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' | '), {\n validationRule: errors.map(getValidationRule),\n })\n}\n\n/**\n *\n * @param errors Transform errors from ajv-validation into a record of errors (path as key, error as value)\n * @returns\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null\n): Record<string, FormError> =>\n (errors ?? []).reduce((errors, ajvError) => {\n return {\n ...errors,\n [getInstancePath(ajvError)]: ajvErrorToFormError(ajvError),\n }\n }, {})\n\nexport default ajv\n"],"mappings":";;;AAAA,OAAOA,GAAG,MAAuB,KAAK;AACtC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,UAAU;AAEpC,MAAMC,GAAG,GAAG,IAAIH,GAAG,CAAC;EAElBI,SAAS,EAAE;AACb,CAAC,CAAC;AAEFH,SAAS,CAACE,GAAG,CAAC;AAEd,SAASE,eAAeA,CAACC,QAAqB,EAAU;EACtD,QAAQA,QAAQ,CAACC,OAAO;IACtB,KAAK,UAAU;MAAE;QAGf,OAAQ,GAAED,QAAQ,CAACE,YAAa,IAAGF,QAAQ,CAACG,MAAM,CAACC,eAAgB,EAAC;MACtE;IACA,KAAK,cAAc;MAAE;QAGnB,IAAIJ,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;UAC7B,OAAON,eAAe,CAACC,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD;MACF;EACF;EACA,OAAOL,QAAQ,CAACE,YAAY;AAC9B;AAEA,SAASI,iBAAiBA,CAACN,QAAqB,EAAU;EACxD,IAAIA,QAAQ,CAACC,OAAO,KAAK,cAAc,IAAID,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;IAGpE,OAAOC,iBAAiB,CAACN,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD;EACA,OAAOL,QAAQ,CAACC,OAAO;AACzB;AAEA,SAASM,mBAAmBA,CAACP,QAAqB,EAAa;EAAA,IAAAQ,iBAAA;EAC7D,MAAMC,KAAK,GAAG,IAAIb,SAAS,EAAAY,iBAAA,GAACR,QAAQ,CAACU,OAAO,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,eAAe,EAAE;IAC/DG,cAAc,EAAEL,iBAAiB,CAACN,QAAQ;EAC5C,CAAC,CAAC;EACF,OAAOS,KAAK;AACd;AAKA,OAAO,SAASG,uBAAuBA,CACrCP,MAA6B,EACN;EACvB,IAAI,CAACA,MAAM,IAAIA,MAAM,CAACQ,MAAM,KAAK,CAAC,EAAE;IAClC;EACF;EACA,IAAIR,MAAM,CAACQ,MAAM,KAAK,CAAC,EAAE;IACvB,OAAON,mBAAmB,CAACF,MAAM,CAAC,CAAC,CAAC,CAAC;EACvC;EAEA,MAAMS,aAAa,GAAGT,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEU,GAAG,CAAEN,KAAK,IAAKA,KAAK,CAACC,OAAO,CAAC;EAC3D,OAAO,IAAId,SAAS,CAACkB,aAAa,CAACE,IAAI,CAAC,KAAK,CAAC,EAAE;IAC9CL,cAAc,EAAEN,MAAM,CAACU,GAAG,CAACT,iBAAiB;EAC9C,CAAC,CAAC;AACJ;AAOA,OAAO,MAAMW,qBAAqB,GAChCZ,MAA6B,IAE7B,CAACA,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,EAAEa,MAAM,CAAC,CAACb,MAAM,EAAEL,QAAQ,KAAK;EAC1C,OAAAmB,aAAA,CAAAA,aAAA,KACKd,MAAM;IACT,CAACN,eAAe,CAACC,QAAQ,CAAC,GAAGO,mBAAmB,CAACP,QAAQ;EAAC;AAE9D,CAAC,EAAE,CAAC,CAAC,CAAC;AAER,eAAeH,GAAG"}
@@ -7,7 +7,7 @@ export function formatNumber(value, options) {
7
7
  magnitude,
8
8
  prefix,
9
9
  suffix
10
- } = options ?? {};
10
+ } = options !== null && options !== void 0 ? options : {};
11
11
  const withMagnitude = magnitude !== undefined ? value / Math.pow(10, magnitude) : value;
12
12
  const withDecimals = fixedDecimals !== undefined ? withMagnitude.toFixed(fixedDecimals) : decimalLimit ? (Math.round(withMagnitude * Math.pow(10, decimalLimit)) / Math.pow(10, decimalLimit)).toString() : withMagnitude.toString();
13
13
  const withDecimalSymbol = decimalSymbol !== undefined ? withDecimals.replace('.', decimalSymbol) : withDecimals;
@@ -23,7 +23,7 @@ export function parseFormattedNumber(formattedValue, options) {
23
23
  magnitude,
24
24
  prefix,
25
25
  suffix
26
- } = options ?? {};
26
+ } = options !== null && options !== void 0 ? options : {};
27
27
  const parsedDecimalSymbol = decimalSymbol !== undefined ? formattedValue.replace(decimalSymbol, '.') : formattedValue;
28
28
  const parsedThousandSeparator = thousandSeparator !== undefined ? parsedDecimalSymbol.split(thousandSeparator).join('') : parsedDecimalSymbol;
29
29
  const parsedPrefix = prefix !== undefined && parsedThousandSeparator.substring(0, prefix.length) === prefix ? parsedThousandSeparator.substring(prefix.length) : parsedThousandSeparator;
@@ -1 +1 @@
1
- {"version":3,"file":"numbers.js","names":["formatNumber","value","options","thousandSeparator","decimalLimit","fixedDecimals","decimalSymbol","magnitude","prefix","suffix","withMagnitude","undefined","Math","pow","withDecimals","toFixed","round","toString","withDecimalSymbol","replace","withThousandSeparator","withPrefix","withSuffix","parseFormattedNumber","formattedValue","parsedDecimalSymbol","parsedThousandSeparator","split","join","parsedPrefix","substring","length","parsedSuffix","slice","parsedNumber","Number","parsedMagnitude"],"sources":["../../../../../src/extensions/forms/utils/numbers.ts"],"sourcesContent":["interface FormatNumberOptions {\n prefix?: string\n suffix?: string\n /** Character to use for separating groups of number. Like '12 345' for 12345. */\n thousandSeparator?: string\n /** Max number of decimals. For source numbers with higher number of decimals, the number will be rounded. Will not add leading zeros. */\n decimalLimit?: number\n /** Set a fixed number of decimals (rounding when more decimals, adding leading zeros when less). */\n fixedDecimals?: number\n /** Symbol to separate between digits and decimals. */\n decimalSymbol?: string\n /** For showing magnitude of original number. For instance, 23500000 with magnitude 6 displays as 23,5 */\n magnitude?: number\n}\n\nexport function formatNumber(\n value: number,\n options?: FormatNumberOptions\n): string {\n const {\n thousandSeparator,\n decimalLimit,\n fixedDecimals,\n decimalSymbol = ',', // Norwegian default format\n magnitude,\n prefix,\n suffix,\n } = options ?? {}\n\n const withMagnitude =\n magnitude !== undefined ? value / Math.pow(10, magnitude) : value\n\n const withDecimals =\n fixedDecimals !== undefined\n ? withMagnitude.toFixed(fixedDecimals)\n : decimalLimit\n ? (\n Math.round(withMagnitude * Math.pow(10, decimalLimit)) /\n Math.pow(10, decimalLimit)\n ).toString()\n : withMagnitude.toString()\n\n const withDecimalSymbol =\n decimalSymbol !== undefined\n ? withDecimals.replace('.', decimalSymbol)\n : withDecimals\n\n const withThousandSeparator =\n thousandSeparator !== undefined\n ? withDecimalSymbol.replace(\n /\\B(?=(\\d{3})+(?!\\d))/g,\n thousandSeparator\n )\n : withDecimalSymbol\n\n const withPrefix =\n prefix !== undefined\n ? prefix + withThousandSeparator\n : withThousandSeparator\n\n const withSuffix =\n suffix !== undefined ? withPrefix + suffix : withPrefix\n\n return withSuffix\n}\n\nexport function parseFormattedNumber(\n formattedValue: string,\n options?: FormatNumberOptions\n): number {\n const {\n thousandSeparator,\n decimalSymbol = ',', // Norwegian default format\n magnitude,\n prefix,\n suffix,\n } = options ?? {}\n\n const parsedDecimalSymbol =\n decimalSymbol !== undefined\n ? formattedValue.replace(decimalSymbol, '.')\n : formattedValue\n\n const parsedThousandSeparator =\n thousandSeparator !== undefined\n ? parsedDecimalSymbol.split(thousandSeparator).join('')\n : parsedDecimalSymbol\n\n const parsedPrefix =\n prefix !== undefined &&\n parsedThousandSeparator.substring(0, prefix.length) === prefix\n ? parsedThousandSeparator.substring(prefix.length)\n : parsedThousandSeparator\n\n const parsedSuffix =\n suffix !== undefined &&\n parsedPrefix.slice(suffix.length * -1) === suffix\n ? parsedPrefix.substring(0, parsedPrefix.length - suffix.length)\n : parsedPrefix\n\n const parsedNumber = Number(parsedSuffix)\n\n const parsedMagnitude =\n magnitude !== undefined\n ? // toFixed to avoid inaccuracies (like 10/5 = 1.999999999999998)\n Number((parsedNumber * Math.pow(10, magnitude)).toFixed(6))\n : parsedNumber\n\n return parsedMagnitude\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"numbers.js","names":["formatNumber","value","options","thousandSeparator","decimalLimit","fixedDecimals","decimalSymbol","magnitude","prefix","suffix","withMagnitude","undefined","Math","pow","withDecimals","toFixed","round","toString","withDecimalSymbol","replace","withThousandSeparator","withPrefix","withSuffix","parseFormattedNumber","formattedValue","parsedDecimalSymbol","parsedThousandSeparator","split","join","parsedPrefix","substring","length","parsedSuffix","slice","parsedNumber","Number","parsedMagnitude"],"sources":["../../../../../src/extensions/forms/utils/numbers.ts"],"sourcesContent":["interface FormatNumberOptions {\n prefix?: string\n suffix?: string\n /** Character to use for separating groups of number. Like '12 345' for 12345. */\n thousandSeparator?: string\n /** Max number of decimals. For source numbers with higher number of decimals, the number will be rounded. Will not add leading zeros. */\n decimalLimit?: number\n /** Set a fixed number of decimals (rounding when more decimals, adding leading zeros when less). */\n fixedDecimals?: number\n /** Symbol to separate between digits and decimals. */\n decimalSymbol?: string\n /** For showing magnitude of original number. For instance, 23500000 with magnitude 6 displays as 23,5 */\n magnitude?: number\n}\n\nexport function formatNumber(\n value: number,\n options?: FormatNumberOptions\n): string {\n const {\n thousandSeparator,\n decimalLimit,\n fixedDecimals,\n decimalSymbol = ',', // Norwegian default format\n magnitude,\n prefix,\n suffix,\n } = options ?? {}\n\n const withMagnitude =\n magnitude !== undefined ? value / Math.pow(10, magnitude) : value\n\n const withDecimals =\n fixedDecimals !== undefined\n ? withMagnitude.toFixed(fixedDecimals)\n : decimalLimit\n ? (\n Math.round(withMagnitude * Math.pow(10, decimalLimit)) /\n Math.pow(10, decimalLimit)\n ).toString()\n : withMagnitude.toString()\n\n const withDecimalSymbol =\n decimalSymbol !== undefined\n ? withDecimals.replace('.', decimalSymbol)\n : withDecimals\n\n const withThousandSeparator =\n thousandSeparator !== undefined\n ? withDecimalSymbol.replace(\n /\\B(?=(\\d{3})+(?!\\d))/g,\n thousandSeparator\n )\n : withDecimalSymbol\n\n const withPrefix =\n prefix !== undefined\n ? prefix + withThousandSeparator\n : withThousandSeparator\n\n const withSuffix =\n suffix !== undefined ? withPrefix + suffix : withPrefix\n\n return withSuffix\n}\n\nexport function parseFormattedNumber(\n formattedValue: string,\n options?: FormatNumberOptions\n): number {\n const {\n thousandSeparator,\n decimalSymbol = ',', // Norwegian default format\n magnitude,\n prefix,\n suffix,\n } = options ?? {}\n\n const parsedDecimalSymbol =\n decimalSymbol !== undefined\n ? formattedValue.replace(decimalSymbol, '.')\n : formattedValue\n\n const parsedThousandSeparator =\n thousandSeparator !== undefined\n ? parsedDecimalSymbol.split(thousandSeparator).join('')\n : parsedDecimalSymbol\n\n const parsedPrefix =\n prefix !== undefined &&\n parsedThousandSeparator.substring(0, prefix.length) === prefix\n ? parsedThousandSeparator.substring(prefix.length)\n : parsedThousandSeparator\n\n const parsedSuffix =\n suffix !== undefined &&\n parsedPrefix.slice(suffix.length * -1) === suffix\n ? parsedPrefix.substring(0, parsedPrefix.length - suffix.length)\n : parsedPrefix\n\n const parsedNumber = Number(parsedSuffix)\n\n const parsedMagnitude =\n magnitude !== undefined\n ? // toFixed to avoid inaccuracies (like 10/5 = 1.999999999999998)\n Number((parsedNumber * Math.pow(10, magnitude)).toFixed(6))\n : parsedNumber\n\n return parsedMagnitude\n}\n"],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ "use client";
2
+
1
3
  import { useRef } from 'react';
2
4
  export default function useWasChanged(subject, title, debug) {
5
+ var _previous$current;
3
6
  const previous = useRef(subject);
4
7
  if (!previous.current && !subject) {
5
8
  console.log('useWasChanged() - No subject was provided, while previous render had a subject. Was the whole object deleted?');
@@ -7,17 +10,17 @@ export default function useWasChanged(subject, title, debug) {
7
10
  const {
8
11
  changed,
9
12
  unchanged
10
- } = [...Object.entries(subject), ...Object.entries(previous.current ?? {}).filter(_ref => {
13
+ } = [...Object.entries(subject), ...Object.entries((_previous$current = previous.current) !== null && _previous$current !== void 0 ? _previous$current : {}).filter(_ref => {
11
14
  let [key] = _ref;
12
15
  return subject[key] === undefined;
13
16
  })].reduce((_ref2, _ref3) => {
14
- var _previous$current;
17
+ var _previous$current2;
15
18
  let {
16
19
  changed,
17
20
  unchanged
18
21
  } = _ref2;
19
22
  let [key, value] = _ref3;
20
- if (((_previous$current = previous.current) === null || _previous$current === void 0 ? void 0 : _previous$current[key]) !== (subject === null || subject === void 0 ? void 0 : subject[key])) {
23
+ if (((_previous$current2 = previous.current) === null || _previous$current2 === void 0 ? void 0 : _previous$current2[key]) !== (subject === null || subject === void 0 ? void 0 : subject[key])) {
21
24
  return {
22
25
  changed: changed.concat(key),
23
26
  unchanged
@@ -35,12 +38,12 @@ export default function useWasChanged(subject, title, debug) {
35
38
  if (changed.length === 0 && !debug) {
36
39
  return;
37
40
  }
38
- console.groupCollapsed(`${title ?? 'object'} -- ${changed.length} members was changed`);
41
+ console.groupCollapsed(`${title !== null && title !== void 0 ? title : 'object'} -- ${changed.length} members was changed`);
39
42
  Object.values(changed).map(key => {
40
43
  if (debug) {
41
- var _previous$current2;
44
+ var _previous$current3;
42
45
  console.groupCollapsed(`CHANGED: ${key}`);
43
- console.log('PREVIOUS: ', (_previous$current2 = previous.current) === null || _previous$current2 === void 0 ? void 0 : _previous$current2[key]);
46
+ console.log('PREVIOUS: ', (_previous$current3 = previous.current) === null || _previous$current3 === void 0 ? void 0 : _previous$current3[key]);
44
47
  console.log('CURRENT: ', subject === null || subject === void 0 ? void 0 : subject[key]);
45
48
  console.groupEnd();
46
49
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"useWasChanged.js","names":["useRef","useWasChanged","subject","title","debug","previous","current","console","log","changed","unchanged","Object","entries","filter","_ref","key","undefined","reduce","_ref2","_ref3","_previous$current","value","concat","length","groupCollapsed","values","map","_previous$current2","groupEnd"],"sources":["../../../../../src/extensions/forms/utils/useWasChanged.ts"],"sourcesContent":["import { useRef } from 'react'\n\n/**\n *\n * Shallow object comparison to easily find out what props of an object was changed since the last render\n */\nexport default function useWasChanged<Subject extends object>(\n subject: Subject,\n title?: string,\n debug?: boolean\n): void {\n const previous = useRef<Subject>(subject)\n if (!previous.current && !subject) {\n console.log(\n 'useWasChanged() - No subject was provided, while previous render had a subject. Was the whole object deleted?'\n )\n }\n\n const { changed, unchanged } = [\n ...Object.entries(subject),\n ...Object.entries(previous.current ?? {}).filter(\n ([key]) => subject[key] === undefined\n ),\n ].reduce(\n ({ changed, unchanged }, [key, value]) => {\n if (previous.current?.[key] !== subject?.[key]) {\n return {\n changed: changed.concat(key),\n unchanged,\n }\n } else {\n return {\n changed,\n unchanged: unchanged.concat(key),\n }\n }\n },\n { changed: [], unchanged: [] }\n )\n\n if (changed.length === 0 && !debug) {\n return\n }\n\n console.groupCollapsed(\n `${title ?? 'object'} -- ${changed.length} members was changed`\n )\n\n Object.values(changed).map((key) => {\n if (debug) {\n console.groupCollapsed(`CHANGED: ${key}`)\n console.log('PREVIOUS: ', previous.current?.[key])\n console.log('CURRENT: ', subject?.[key])\n console.groupEnd()\n } else {\n console.log(`CHANGED: ${key}`)\n }\n })\n Object.values(unchanged).map((key) => {\n console.log(`UNCHANGED: ${key}`)\n })\n\n previous.current = subject\n\n console.groupEnd()\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAM9B,eAAe,SAASC,aAAaA,CACnCC,OAAgB,EAChBC,KAAc,EACdC,KAAe,EACT;EACN,MAAMC,QAAQ,GAAGL,MAAM,CAAUE,OAAO,CAAC;EACzC,IAAI,CAACG,QAAQ,CAACC,OAAO,IAAI,CAACJ,OAAO,EAAE;IACjCK,OAAO,CAACC,GAAG,CACT,+GACF,CAAC;EACH;EAEA,MAAM;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAG,CAC7B,GAAGC,MAAM,CAACC,OAAO,CAACV,OAAO,CAAC,EAC1B,GAAGS,MAAM,CAACC,OAAO,CAACP,QAAQ,CAACC,OAAO,IAAI,CAAC,CAAC,CAAC,CAACO,MAAM,CAC9CC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OAAKZ,OAAO,CAACa,GAAG,CAAC,KAAKC,SAAS;EAAA,CACvC,CAAC,CACF,CAACC,MAAM,CACN,CAAAC,KAAA,EAAAC,KAAA,KAA0C;IAAA,IAAAC,iBAAA;IAAA,IAAzC;MAAEX,OAAO;MAAEC;IAAU,CAAC,GAAAQ,KAAA;IAAA,IAAE,CAACH,GAAG,EAAEM,KAAK,CAAC,GAAAF,KAAA;IACnC,IAAI,EAAAC,iBAAA,GAAAf,QAAQ,CAACC,OAAO,cAAAc,iBAAA,uBAAhBA,iBAAA,CAAmBL,GAAG,CAAC,OAAKb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGa,GAAG,CAAC,GAAE;MAC9C,OAAO;QACLN,OAAO,EAAEA,OAAO,CAACa,MAAM,CAACP,GAAG,CAAC;QAC5BL;MACF,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLD,OAAO;QACPC,SAAS,EAAEA,SAAS,CAACY,MAAM,CAACP,GAAG;MACjC,CAAC;IACH;EACF,CAAC,EACD;IAAEN,OAAO,EAAE,EAAE;IAAEC,SAAS,EAAE;EAAG,CAC/B,CAAC;EAED,IAAID,OAAO,CAACc,MAAM,KAAK,CAAC,IAAI,CAACnB,KAAK,EAAE;IAClC;EACF;EAEAG,OAAO,CAACiB,cAAc,CACnB,GAAErB,KAAK,IAAI,QAAS,OAAMM,OAAO,CAACc,MAAO,sBAC5C,CAAC;EAEDZ,MAAM,CAACc,MAAM,CAAChB,OAAO,CAAC,CAACiB,GAAG,CAAEX,GAAG,IAAK;IAClC,IAAIX,KAAK,EAAE;MAAA,IAAAuB,kBAAA;MACTpB,OAAO,CAACiB,cAAc,CAAE,YAAWT,GAAI,EAAC,CAAC;MACzCR,OAAO,CAACC,GAAG,CAAC,YAAY,GAAAmB,kBAAA,GAAEtB,QAAQ,CAACC,OAAO,cAAAqB,kBAAA,uBAAhBA,kBAAA,CAAmBZ,GAAG,CAAC,CAAC;MAClDR,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGa,GAAG,CAAC,CAAC;MACxCR,OAAO,CAACqB,QAAQ,CAAC,CAAC;IACpB,CAAC,MAAM;MACLrB,OAAO,CAACC,GAAG,CAAE,YAAWO,GAAI,EAAC,CAAC;IAChC;EACF,CAAC,CAAC;EACFJ,MAAM,CAACc,MAAM,CAACf,SAAS,CAAC,CAACgB,GAAG,CAAEX,GAAG,IAAK;IACpCR,OAAO,CAACC,GAAG,CAAE,cAAaO,GAAI,EAAC,CAAC;EAClC,CAAC,CAAC;EAEFV,QAAQ,CAACC,OAAO,GAAGJ,OAAO;EAE1BK,OAAO,CAACqB,QAAQ,CAAC,CAAC;AACpB"}
1
+ {"version":3,"file":"useWasChanged.js","names":["useRef","useWasChanged","subject","title","debug","_previous$current","previous","current","console","log","changed","unchanged","Object","entries","filter","_ref","key","undefined","reduce","_ref2","_ref3","_previous$current2","value","concat","length","groupCollapsed","values","map","_previous$current3","groupEnd"],"sources":["../../../../../src/extensions/forms/utils/useWasChanged.ts"],"sourcesContent":["import { useRef } from 'react'\n\n/**\n *\n * Shallow object comparison to easily find out what props of an object was changed since the last render\n */\nexport default function useWasChanged<Subject extends object>(\n subject: Subject,\n title?: string,\n debug?: boolean\n): void {\n const previous = useRef<Subject>(subject)\n if (!previous.current && !subject) {\n console.log(\n 'useWasChanged() - No subject was provided, while previous render had a subject. Was the whole object deleted?'\n )\n }\n\n const { changed, unchanged } = [\n ...Object.entries(subject),\n ...Object.entries(previous.current ?? {}).filter(\n ([key]) => subject[key] === undefined\n ),\n ].reduce(\n ({ changed, unchanged }, [key, value]) => {\n if (previous.current?.[key] !== subject?.[key]) {\n return {\n changed: changed.concat(key),\n unchanged,\n }\n } else {\n return {\n changed,\n unchanged: unchanged.concat(key),\n }\n }\n },\n { changed: [], unchanged: [] }\n )\n\n if (changed.length === 0 && !debug) {\n return\n }\n\n console.groupCollapsed(\n `${title ?? 'object'} -- ${changed.length} members was changed`\n )\n\n Object.values(changed).map((key) => {\n if (debug) {\n console.groupCollapsed(`CHANGED: ${key}`)\n console.log('PREVIOUS: ', previous.current?.[key])\n console.log('CURRENT: ', subject?.[key])\n console.groupEnd()\n } else {\n console.log(`CHANGED: ${key}`)\n }\n })\n Object.values(unchanged).map((key) => {\n console.log(`UNCHANGED: ${key}`)\n })\n\n previous.current = subject\n\n console.groupEnd()\n}\n"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;AAM9B,eAAe,SAASC,aAAaA,CACnCC,OAAgB,EAChBC,KAAc,EACdC,KAAe,EACT;EAAA,IAAAC,iBAAA;EACN,MAAMC,QAAQ,GAAGN,MAAM,CAAUE,OAAO,CAAC;EACzC,IAAI,CAACI,QAAQ,CAACC,OAAO,IAAI,CAACL,OAAO,EAAE;IACjCM,OAAO,CAACC,GAAG,CACT,+GACF,CAAC;EACH;EAEA,MAAM;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAG,CAC7B,GAAGC,MAAM,CAACC,OAAO,CAACX,OAAO,CAAC,EAC1B,GAAGU,MAAM,CAACC,OAAO,EAAAR,iBAAA,GAACC,QAAQ,CAACC,OAAO,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC,CAAC,CAACS,MAAM,CAC9CC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OAAKb,OAAO,CAACc,GAAG,CAAC,KAAKC,SAAS;EAAA,CACvC,CAAC,CACF,CAACC,MAAM,CACN,CAAAC,KAAA,EAAAC,KAAA,KAA0C;IAAA,IAAAC,kBAAA;IAAA,IAAzC;MAAEX,OAAO;MAAEC;IAAU,CAAC,GAAAQ,KAAA;IAAA,IAAE,CAACH,GAAG,EAAEM,KAAK,CAAC,GAAAF,KAAA;IACnC,IAAI,EAAAC,kBAAA,GAAAf,QAAQ,CAACC,OAAO,cAAAc,kBAAA,uBAAhBA,kBAAA,CAAmBL,GAAG,CAAC,OAAKd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGc,GAAG,CAAC,GAAE;MAC9C,OAAO;QACLN,OAAO,EAAEA,OAAO,CAACa,MAAM,CAACP,GAAG,CAAC;QAC5BL;MACF,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLD,OAAO;QACPC,SAAS,EAAEA,SAAS,CAACY,MAAM,CAACP,GAAG;MACjC,CAAC;IACH;EACF,CAAC,EACD;IAAEN,OAAO,EAAE,EAAE;IAAEC,SAAS,EAAE;EAAG,CAC/B,CAAC;EAED,IAAID,OAAO,CAACc,MAAM,KAAK,CAAC,IAAI,CAACpB,KAAK,EAAE;IAClC;EACF;EAEAI,OAAO,CAACiB,cAAc,CACnB,GAAEtB,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,QAAS,OAAMO,OAAO,CAACc,MAAO,sBAC5C,CAAC;EAEDZ,MAAM,CAACc,MAAM,CAAChB,OAAO,CAAC,CAACiB,GAAG,CAAEX,GAAG,IAAK;IAClC,IAAIZ,KAAK,EAAE;MAAA,IAAAwB,kBAAA;MACTpB,OAAO,CAACiB,cAAc,CAAE,YAAWT,GAAI,EAAC,CAAC;MACzCR,OAAO,CAACC,GAAG,CAAC,YAAY,GAAAmB,kBAAA,GAAEtB,QAAQ,CAACC,OAAO,cAAAqB,kBAAA,uBAAhBA,kBAAA,CAAmBZ,GAAG,CAAC,CAAC;MAClDR,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGc,GAAG,CAAC,CAAC;MACxCR,OAAO,CAACqB,QAAQ,CAAC,CAAC;IACpB,CAAC,MAAM;MACLrB,OAAO,CAACC,GAAG,CAAE,YAAWO,GAAI,EAAC,CAAC;IAChC;EACF,CAAC,CAAC;EACFJ,MAAM,CAACc,MAAM,CAACf,SAAS,CAAC,CAACgB,GAAG,CAAEX,GAAG,IAAK;IACpCR,OAAO,CAACC,GAAG,CAAE,cAAaO,GAAI,EAAC,CAAC;EAClC,CAAC,CAAC;EAEFV,QAAQ,CAACC,OAAO,GAAGL,OAAO;EAE1BM,OAAO,CAACqB,QAAQ,CAAC,CAAC;AACpB"}
@@ -176,6 +176,9 @@
176
176
  align-items: center;
177
177
  background: linear-gradient(184.55deg, rgba(204, 204, 204, 0.5) 4.63%, rgba(232, 232, 232, 0.5) 84.83%);
178
178
  }
179
+ .dnb-payment-card__blocking__overlay svg path {
180
+ stroke: currentcolor;
181
+ }
179
182
  .dnb-payment-card__blocking__center {
180
183
  padding: 1rem;
181
184
  display: flex;
@@ -1 +1 @@
1
- .dnb-payment-card{--color-dark-cyan:#003b47;--dnb-payment-bg-default:linear-gradient(187.2deg,#008484 6.31%,var(--color-sea-green) 82.66%);--dnb-payment-bg-pluss:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-white:linear-gradient(184.55deg,var(--color-black-background) 4.63%,var(--color-white) 92.04%);--dnb-payment-bg-gold:linear-gradient(184.55deg,#bfa970 4.63%,#d3bd83 84.57%);--dnb-payment-bg-saga:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-private:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-business-no-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-business-with-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);margin:0}.dnb-payment-card__card{border-color:currentcolor;border-color:hsla(0,0%,100%,.1) transparent rgba(0,0,0,.2);border-radius:12px;border-style:solid;border-width:1px;box-shadow:var(--shadow-default);color:var(--color-white);height:216px;padding:16px;position:relative;transition:all 225ms cubic-bezier(0,0,.2,1) 0ms;width:343px}.dnb-payment-card__card--design-default{background:var(--dnb-payment-bg-default);color:var(--color-white)}.dnb-payment-card__card--design-pluss{background:var(--dnb-payment-bg-pluss);color:var(--color-white)}.dnb-payment-card__card--design-my-first,.dnb-payment-card__card--design-ung,.dnb-payment-card__card--design-youth{color:var(--color-black-80)}.dnb-payment-card__card--design-gold{background:var(--dnb-payment-bg-gold);color:var(--color-white)}.dnb-payment-card__card--design-saga{background:var(--dnb-payment-bg-saga);color:var(--color-white)}.dnb-payment-card__card--design-private{background:var(--dnb-payment-bg-private);color:var(--color-white)}.dnb-payment-card__card--design-black{background:var(--color-black);color:var(--color-white)}.dnb-payment-card__card--design-business-no-visa{background:var(--dnb-payment-bg-business-no-visa);color:var(--color-white)}.dnb-payment-card__card--design-business-with-visa{background:var(--dnb-payment-bg-business-with-visa);color:var(--color-white)}.dnb-payment-card__card:after{background:radial-gradient(52.39% 52.39% at 50%,at 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);background:radial-gradient(52.39% 52.39% at 50% 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);border-radius:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dnb-payment-card__card__content{display:flex;height:100%;position:relative;width:100%}.dnb-payment-card__card__wrapper{bottom:0;left:0;position:absolute}.dnb-spacing .dnb-payment-card__card .dnb-p{margin-bottom:0!important}.dnb-payment-card__card__holder{font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase}.dnb-payment-card__card__holder.dnb-p{font-size:.625rem}.dnb-payment-card__card__numbers{font-size:1.5rem!important;font-weight:var(--font-weight-medium)}.dnb-payment-card__card__credit-type{bottom:0;position:absolute;right:0}.dnb-payment-card__card__bank-logo{left:0;position:absolute;top:0}.dnb-payment-card__card__product-type{height:38px;left:70px;position:absolute;top:0}.dnb-payment-card__card__bank-axept{height:45px;position:absolute;right:0;top:0}.dnb-payment-card__blocking__overlay{align-items:center;background:linear-gradient(184.55deg,hsla(0,0%,80%,.5) 4.63%,hsla(0,0%,91%,.5) 84.83%);border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.dnb-payment-card__blocking__center{align-items:center;background:var(--color-black-80);border-radius:4px;color:var(--color-sand-yellow);display:flex;flex-direction:column;justify-content:center;padding:1rem}.dnb-payment-card__blocking svg{shape-rendering:geometricprecision}.dnb-payment-card.dnb-skeleton .dnb-payment-card__card__holder{opacity:1}.dnb-payment-card--compact .dnb-payment-card__card{border-radius:12px 12px 0 0;box-shadow:var(--shadow-default);height:32.8mm;padding:0}.dnb-payment-card--compact .dnb-payment-card__card__top{left:6mm;position:absolute;right:6mm;top:4mm}.dnb-payment-card--compact .dnb-payment-card__card__bottom{background-color:var(--color-white);bottom:0;height:14mm;left:0;position:absolute;right:0}.dnb-payment-card--compact .dnb-payment-card__card__wrapper{color:var(--color-black-80);padding:6px 22px}.dnb-payment-card--compact .dnb-payment-card__card__numbers{font-size:var(--font-size-basis)}.dnb-payment-card--compact .dnb-payment-card__card__credit-type{bottom:auto;right:4px;top:10px}.dnb-payment-card--compact .dnb-payment-card__blocking__center{grid-gap:var(--spacing-x-small);align-items:center;background:rgba(0,0,0,.739);border-radius:inherit;display:flex;flex-direction:row;gap:var(--spacing-x-small);height:100%;justify-content:center;width:100%}
1
+ .dnb-payment-card{--color-dark-cyan:#003b47;--dnb-payment-bg-default:linear-gradient(187.2deg,#008484 6.31%,var(--color-sea-green) 82.66%);--dnb-payment-bg-pluss:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-white:linear-gradient(184.55deg,var(--color-black-background) 4.63%,var(--color-white) 92.04%);--dnb-payment-bg-gold:linear-gradient(184.55deg,#bfa970 4.63%,#d3bd83 84.57%);--dnb-payment-bg-saga:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-private:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-business-no-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-business-with-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);margin:0}.dnb-payment-card__card{border-color:currentcolor;border-color:hsla(0,0%,100%,.1) transparent rgba(0,0,0,.2);border-radius:12px;border-style:solid;border-width:1px;box-shadow:var(--shadow-default);color:var(--color-white);height:216px;padding:16px;position:relative;transition:all 225ms cubic-bezier(0,0,.2,1) 0ms;width:343px}.dnb-payment-card__card--design-default{background:var(--dnb-payment-bg-default);color:var(--color-white)}.dnb-payment-card__card--design-pluss{background:var(--dnb-payment-bg-pluss);color:var(--color-white)}.dnb-payment-card__card--design-my-first,.dnb-payment-card__card--design-ung,.dnb-payment-card__card--design-youth{color:var(--color-black-80)}.dnb-payment-card__card--design-gold{background:var(--dnb-payment-bg-gold);color:var(--color-white)}.dnb-payment-card__card--design-saga{background:var(--dnb-payment-bg-saga);color:var(--color-white)}.dnb-payment-card__card--design-private{background:var(--dnb-payment-bg-private);color:var(--color-white)}.dnb-payment-card__card--design-black{background:var(--color-black);color:var(--color-white)}.dnb-payment-card__card--design-business-no-visa{background:var(--dnb-payment-bg-business-no-visa);color:var(--color-white)}.dnb-payment-card__card--design-business-with-visa{background:var(--dnb-payment-bg-business-with-visa);color:var(--color-white)}.dnb-payment-card__card:after{background:radial-gradient(52.39% 52.39% at 50%,at 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);background:radial-gradient(52.39% 52.39% at 50% 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);border-radius:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dnb-payment-card__card__content{display:flex;height:100%;position:relative;width:100%}.dnb-payment-card__card__wrapper{bottom:0;left:0;position:absolute}.dnb-spacing .dnb-payment-card__card .dnb-p{margin-bottom:0!important}.dnb-payment-card__card__holder{font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase}.dnb-payment-card__card__holder.dnb-p{font-size:.625rem}.dnb-payment-card__card__numbers{font-size:1.5rem!important;font-weight:var(--font-weight-medium)}.dnb-payment-card__card__credit-type{bottom:0;position:absolute;right:0}.dnb-payment-card__card__bank-logo{left:0;position:absolute;top:0}.dnb-payment-card__card__product-type{height:38px;left:70px;position:absolute;top:0}.dnb-payment-card__card__bank-axept{height:45px;position:absolute;right:0;top:0}.dnb-payment-card__blocking__overlay{align-items:center;background:linear-gradient(184.55deg,hsla(0,0%,80%,.5) 4.63%,hsla(0,0%,91%,.5) 84.83%);border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.dnb-payment-card__blocking__overlay svg path{stroke:currentcolor}.dnb-payment-card__blocking__center{align-items:center;background:var(--color-black-80);border-radius:4px;color:var(--color-sand-yellow);display:flex;flex-direction:column;justify-content:center;padding:1rem}.dnb-payment-card__blocking svg{shape-rendering:geometricprecision}.dnb-payment-card.dnb-skeleton .dnb-payment-card__card__holder{opacity:1}.dnb-payment-card--compact .dnb-payment-card__card{border-radius:12px 12px 0 0;box-shadow:var(--shadow-default);height:32.8mm;padding:0}.dnb-payment-card--compact .dnb-payment-card__card__top{left:6mm;position:absolute;right:6mm;top:4mm}.dnb-payment-card--compact .dnb-payment-card__card__bottom{background-color:var(--color-white);bottom:0;height:14mm;left:0;position:absolute;right:0}.dnb-payment-card--compact .dnb-payment-card__card__wrapper{color:var(--color-black-80);padding:6px 22px}.dnb-payment-card--compact .dnb-payment-card__card__numbers{font-size:var(--font-size-basis)}.dnb-payment-card--compact .dnb-payment-card__card__credit-type{bottom:auto;right:4px;top:10px}.dnb-payment-card--compact .dnb-payment-card__blocking__center{grid-gap:var(--spacing-x-small);align-items:center;background:rgba(0,0,0,.739);border-radius:inherit;display:flex;flex-direction:row;gap:var(--spacing-x-small);height:100%;justify-content:center;width:100%}
@@ -202,6 +202,10 @@
202
202
 
203
203
  &__blocking {
204
204
  &__overlay {
205
+ svg path {
206
+ stroke: currentcolor;
207
+ }
208
+
205
209
  position: absolute;
206
210
  left: 0;
207
211
  top: 0;
@@ -322,7 +322,7 @@ export const prepareDerivedState = (props, state) => {
322
322
  if (props.value === 'initval') {
323
323
  state.selected_item = null;
324
324
  } else {
325
- state.selected_item = getCurrentIndex(props.value, state.data);
325
+ state.selected_item = getCurrentIndex(props.value, state.original_data);
326
326
  }
327
327
  if (typeof props.on_state_update === 'function') {
328
328
  dispatchCustomElementEvent({
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","class","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","content","prepared_data","array","raw_data","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","found","match","push","join","String","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","props","list","key","type","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","isNaN","parseFloat","i","l","_data$i","_data$i2","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n class: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(convertJsxToString(dataItem.selected_value))\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret =\n String(convertJsxToString(dataItem.selected_value)) +\n separator +\n ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n else if (selectedKeyExists()) {\n return data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n }\n // 3. if is numeric, handle it as a index.\n else if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n data = parseCurrentValue(data)\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(props.value, state.data)\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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"}
1
+ {"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","class","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","content","prepared_data","array","raw_data","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","found","match","push","join","String","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","props","list","key","type","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","isNaN","parseFloat","i","l","_data$i","_data$i2","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n class: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(convertJsxToString(dataItem.selected_value))\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret =\n String(convertJsxToString(dataItem.selected_value)) +\n separator +\n ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n else if (selectedKeyExists()) {\n return data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n }\n // 3. if is numeric, handle it as a index.\n else if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n data = parseCurrentValue(data)\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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"}