@dnb/eufemia 10.15.1 → 10.16.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 (919) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/assets/icons/dnb/browser.svg +1 -0
  3. package/assets/icons/dnb/browser_medium.svg +1 -0
  4. package/assets/icons/dnb/coins_1.svg +1 -1
  5. package/assets/icons/dnb/coins_1_medium.svg +1 -1
  6. package/assets/icons/dnb/digipass_corporate.svg +1 -0
  7. package/assets/icons/dnb/digipass_corporate_medium.svg +1 -0
  8. package/assets/icons/dnb/digipass_private.svg +1 -0
  9. package/assets/icons/dnb/digipass_private_medium.svg +1 -0
  10. package/assets/icons/dnb/envelope_open.svg +1 -0
  11. package/assets/icons/dnb/envelope_open_medium.svg +1 -0
  12. package/assets/icons/dnb/eufemia-icons-xml-categorized.tgz +0 -0
  13. package/assets/icons/dnb/eufemia-icons-xml.tgz +0 -0
  14. package/assets/icons/dnb/laptop.svg +1 -0
  15. package/assets/icons/dnb/laptop_medium.svg +1 -0
  16. package/assets/icons/dnb/mobile.svg +1 -0
  17. package/assets/icons/dnb/mobile_medium.svg +1 -0
  18. package/assets/icons/dnb/money_left.svg +1 -0
  19. package/assets/icons/dnb/money_left_medium.svg +1 -0
  20. package/assets/icons/dnb/scan.svg +1 -1
  21. package/assets/icons/dnb/scan_medium.svg +1 -1
  22. package/assets/icons/dnb/teenager.svg +1 -0
  23. package/assets/icons/dnb/teenager_medium.svg +1 -0
  24. package/cjs/components/anchor/style/anchor-mixins.scss +8 -6
  25. package/cjs/components/anchor/style/dnb-anchor.css +28 -8
  26. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  27. package/cjs/components/card/Card.d.ts +1 -1
  28. package/cjs/components/card/Card.js +48 -9
  29. package/cjs/components/card/Card.js.map +1 -1
  30. package/cjs/components/card/style/dnb-card.css +0 -20
  31. package/cjs/components/card/style/dnb-card.min.css +1 -1
  32. package/cjs/components/card/style/dnb-card.scss +0 -20
  33. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +26 -0
  34. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
  35. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
  36. package/cjs/components/date-picker/DatePicker.d.ts +5 -1
  37. package/cjs/components/date-picker/DatePicker.js +4 -2
  38. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  39. package/cjs/components/date-picker/DatePickerInput.js +20 -6
  40. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  41. package/cjs/components/date-picker/DatePickerProvider.js +2 -2
  42. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  43. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +2 -2
  44. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  45. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
  46. package/cjs/components/flex/Container.d.ts +2 -4
  47. package/cjs/components/flex/Container.js.map +1 -1
  48. package/cjs/components/flex/Item.d.ts +2 -3
  49. package/cjs/components/flex/Item.js +2 -1
  50. package/cjs/components/flex/Item.js.map +1 -1
  51. package/cjs/components/input/Input.d.ts +3 -2
  52. package/cjs/components/input-masked/InputMaskedHooks.js +5 -5
  53. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  54. package/cjs/components/input-masked/InputMaskedUtils.d.ts +4 -2
  55. package/cjs/components/input-masked/InputMaskedUtils.js +9 -7
  56. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  57. package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
  58. package/cjs/components/input-masked/MultiInputMask.js +4 -2
  59. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  60. package/cjs/components/input-masked/TextMask.js +15 -4
  61. package/cjs/components/input-masked/TextMask.js.map +1 -1
  62. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -0
  63. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  64. package/cjs/components/input-masked/style/dnb-input-masked.scss +5 -0
  65. package/cjs/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
  66. package/cjs/components/input-masked/text-mask/InputModeNumber.js +93 -0
  67. package/cjs/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
  68. package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
  69. package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
  70. package/cjs/components/radio/RadioGroup.js +0 -1
  71. package/cjs/components/radio/RadioGroup.js.map +1 -1
  72. package/cjs/components/section/Section.d.ts +7 -0
  73. package/cjs/components/section/Section.js +11 -12
  74. package/cjs/components/section/Section.js.map +1 -1
  75. package/cjs/components/section/style/dnb-section.css +6 -4
  76. package/cjs/components/section/style/dnb-section.min.css +1 -1
  77. package/cjs/components/section/style/dnb-section.scss +7 -4
  78. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +11 -1
  79. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  80. package/cjs/components/textarea/Textarea.js +4 -9
  81. package/cjs/components/textarea/Textarea.js.map +1 -1
  82. package/cjs/components/toggle-button/ToggleButtonGroup.js +0 -1
  83. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  84. package/cjs/components/toggle-button/style/dnb-toggle-button.css +4 -6
  85. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  86. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +4 -10
  87. package/cjs/components/tooltip/style/dnb-tooltip.css +1 -0
  88. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  89. package/cjs/components/tooltip/style/dnb-tooltip.scss +2 -0
  90. package/cjs/components/upload/types.d.ts +1 -1
  91. package/cjs/components/upload/types.js.map +1 -1
  92. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  93. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  94. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  95. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
  96. package/cjs/extensions/forms/DataContext/Provider/Provider.js +37 -13
  97. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  98. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  99. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  100. package/cjs/extensions/forms/Field/Date/Date.js +3 -1
  101. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  102. package/cjs/extensions/forms/Field/Email/Email.js +7 -5
  103. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Expiry/Expiry.js +26 -4
  105. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  106. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
  107. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  108. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  109. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  110. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +69 -30
  111. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  112. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
  113. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  114. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
  115. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  116. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Selection/Selection.js +59 -50
  118. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  119. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
  120. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  121. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
  122. package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
  123. package/cjs/extensions/forms/Field/String/String.js +13 -8
  124. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  125. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  126. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  127. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
  128. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  129. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  130. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -0
  131. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  132. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
  133. package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
  134. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  135. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -2
  136. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  137. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
  138. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -0
  139. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
  140. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
  141. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  142. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
  143. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  144. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  145. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  146. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -16
  147. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  148. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
  149. package/cjs/extensions/forms/hooks/useDataValue.d.ts +3 -0
  150. package/cjs/extensions/forms/hooks/useDataValue.js +98 -48
  151. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  152. package/cjs/extensions/forms/style/dnb-forms.css +42 -25
  153. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  154. package/cjs/extensions/forms/types.d.ts +12 -2
  155. package/cjs/extensions/forms/types.js +1 -1
  156. package/cjs/extensions/forms/types.js.map +1 -1
  157. package/cjs/icons/browser.d.ts +3 -0
  158. package/cjs/icons/browser.js +11 -0
  159. package/cjs/icons/browser.js.map +1 -0
  160. package/cjs/icons/browser_medium.d.ts +3 -0
  161. package/cjs/icons/browser_medium.js +11 -0
  162. package/cjs/icons/browser_medium.js.map +1 -0
  163. package/cjs/icons/digipass_corporate.d.ts +3 -0
  164. package/cjs/icons/digipass_corporate.js +11 -0
  165. package/cjs/icons/digipass_corporate.js.map +1 -0
  166. package/cjs/icons/digipass_corporate_medium.d.ts +3 -0
  167. package/cjs/icons/digipass_corporate_medium.js +11 -0
  168. package/cjs/icons/digipass_corporate_medium.js.map +1 -0
  169. package/cjs/icons/digipass_private.d.ts +3 -0
  170. package/cjs/icons/digipass_private.js +11 -0
  171. package/cjs/icons/digipass_private.js.map +1 -0
  172. package/cjs/icons/digipass_private_medium.d.ts +3 -0
  173. package/cjs/icons/digipass_private_medium.js +11 -0
  174. package/cjs/icons/digipass_private_medium.js.map +1 -0
  175. package/cjs/icons/dnb/browser.d.ts +3 -0
  176. package/cjs/icons/dnb/browser.js +25 -0
  177. package/cjs/icons/dnb/browser.js.map +1 -0
  178. package/cjs/icons/dnb/browser_medium.d.ts +3 -0
  179. package/cjs/icons/dnb/browser_medium.js +25 -0
  180. package/cjs/icons/dnb/browser_medium.js.map +1 -0
  181. package/cjs/icons/dnb/coins_1.js +1 -1
  182. package/cjs/icons/dnb/coins_1.js.map +1 -1
  183. package/cjs/icons/dnb/coins_1_medium.js +1 -1
  184. package/cjs/icons/dnb/coins_1_medium.js.map +1 -1
  185. package/cjs/icons/dnb/digipass_corporate.d.ts +3 -0
  186. package/cjs/icons/dnb/digipass_corporate.js +25 -0
  187. package/cjs/icons/dnb/digipass_corporate.js.map +1 -0
  188. package/cjs/icons/dnb/digipass_corporate_medium.d.ts +3 -0
  189. package/cjs/icons/dnb/digipass_corporate_medium.js +25 -0
  190. package/cjs/icons/dnb/digipass_corporate_medium.js.map +1 -0
  191. package/cjs/icons/dnb/digipass_private.d.ts +3 -0
  192. package/cjs/icons/dnb/digipass_private.js +25 -0
  193. package/cjs/icons/dnb/digipass_private.js.map +1 -0
  194. package/cjs/icons/dnb/digipass_private_medium.d.ts +3 -0
  195. package/cjs/icons/dnb/digipass_private_medium.js +25 -0
  196. package/cjs/icons/dnb/digipass_private_medium.js.map +1 -0
  197. package/cjs/icons/dnb/envelope_open.d.ts +3 -0
  198. package/cjs/icons/dnb/envelope_open.js +26 -0
  199. package/cjs/icons/dnb/envelope_open.js.map +1 -0
  200. package/cjs/icons/dnb/envelope_open_medium.d.ts +3 -0
  201. package/cjs/icons/dnb/envelope_open_medium.js +26 -0
  202. package/cjs/icons/dnb/envelope_open_medium.js.map +1 -0
  203. package/cjs/icons/dnb/icons-meta.json +230 -20
  204. package/cjs/icons/dnb/icons-svg.lock +1272 -1064
  205. package/cjs/icons/dnb/index.d.ts +17 -1
  206. package/cjs/icons/dnb/index.js +112 -0
  207. package/cjs/icons/dnb/index.js.map +1 -1
  208. package/cjs/icons/dnb/laptop.d.ts +3 -0
  209. package/cjs/icons/dnb/laptop.js +26 -0
  210. package/cjs/icons/dnb/laptop.js.map +1 -0
  211. package/cjs/icons/dnb/laptop_medium.d.ts +3 -0
  212. package/cjs/icons/dnb/laptop_medium.js +26 -0
  213. package/cjs/icons/dnb/laptop_medium.js.map +1 -0
  214. package/cjs/icons/dnb/mobile.d.ts +3 -0
  215. package/cjs/icons/dnb/mobile.js +23 -0
  216. package/cjs/icons/dnb/mobile.js.map +1 -0
  217. package/cjs/icons/dnb/mobile_medium.d.ts +3 -0
  218. package/cjs/icons/dnb/mobile_medium.js +23 -0
  219. package/cjs/icons/dnb/mobile_medium.js.map +1 -0
  220. package/cjs/icons/dnb/money_left.d.ts +3 -0
  221. package/cjs/icons/dnb/money_left.js +25 -0
  222. package/cjs/icons/dnb/money_left.js.map +1 -0
  223. package/cjs/icons/dnb/money_left_medium.d.ts +3 -0
  224. package/cjs/icons/dnb/money_left_medium.js +26 -0
  225. package/cjs/icons/dnb/money_left_medium.js.map +1 -0
  226. package/cjs/icons/dnb/scan.js +5 -2
  227. package/cjs/icons/dnb/scan.js.map +1 -1
  228. package/cjs/icons/dnb/scan_medium.js +8 -12
  229. package/cjs/icons/dnb/scan_medium.js.map +1 -1
  230. package/cjs/icons/dnb/secondary_icons.d.ts +9 -1
  231. package/cjs/icons/dnb/secondary_icons.js +56 -0
  232. package/cjs/icons/dnb/secondary_icons.js.map +1 -1
  233. package/cjs/icons/dnb/secondary_icons_medium.d.ts +9 -1
  234. package/cjs/icons/dnb/secondary_icons_medium.js +56 -0
  235. package/cjs/icons/dnb/secondary_icons_medium.js.map +1 -1
  236. package/cjs/icons/dnb/teenager.d.ts +3 -0
  237. package/cjs/icons/dnb/teenager.js +26 -0
  238. package/cjs/icons/dnb/teenager.js.map +1 -0
  239. package/cjs/icons/dnb/teenager_medium.d.ts +3 -0
  240. package/cjs/icons/dnb/teenager_medium.js +26 -0
  241. package/cjs/icons/dnb/teenager_medium.js.map +1 -0
  242. package/cjs/icons/envelope_open.d.ts +3 -0
  243. package/cjs/icons/envelope_open.js +11 -0
  244. package/cjs/icons/envelope_open.js.map +1 -0
  245. package/cjs/icons/envelope_open_medium.d.ts +3 -0
  246. package/cjs/icons/envelope_open_medium.js +11 -0
  247. package/cjs/icons/envelope_open_medium.js.map +1 -0
  248. package/cjs/icons/index.d.ts +17 -1
  249. package/cjs/icons/index.js +112 -0
  250. package/cjs/icons/index.js.map +1 -1
  251. package/cjs/icons/laptop.d.ts +3 -0
  252. package/cjs/icons/laptop.js +11 -0
  253. package/cjs/icons/laptop.js.map +1 -0
  254. package/cjs/icons/laptop_medium.d.ts +3 -0
  255. package/cjs/icons/laptop_medium.js +11 -0
  256. package/cjs/icons/laptop_medium.js.map +1 -0
  257. package/cjs/icons/mobile.d.ts +3 -0
  258. package/cjs/icons/mobile.js +11 -0
  259. package/cjs/icons/mobile.js.map +1 -0
  260. package/cjs/icons/mobile_medium.d.ts +3 -0
  261. package/cjs/icons/mobile_medium.js +11 -0
  262. package/cjs/icons/mobile_medium.js.map +1 -0
  263. package/cjs/icons/money_left.d.ts +3 -0
  264. package/cjs/icons/money_left.js +11 -0
  265. package/cjs/icons/money_left.js.map +1 -0
  266. package/cjs/icons/money_left_medium.d.ts +3 -0
  267. package/cjs/icons/money_left_medium.js +11 -0
  268. package/cjs/icons/money_left_medium.js.map +1 -0
  269. package/cjs/icons/teenager.d.ts +3 -0
  270. package/cjs/icons/teenager.js +11 -0
  271. package/cjs/icons/teenager.js.map +1 -0
  272. package/cjs/icons/teenager_medium.d.ts +3 -0
  273. package/cjs/icons/teenager_medium.js +11 -0
  274. package/cjs/icons/teenager_medium.js.map +1 -0
  275. package/cjs/shared/Eufemia.d.ts +1 -1
  276. package/cjs/shared/Eufemia.js +2 -2
  277. package/cjs/shared/Eufemia.js.map +1 -1
  278. package/cjs/shared/component-helper.d.ts +1 -0
  279. package/cjs/shared/component-helper.js +6 -1
  280. package/cjs/shared/component-helper.js.map +1 -1
  281. package/cjs/style/dnb-ui-components.css +84 -63
  282. package/cjs/style/dnb-ui-components.min.css +3 -3
  283. package/cjs/style/dnb-ui-extensions.css +42 -25
  284. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  285. package/cjs/style/dnb-ui-forms.css +42 -25
  286. package/cjs/style/dnb-ui-forms.min.css +1 -1
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +14 -2
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +166 -91
  290. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  291. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +14 -2
  293. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  294. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -25
  295. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  296. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -25
  297. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +155 -90
  299. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  300. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  301. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -25
  302. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  303. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -25
  304. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  305. package/cjs/style/themes/theme-ui/ui-theme-basis.css +14 -2
  306. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  307. package/cjs/style/themes/theme-ui/ui-theme-components.css +166 -91
  308. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  309. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  310. package/cjs/style/themes/theme-ui/ui-theme-elements.css +14 -2
  311. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  312. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +42 -25
  313. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  314. package/cjs/style/themes/theme-ui/ui-theme-forms.css +42 -25
  315. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  316. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -3
  317. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  318. package/components/anchor/style/anchor-mixins.scss +8 -6
  319. package/components/anchor/style/dnb-anchor.css +28 -8
  320. package/components/anchor/style/dnb-anchor.min.css +1 -1
  321. package/components/card/Card.d.ts +1 -1
  322. package/components/card/Card.js +46 -9
  323. package/components/card/Card.js.map +1 -1
  324. package/components/card/style/dnb-card.css +0 -20
  325. package/components/card/style/dnb-card.min.css +1 -1
  326. package/components/card/style/dnb-card.scss +0 -20
  327. package/components/card/style/themes/dnb-card-theme-ui.css +26 -0
  328. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
  329. package/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
  330. package/components/date-picker/DatePicker.d.ts +5 -1
  331. package/components/date-picker/DatePicker.js +4 -2
  332. package/components/date-picker/DatePicker.js.map +1 -1
  333. package/components/date-picker/DatePickerInput.js +20 -6
  334. package/components/date-picker/DatePickerInput.js.map +1 -1
  335. package/components/date-picker/DatePickerProvider.js +2 -2
  336. package/components/date-picker/DatePickerProvider.js.map +1 -1
  337. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +2 -2
  338. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  339. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
  340. package/components/flex/Container.d.ts +2 -4
  341. package/components/flex/Container.js.map +1 -1
  342. package/components/flex/Item.d.ts +2 -3
  343. package/components/flex/Item.js +2 -1
  344. package/components/flex/Item.js.map +1 -1
  345. package/components/input/Input.d.ts +3 -2
  346. package/components/input-masked/InputMaskedHooks.js +6 -6
  347. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  348. package/components/input-masked/InputMaskedUtils.d.ts +4 -2
  349. package/components/input-masked/InputMaskedUtils.js +9 -7
  350. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  351. package/components/input-masked/MultiInputMask.d.ts +1 -1
  352. package/components/input-masked/MultiInputMask.js +4 -2
  353. package/components/input-masked/MultiInputMask.js.map +1 -1
  354. package/components/input-masked/TextMask.js +15 -4
  355. package/components/input-masked/TextMask.js.map +1 -1
  356. package/components/input-masked/style/dnb-input-masked.css +3 -0
  357. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  358. package/components/input-masked/style/dnb-input-masked.scss +5 -0
  359. package/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
  360. package/components/input-masked/text-mask/InputModeNumber.js +84 -0
  361. package/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
  362. package/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
  363. package/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
  364. package/components/radio/RadioGroup.js +0 -1
  365. package/components/radio/RadioGroup.js.map +1 -1
  366. package/components/section/Section.d.ts +7 -0
  367. package/components/section/Section.js +10 -12
  368. package/components/section/Section.js.map +1 -1
  369. package/components/section/style/dnb-section.css +6 -4
  370. package/components/section/style/dnb-section.min.css +1 -1
  371. package/components/section/style/dnb-section.scss +7 -4
  372. package/components/section/style/themes/dnb-section-theme-ui.css +11 -1
  373. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  374. package/components/textarea/Textarea.js +4 -9
  375. package/components/textarea/Textarea.js.map +1 -1
  376. package/components/toggle-button/ToggleButtonGroup.js +0 -1
  377. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  378. package/components/toggle-button/style/dnb-toggle-button.css +4 -6
  379. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  380. package/components/toggle-button/style/dnb-toggle-button.scss +4 -10
  381. package/components/tooltip/style/dnb-tooltip.css +1 -0
  382. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  383. package/components/tooltip/style/dnb-tooltip.scss +2 -0
  384. package/components/upload/types.d.ts +1 -1
  385. package/components/upload/types.js.map +1 -1
  386. package/es/components/anchor/style/anchor-mixins.scss +8 -6
  387. package/es/components/anchor/style/dnb-anchor.css +28 -8
  388. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  389. package/es/components/card/Card.d.ts +1 -1
  390. package/es/components/card/Card.js +46 -9
  391. package/es/components/card/Card.js.map +1 -1
  392. package/es/components/card/style/dnb-card.css +0 -20
  393. package/es/components/card/style/dnb-card.min.css +1 -1
  394. package/es/components/card/style/dnb-card.scss +0 -20
  395. package/es/components/card/style/themes/dnb-card-theme-ui.css +26 -0
  396. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
  397. package/es/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
  398. package/es/components/date-picker/DatePicker.d.ts +5 -1
  399. package/es/components/date-picker/DatePicker.js +4 -2
  400. package/es/components/date-picker/DatePicker.js.map +1 -1
  401. package/es/components/date-picker/DatePickerInput.js +20 -6
  402. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  403. package/es/components/date-picker/DatePickerProvider.js +2 -2
  404. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  405. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +2 -2
  406. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  407. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
  408. package/es/components/flex/Container.d.ts +2 -4
  409. package/es/components/flex/Container.js.map +1 -1
  410. package/es/components/flex/Item.d.ts +2 -3
  411. package/es/components/flex/Item.js +2 -1
  412. package/es/components/flex/Item.js.map +1 -1
  413. package/es/components/input/Input.d.ts +3 -2
  414. package/es/components/input-masked/InputMaskedHooks.js +6 -6
  415. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  416. package/es/components/input-masked/InputMaskedUtils.d.ts +4 -2
  417. package/es/components/input-masked/InputMaskedUtils.js +9 -7
  418. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  419. package/es/components/input-masked/MultiInputMask.d.ts +1 -1
  420. package/es/components/input-masked/MultiInputMask.js +4 -2
  421. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  422. package/es/components/input-masked/TextMask.js +15 -4
  423. package/es/components/input-masked/TextMask.js.map +1 -1
  424. package/es/components/input-masked/style/dnb-input-masked.css +3 -0
  425. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  426. package/es/components/input-masked/style/dnb-input-masked.scss +5 -0
  427. package/es/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
  428. package/es/components/input-masked/text-mask/InputModeNumber.js +84 -0
  429. package/es/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
  430. package/es/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
  431. package/es/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
  432. package/es/components/radio/RadioGroup.js +0 -1
  433. package/es/components/radio/RadioGroup.js.map +1 -1
  434. package/es/components/section/Section.d.ts +7 -0
  435. package/es/components/section/Section.js +10 -12
  436. package/es/components/section/Section.js.map +1 -1
  437. package/es/components/section/style/dnb-section.css +6 -4
  438. package/es/components/section/style/dnb-section.min.css +1 -1
  439. package/es/components/section/style/dnb-section.scss +7 -4
  440. package/es/components/section/style/themes/dnb-section-theme-ui.css +11 -1
  441. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  442. package/es/components/textarea/Textarea.js +4 -9
  443. package/es/components/textarea/Textarea.js.map +1 -1
  444. package/es/components/toggle-button/ToggleButtonGroup.js +0 -1
  445. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  446. package/es/components/toggle-button/style/dnb-toggle-button.css +4 -6
  447. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  448. package/es/components/toggle-button/style/dnb-toggle-button.scss +4 -10
  449. package/es/components/tooltip/style/dnb-tooltip.css +1 -0
  450. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  451. package/es/components/tooltip/style/dnb-tooltip.scss +2 -0
  452. package/es/components/upload/types.d.ts +1 -1
  453. package/es/components/upload/types.js.map +1 -1
  454. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  455. package/es/extensions/forms/DataContext/Context.js +1 -0
  456. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  457. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
  458. package/es/extensions/forms/DataContext/Provider/Provider.js +37 -13
  459. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  460. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  461. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  462. package/es/extensions/forms/Field/Date/Date.js +3 -1
  463. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  464. package/es/extensions/forms/Field/Email/Email.js +7 -5
  465. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  466. package/es/extensions/forms/Field/Expiry/Expiry.js +26 -4
  467. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  468. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
  469. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  470. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  471. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  472. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +59 -21
  473. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  474. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
  475. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  476. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
  477. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  478. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  479. package/es/extensions/forms/Field/Selection/Selection.js +58 -50
  480. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  481. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
  482. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  483. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
  484. package/es/extensions/forms/Field/String/String.d.ts +1 -0
  485. package/es/extensions/forms/Field/String/String.js +13 -7
  486. package/es/extensions/forms/Field/String/String.js.map +1 -1
  487. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  488. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  489. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
  490. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  491. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  492. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -0
  493. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  494. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
  495. package/es/extensions/forms/Form/Handler/Handler.js +2 -2
  496. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  497. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -2
  498. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  499. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
  500. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -0
  501. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
  502. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
  503. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  504. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
  505. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  506. package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  507. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  508. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -16
  509. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  510. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
  511. package/es/extensions/forms/hooks/useDataValue.d.ts +3 -0
  512. package/es/extensions/forms/hooks/useDataValue.js +94 -45
  513. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  514. package/es/extensions/forms/style/dnb-forms.css +42 -25
  515. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  516. package/es/extensions/forms/types.d.ts +12 -2
  517. package/es/extensions/forms/types.js +1 -1
  518. package/es/extensions/forms/types.js.map +1 -1
  519. package/es/icons/browser.d.ts +3 -0
  520. package/es/icons/browser.js +3 -0
  521. package/es/icons/browser.js.map +1 -0
  522. package/es/icons/browser_medium.d.ts +3 -0
  523. package/es/icons/browser_medium.js +3 -0
  524. package/es/icons/browser_medium.js.map +1 -0
  525. package/es/icons/digipass_corporate.d.ts +3 -0
  526. package/es/icons/digipass_corporate.js +3 -0
  527. package/es/icons/digipass_corporate.js.map +1 -0
  528. package/es/icons/digipass_corporate_medium.d.ts +3 -0
  529. package/es/icons/digipass_corporate_medium.js +3 -0
  530. package/es/icons/digipass_corporate_medium.js.map +1 -0
  531. package/es/icons/digipass_private.d.ts +3 -0
  532. package/es/icons/digipass_private.js +3 -0
  533. package/es/icons/digipass_private.js.map +1 -0
  534. package/es/icons/digipass_private_medium.d.ts +3 -0
  535. package/es/icons/digipass_private_medium.js +3 -0
  536. package/es/icons/digipass_private_medium.js.map +1 -0
  537. package/es/icons/dnb/browser.d.ts +3 -0
  538. package/es/icons/dnb/browser.js +17 -0
  539. package/es/icons/dnb/browser.js.map +1 -0
  540. package/es/icons/dnb/browser_medium.d.ts +3 -0
  541. package/es/icons/dnb/browser_medium.js +17 -0
  542. package/es/icons/dnb/browser_medium.js.map +1 -0
  543. package/es/icons/dnb/coins_1.js +1 -1
  544. package/es/icons/dnb/coins_1.js.map +1 -1
  545. package/es/icons/dnb/coins_1_medium.js +1 -1
  546. package/es/icons/dnb/coins_1_medium.js.map +1 -1
  547. package/es/icons/dnb/digipass_corporate.d.ts +3 -0
  548. package/es/icons/dnb/digipass_corporate.js +17 -0
  549. package/es/icons/dnb/digipass_corporate.js.map +1 -0
  550. package/es/icons/dnb/digipass_corporate_medium.d.ts +3 -0
  551. package/es/icons/dnb/digipass_corporate_medium.js +17 -0
  552. package/es/icons/dnb/digipass_corporate_medium.js.map +1 -0
  553. package/es/icons/dnb/digipass_private.d.ts +3 -0
  554. package/es/icons/dnb/digipass_private.js +17 -0
  555. package/es/icons/dnb/digipass_private.js.map +1 -0
  556. package/es/icons/dnb/digipass_private_medium.d.ts +3 -0
  557. package/es/icons/dnb/digipass_private_medium.js +17 -0
  558. package/es/icons/dnb/digipass_private_medium.js.map +1 -0
  559. package/es/icons/dnb/envelope_open.d.ts +3 -0
  560. package/es/icons/dnb/envelope_open.js +18 -0
  561. package/es/icons/dnb/envelope_open.js.map +1 -0
  562. package/es/icons/dnb/envelope_open_medium.d.ts +3 -0
  563. package/es/icons/dnb/envelope_open_medium.js +18 -0
  564. package/es/icons/dnb/envelope_open_medium.js.map +1 -0
  565. package/es/icons/dnb/icons-meta.json +230 -20
  566. package/es/icons/dnb/icons-svg.lock +1272 -1064
  567. package/es/icons/dnb/index.d.ts +17 -1
  568. package/es/icons/dnb/index.js +17 -1
  569. package/es/icons/dnb/index.js.map +1 -1
  570. package/es/icons/dnb/laptop.d.ts +3 -0
  571. package/es/icons/dnb/laptop.js +18 -0
  572. package/es/icons/dnb/laptop.js.map +1 -0
  573. package/es/icons/dnb/laptop_medium.d.ts +3 -0
  574. package/es/icons/dnb/laptop_medium.js +18 -0
  575. package/es/icons/dnb/laptop_medium.js.map +1 -0
  576. package/es/icons/dnb/mobile.d.ts +3 -0
  577. package/es/icons/dnb/mobile.js +15 -0
  578. package/es/icons/dnb/mobile.js.map +1 -0
  579. package/es/icons/dnb/mobile_medium.d.ts +3 -0
  580. package/es/icons/dnb/mobile_medium.js +15 -0
  581. package/es/icons/dnb/mobile_medium.js.map +1 -0
  582. package/es/icons/dnb/money_left.d.ts +3 -0
  583. package/es/icons/dnb/money_left.js +17 -0
  584. package/es/icons/dnb/money_left.js.map +1 -0
  585. package/es/icons/dnb/money_left_medium.d.ts +3 -0
  586. package/es/icons/dnb/money_left_medium.js +18 -0
  587. package/es/icons/dnb/money_left_medium.js.map +1 -0
  588. package/es/icons/dnb/scan.js +5 -2
  589. package/es/icons/dnb/scan.js.map +1 -1
  590. package/es/icons/dnb/scan_medium.js +8 -12
  591. package/es/icons/dnb/scan_medium.js.map +1 -1
  592. package/es/icons/dnb/secondary_icons.d.ts +9 -1
  593. package/es/icons/dnb/secondary_icons.js +9 -1
  594. package/es/icons/dnb/secondary_icons.js.map +1 -1
  595. package/es/icons/dnb/secondary_icons_medium.d.ts +9 -1
  596. package/es/icons/dnb/secondary_icons_medium.js +9 -1
  597. package/es/icons/dnb/secondary_icons_medium.js.map +1 -1
  598. package/es/icons/dnb/teenager.d.ts +3 -0
  599. package/es/icons/dnb/teenager.js +18 -0
  600. package/es/icons/dnb/teenager.js.map +1 -0
  601. package/es/icons/dnb/teenager_medium.d.ts +3 -0
  602. package/es/icons/dnb/teenager_medium.js +18 -0
  603. package/es/icons/dnb/teenager_medium.js.map +1 -0
  604. package/es/icons/envelope_open.d.ts +3 -0
  605. package/es/icons/envelope_open.js +3 -0
  606. package/es/icons/envelope_open.js.map +1 -0
  607. package/es/icons/envelope_open_medium.d.ts +3 -0
  608. package/es/icons/envelope_open_medium.js +3 -0
  609. package/es/icons/envelope_open_medium.js.map +1 -0
  610. package/es/icons/index.d.ts +17 -1
  611. package/es/icons/index.js +17 -1
  612. package/es/icons/index.js.map +1 -1
  613. package/es/icons/laptop.d.ts +3 -0
  614. package/es/icons/laptop.js +3 -0
  615. package/es/icons/laptop.js.map +1 -0
  616. package/es/icons/laptop_medium.d.ts +3 -0
  617. package/es/icons/laptop_medium.js +3 -0
  618. package/es/icons/laptop_medium.js.map +1 -0
  619. package/es/icons/mobile.d.ts +3 -0
  620. package/es/icons/mobile.js +3 -0
  621. package/es/icons/mobile.js.map +1 -0
  622. package/es/icons/mobile_medium.d.ts +3 -0
  623. package/es/icons/mobile_medium.js +3 -0
  624. package/es/icons/mobile_medium.js.map +1 -0
  625. package/es/icons/money_left.d.ts +3 -0
  626. package/es/icons/money_left.js +3 -0
  627. package/es/icons/money_left.js.map +1 -0
  628. package/es/icons/money_left_medium.d.ts +3 -0
  629. package/es/icons/money_left_medium.js +3 -0
  630. package/es/icons/money_left_medium.js.map +1 -0
  631. package/es/icons/teenager.d.ts +3 -0
  632. package/es/icons/teenager.js +3 -0
  633. package/es/icons/teenager.js.map +1 -0
  634. package/es/icons/teenager_medium.d.ts +3 -0
  635. package/es/icons/teenager_medium.js +3 -0
  636. package/es/icons/teenager_medium.js.map +1 -0
  637. package/es/shared/Eufemia.d.ts +1 -1
  638. package/es/shared/Eufemia.js +2 -2
  639. package/es/shared/Eufemia.js.map +1 -1
  640. package/es/shared/component-helper.d.ts +1 -0
  641. package/es/shared/component-helper.js +3 -0
  642. package/es/shared/component-helper.js.map +1 -1
  643. package/es/style/dnb-ui-components.css +84 -63
  644. package/es/style/dnb-ui-components.min.css +3 -3
  645. package/es/style/dnb-ui-extensions.css +42 -25
  646. package/es/style/dnb-ui-extensions.min.css +1 -1
  647. package/es/style/dnb-ui-forms.css +42 -25
  648. package/es/style/dnb-ui-forms.min.css +1 -1
  649. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +14 -2
  650. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  651. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +166 -91
  652. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  653. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  654. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +14 -2
  655. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  656. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -25
  657. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  658. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -25
  659. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  660. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +155 -90
  661. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  662. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  663. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -25
  664. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  665. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -25
  666. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  667. package/es/style/themes/theme-ui/ui-theme-basis.css +14 -2
  668. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  669. package/es/style/themes/theme-ui/ui-theme-components.css +166 -91
  670. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  671. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  672. package/es/style/themes/theme-ui/ui-theme-elements.css +14 -2
  673. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  674. package/es/style/themes/theme-ui/ui-theme-extensions.css +42 -25
  675. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  676. package/es/style/themes/theme-ui/ui-theme-forms.css +42 -25
  677. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  678. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -3
  679. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  680. package/esm/dnb-ui-basis.min.mjs +1 -1
  681. package/esm/dnb-ui-components.min.mjs +1 -1
  682. package/esm/dnb-ui-elements.min.mjs +1 -1
  683. package/esm/dnb-ui-extensions.min.mjs +3 -3
  684. package/esm/dnb-ui-lib.min.mjs +1 -1
  685. package/extensions/forms/DataContext/Context.d.ts +1 -0
  686. package/extensions/forms/DataContext/Context.js +1 -0
  687. package/extensions/forms/DataContext/Context.js.map +1 -1
  688. package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
  689. package/extensions/forms/DataContext/Provider/Provider.js +37 -13
  690. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  691. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  692. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  693. package/extensions/forms/Field/Date/Date.js +3 -1
  694. package/extensions/forms/Field/Date/Date.js.map +1 -1
  695. package/extensions/forms/Field/Email/Email.js +7 -5
  696. package/extensions/forms/Field/Email/Email.js.map +1 -1
  697. package/extensions/forms/Field/Expiry/Expiry.js +26 -4
  698. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  699. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
  700. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  701. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  702. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  703. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +70 -31
  704. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  705. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
  706. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  707. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
  708. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  709. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  710. package/extensions/forms/Field/Selection/Selection.js +58 -50
  711. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  712. package/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
  713. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  714. package/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
  715. package/extensions/forms/Field/String/String.d.ts +1 -0
  716. package/extensions/forms/Field/String/String.js +13 -8
  717. package/extensions/forms/Field/String/String.js.map +1 -1
  718. package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  719. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  720. package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
  721. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  722. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  723. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -0
  724. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  725. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
  726. package/extensions/forms/Form/Handler/Handler.js +2 -2
  727. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  728. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -2
  729. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  730. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
  731. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -0
  732. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
  733. package/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
  734. package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  735. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
  736. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  737. package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  738. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  739. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -16
  740. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  741. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
  742. package/extensions/forms/hooks/useDataValue.d.ts +3 -0
  743. package/extensions/forms/hooks/useDataValue.js +99 -49
  744. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  745. package/extensions/forms/style/dnb-forms.css +42 -25
  746. package/extensions/forms/style/dnb-forms.min.css +1 -1
  747. package/extensions/forms/types.d.ts +12 -2
  748. package/extensions/forms/types.js +1 -1
  749. package/extensions/forms/types.js.map +1 -1
  750. package/icons/browser.d.ts +3 -0
  751. package/icons/browser.js +3 -0
  752. package/icons/browser.js.map +1 -0
  753. package/icons/browser_medium.d.ts +3 -0
  754. package/icons/browser_medium.js +3 -0
  755. package/icons/browser_medium.js.map +1 -0
  756. package/icons/digipass_corporate.d.ts +3 -0
  757. package/icons/digipass_corporate.js +3 -0
  758. package/icons/digipass_corporate.js.map +1 -0
  759. package/icons/digipass_corporate_medium.d.ts +3 -0
  760. package/icons/digipass_corporate_medium.js +3 -0
  761. package/icons/digipass_corporate_medium.js.map +1 -0
  762. package/icons/digipass_private.d.ts +3 -0
  763. package/icons/digipass_private.js +3 -0
  764. package/icons/digipass_private.js.map +1 -0
  765. package/icons/digipass_private_medium.d.ts +3 -0
  766. package/icons/digipass_private_medium.js +3 -0
  767. package/icons/digipass_private_medium.js.map +1 -0
  768. package/icons/dnb/browser.d.ts +3 -0
  769. package/icons/dnb/browser.js +17 -0
  770. package/icons/dnb/browser.js.map +1 -0
  771. package/icons/dnb/browser_medium.d.ts +3 -0
  772. package/icons/dnb/browser_medium.js +17 -0
  773. package/icons/dnb/browser_medium.js.map +1 -0
  774. package/icons/dnb/coins_1.js +1 -1
  775. package/icons/dnb/coins_1.js.map +1 -1
  776. package/icons/dnb/coins_1_medium.js +1 -1
  777. package/icons/dnb/coins_1_medium.js.map +1 -1
  778. package/icons/dnb/digipass_corporate.d.ts +3 -0
  779. package/icons/dnb/digipass_corporate.js +17 -0
  780. package/icons/dnb/digipass_corporate.js.map +1 -0
  781. package/icons/dnb/digipass_corporate_medium.d.ts +3 -0
  782. package/icons/dnb/digipass_corporate_medium.js +17 -0
  783. package/icons/dnb/digipass_corporate_medium.js.map +1 -0
  784. package/icons/dnb/digipass_private.d.ts +3 -0
  785. package/icons/dnb/digipass_private.js +17 -0
  786. package/icons/dnb/digipass_private.js.map +1 -0
  787. package/icons/dnb/digipass_private_medium.d.ts +3 -0
  788. package/icons/dnb/digipass_private_medium.js +17 -0
  789. package/icons/dnb/digipass_private_medium.js.map +1 -0
  790. package/icons/dnb/envelope_open.d.ts +3 -0
  791. package/icons/dnb/envelope_open.js +18 -0
  792. package/icons/dnb/envelope_open.js.map +1 -0
  793. package/icons/dnb/envelope_open_medium.d.ts +3 -0
  794. package/icons/dnb/envelope_open_medium.js +18 -0
  795. package/icons/dnb/envelope_open_medium.js.map +1 -0
  796. package/icons/dnb/icons-meta.json +230 -20
  797. package/icons/dnb/icons-svg.lock +1272 -1064
  798. package/icons/dnb/index.d.ts +17 -1
  799. package/icons/dnb/index.js +17 -1
  800. package/icons/dnb/index.js.map +1 -1
  801. package/icons/dnb/laptop.d.ts +3 -0
  802. package/icons/dnb/laptop.js +18 -0
  803. package/icons/dnb/laptop.js.map +1 -0
  804. package/icons/dnb/laptop_medium.d.ts +3 -0
  805. package/icons/dnb/laptop_medium.js +18 -0
  806. package/icons/dnb/laptop_medium.js.map +1 -0
  807. package/icons/dnb/mobile.d.ts +3 -0
  808. package/icons/dnb/mobile.js +15 -0
  809. package/icons/dnb/mobile.js.map +1 -0
  810. package/icons/dnb/mobile_medium.d.ts +3 -0
  811. package/icons/dnb/mobile_medium.js +15 -0
  812. package/icons/dnb/mobile_medium.js.map +1 -0
  813. package/icons/dnb/money_left.d.ts +3 -0
  814. package/icons/dnb/money_left.js +17 -0
  815. package/icons/dnb/money_left.js.map +1 -0
  816. package/icons/dnb/money_left_medium.d.ts +3 -0
  817. package/icons/dnb/money_left_medium.js +18 -0
  818. package/icons/dnb/money_left_medium.js.map +1 -0
  819. package/icons/dnb/scan.js +5 -2
  820. package/icons/dnb/scan.js.map +1 -1
  821. package/icons/dnb/scan_medium.js +8 -12
  822. package/icons/dnb/scan_medium.js.map +1 -1
  823. package/icons/dnb/secondary_icons.d.ts +9 -1
  824. package/icons/dnb/secondary_icons.js +9 -1
  825. package/icons/dnb/secondary_icons.js.map +1 -1
  826. package/icons/dnb/secondary_icons_medium.d.ts +9 -1
  827. package/icons/dnb/secondary_icons_medium.js +9 -1
  828. package/icons/dnb/secondary_icons_medium.js.map +1 -1
  829. package/icons/dnb/teenager.d.ts +3 -0
  830. package/icons/dnb/teenager.js +18 -0
  831. package/icons/dnb/teenager.js.map +1 -0
  832. package/icons/dnb/teenager_medium.d.ts +3 -0
  833. package/icons/dnb/teenager_medium.js +18 -0
  834. package/icons/dnb/teenager_medium.js.map +1 -0
  835. package/icons/envelope_open.d.ts +3 -0
  836. package/icons/envelope_open.js +3 -0
  837. package/icons/envelope_open.js.map +1 -0
  838. package/icons/envelope_open_medium.d.ts +3 -0
  839. package/icons/envelope_open_medium.js +3 -0
  840. package/icons/envelope_open_medium.js.map +1 -0
  841. package/icons/index.d.ts +17 -1
  842. package/icons/index.js +17 -1
  843. package/icons/index.js.map +1 -1
  844. package/icons/laptop.d.ts +3 -0
  845. package/icons/laptop.js +3 -0
  846. package/icons/laptop.js.map +1 -0
  847. package/icons/laptop_medium.d.ts +3 -0
  848. package/icons/laptop_medium.js +3 -0
  849. package/icons/laptop_medium.js.map +1 -0
  850. package/icons/mobile.d.ts +3 -0
  851. package/icons/mobile.js +3 -0
  852. package/icons/mobile.js.map +1 -0
  853. package/icons/mobile_medium.d.ts +3 -0
  854. package/icons/mobile_medium.js +3 -0
  855. package/icons/mobile_medium.js.map +1 -0
  856. package/icons/money_left.d.ts +3 -0
  857. package/icons/money_left.js +3 -0
  858. package/icons/money_left.js.map +1 -0
  859. package/icons/money_left_medium.d.ts +3 -0
  860. package/icons/money_left_medium.js +3 -0
  861. package/icons/money_left_medium.js.map +1 -0
  862. package/icons/teenager.d.ts +3 -0
  863. package/icons/teenager.js +3 -0
  864. package/icons/teenager.js.map +1 -0
  865. package/icons/teenager_medium.d.ts +3 -0
  866. package/icons/teenager_medium.js +3 -0
  867. package/icons/teenager_medium.js.map +1 -0
  868. package/package.json +1 -1
  869. package/shared/Eufemia.d.ts +1 -1
  870. package/shared/Eufemia.js +2 -2
  871. package/shared/Eufemia.js.map +1 -1
  872. package/shared/component-helper.d.ts +1 -0
  873. package/shared/component-helper.js +3 -0
  874. package/shared/component-helper.js.map +1 -1
  875. package/style/dnb-ui-components.css +84 -63
  876. package/style/dnb-ui-components.min.css +3 -3
  877. package/style/dnb-ui-extensions.css +42 -25
  878. package/style/dnb-ui-extensions.min.css +1 -1
  879. package/style/dnb-ui-forms.css +42 -25
  880. package/style/dnb-ui-forms.min.css +1 -1
  881. package/style/themes/theme-eiendom/eiendom-theme-basis.css +14 -2
  882. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  883. package/style/themes/theme-eiendom/eiendom-theme-components.css +166 -91
  884. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  885. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  886. package/style/themes/theme-eiendom/eiendom-theme-elements.css +14 -2
  887. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  888. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -25
  889. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  890. package/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -25
  891. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  892. package/style/themes/theme-sbanken/sbanken-theme-components.css +155 -90
  893. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  894. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  895. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -25
  896. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  897. package/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -25
  898. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  899. package/style/themes/theme-ui/ui-theme-basis.css +14 -2
  900. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  901. package/style/themes/theme-ui/ui-theme-components.css +166 -91
  902. package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  903. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  904. package/style/themes/theme-ui/ui-theme-elements.css +14 -2
  905. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  906. package/style/themes/theme-ui/ui-theme-extensions.css +42 -25
  907. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  908. package/style/themes/theme-ui/ui-theme-forms.css +42 -25
  909. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  910. package/style/themes/theme-ui/ui-theme-tags.css +3 -3
  911. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  912. package/umd/dnb-ui-basis.min.js +1 -1
  913. package/umd/dnb-ui-components.min.js +1 -1
  914. package/umd/dnb-ui-elements.min.js +1 -1
  915. package/umd/dnb-ui-extensions.min.js +3 -3
  916. package/umd/dnb-ui-lib.min.js +1 -1
  917. package/cjs/icons/icons-meta.json +0 -3748
  918. package/es/icons/icons-meta.json +0 -3748
  919. package/icons/icons-meta.json +0 -3748
@@ -1 +1 @@
1
- {"version":3,"file":"useDataValue.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajv","ajvErrorsToOneFormError","FormError","Context","FieldBlockContext","IterateElementContext","makeUniqueId","useMountEffect","useUpdateEffect","useProcessManager","useDataValue","props","_props$path","_ref","_props$autoComplete","path","elementPath","emptyValue","required","error","errorProp","onFocus","onBlur","onChange","validator","onBlurValidator","schema","errorMessages","validateInitially","validateUnchanged","continuousValidation","toInput","value","fromInput","forceUpdate","startProcess","id","_props$id","dataContext","fieldBlockContext","iterateElementContext","handlePathChange","dataContextHandlePathChange","setValueWithError","dataContextSetValueWithError","errors","dataContextErrors","dataContextError","undefined","inFieldBlock","Boolean","setError","setFieldBlockError","setShowError","setShowFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","identifier","externalValue","has","get","data","valueRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","errorMessagesRef","current","schemaRef","validatorRef","schemaValidatorRef","compile","showError","hideError","prepareError","_errorMessagesRef$cur","_error$messageValues","message","validationRule","messageWithValues","Object","entries","messageValues","reduce","key","replace","persistErrorState","errorArg","clearErrorState","validateValue","isProcessActive","_validatorRef$current","res","call","showAllErrors","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","handleFocus","handleBlur","updateValue","newValue","argFromInput","additionalArgs","apply","iterateValuePath","handleMountField","handleUnMountField","_objectSpread","name","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport { errorChanged } from '../utils'\nimport ajv, { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps, AdditionalEventArgs } from '../types'\nimport { Context } from '../DataContext'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport useMountEffect from './useMountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\n\ninterface ReturnAdditional<Value> {\n id: string\n value: Value\n error: Error | FormError | undefined\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<unknown>['onChange']\n updateValue: (value: Value) => void\n forceUpdate: () => void\n}\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & ReturnAdditional<Value> {\n const {\n path,\n elementPath,\n emptyValue,\n required,\n error: errorProp,\n onFocus,\n onBlur,\n onChange,\n validator,\n onBlurValidator,\n schema,\n errorMessages,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useMemo(() => props.id ?? makeUniqueId(), [props.id])\n const dataContext = useContext(Context)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n\n const {\n handlePathChange: dataContextHandlePathChange,\n setValueWithError: dataContextSetValueWithError,\n errors: dataContextErrors,\n } = dataContext ?? {}\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setError: setFieldBlockError,\n setShowError: setShowFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (elementPath && elementPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid elementPath. Element pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (elementPath && !iterateElementContext) {\n throw new Error(\n 'elementPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const identifier = useMemo(() => {\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [path, id])\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return props.value\n }\n\n if (inIterate && elementPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (elementPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, elementPath)\n ? pointer.get(iterateElementValue, elementPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n path,\n elementPath,\n inIterate,\n iterateElementValue,\n props.value,\n dataContext.data,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const errorMessagesRef = useRef(errorMessages)\n useEffect(() => {\n errorMessagesRef.current = errorMessages\n }, [errorMessages])\n const schemaRef = useRef(schema)\n useEffect(() => {\n schemaRef.current = schema\n }, [schema])\n const validatorRef = useRef(validator)\n useEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? ajv.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n setShowFieldBlockError?.(path ?? id, true)\n }, [path, id, setShowFieldBlockError])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n setShowFieldBlockError?.(path ?? id, false)\n }, [path, id, setShowFieldBlockError])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n const message =\n (typeof error.validationRule === 'string' &&\n errorMessagesRef.current?.[error.validationRule]) ||\n error.message\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetValueWithError?.(identifier, Boolean(error))\n\n setFieldBlockError?.(path ?? id, error)\n forceUpdate()\n },\n [\n path,\n identifier,\n id,\n prepareError,\n dataContextSetValueWithError,\n setFieldBlockError,\n forceUpdate,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n try {\n // Validate required\n if (valueRef.current === emptyValue && required) {\n throw new FormError('The value is required', {\n validationRule: 'required',\n })\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(\n valueRef.current,\n errorMessages\n )\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n emptyValue,\n required,\n errorMessages,\n startProcess,\n persistErrorState,\n clearErrorState,\n ])\n\n useUpdateEffect(() => {\n if (!schema) {\n return\n }\n schemaValidatorRef.current = ajv.compile(schema)\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }, [dataContext.showAllErrors, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n onFocus?.(valueOverride ?? valueRef.current)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n onBlur?.(valueOverride ?? valueRef.current)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n Promise.resolve(\n onBlurValidator(valueOverride ?? valueRef.current)\n ).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n validateUnchanged,\n onFocus,\n onBlur,\n onBlurValidator,\n persistErrorState,\n showError,\n forceUpdate,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n const updateValue = useCallback(\n (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n\n // Always validate the value immediately when it is changed\n validateValue()\n\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n\n forceUpdate()\n },\n [\n continuousValidation,\n dataContextHandlePathChange,\n hideError,\n path,\n showError,\n validateValue,\n ]\n )\n\n const handleChange = useCallback(\n (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const newValue = fromInput(argFromInput)\n\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n updateValue(newValue)\n\n changedRef.current = true\n onChange?.apply(\n this,\n typeof additionalArgs !== 'undefined'\n ? [newValue, additionalArgs]\n : [newValue]\n )\n\n if (elementPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n elementPath && elementPath !== '/' ? elementPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n },\n [\n elementPath,\n fromInput,\n handleIterateElementChange,\n iterateElementIndex,\n onChange,\n updateValue,\n ]\n )\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n\n if (showErrorInitially) {\n showError()\n }\n\n return () => {\n // Unmount procedure\n dataContext?.handleUnMountField(identifier)\n }\n })\n\n return {\n ...props,\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: toInput(valueRef.current),\n error:\n !inFieldBlock && showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDataValue.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajv","ajvErrorsToOneFormError","FormError","Context","FieldBlockContext","IterateElementContext","makeUniqueId","toCapitalized","useMountEffect","useUpdateEffect","useProcessManager","useDataValue","props","_ref","_props$autoComplete","_props$path","path","itemPath","emptyValue","required","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","toInput","value","fromInput","toEvent","fromExternal","validateRequired","res","validationRule","undefined","forceUpdate","startProcess","id","_props$id","dataContext","fieldBlockContext","iterateElementContext","transformers","handlePathChange","dataContextHandlePathChange","updateDataValue","dataContextUpdateDataValue","setValueWithError","dataContextSetValueWithError","errors","dataContextErrors","dataContextError","inFieldBlock","Boolean","setError","setFieldBlockError","setShowError","setShowFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","identifier","externalValue","current","capitalize","String","has","get","data","valueRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","errorMessagesRef","validatorRef","schemaValidatorRef","compile","showError","hideError","prepareError","_errorMessagesRef$cur","_error$messageValues","message","messageWithValues","Object","entries","messageValues","reduce","key","replace","persistErrorState","errorArg","clearErrorState","validateValue","isProcessActive","requiredError","isChanged","_validatorRef$current","call","showAllErrors","hasValue","handleError","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","updateValue","newValue","argFromInput","additionalArgs","apply","iterateValuePath","handleFocus","handleBlur","trim","test","handleMountField","handleUnMountField","_objectSpread","autoComplete","name","hasError"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport { errorChanged } from '../utils'\nimport ajv, { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps, AdditionalEventArgs } from '../types'\nimport { Context, ContextState } from '../DataContext'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport {\n makeUniqueId,\n toCapitalized,\n} from '../../../shared/component-helper'\nimport useMountEffect from './useMountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\n\ninterface ReturnAdditional<Value> {\n id: string\n value: Value\n error: Error | FormError | undefined\n hasError: boolean\n dataContext: ContextState\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<unknown>['onChange']\n updateValue: (value: Value) => void\n forceUpdate: () => void\n}\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & ReturnAdditional<Value> {\n const {\n path,\n itemPath,\n emptyValue,\n required,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? new FormError('The value is required', {\n validationRule: 'required',\n })\n : undefined\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useMemo(() => props.id ?? makeUniqueId(), [props.id])\n const dataContext = useContext(Context)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n\n const transformers = useRef({\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n validateRequired,\n })\n\n const {\n handlePathChange: dataContextHandlePathChange,\n updateDataValue: dataContextUpdateDataValue,\n setValueWithError: dataContextSetValueWithError,\n errors: dataContextErrors,\n } = dataContext ?? {}\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setError: setFieldBlockError,\n setShowError: setShowFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (itemPath && itemPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (itemPath && !iterateElementContext) {\n throw new Error(\n 'itemPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const identifier = useMemo(() => {\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [path, id])\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n let value = transformers.current.fromExternal(props.value)\n\n if (props.capitalize) {\n value = toCapitalized(String(value || '')) as Value\n }\n\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return value\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, itemPath)\n ? pointer.get(iterateElementValue, itemPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n props.value,\n props.capitalize,\n inIterate,\n itemPath,\n dataContext.data,\n path,\n iterateElementValue,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const errorMessagesRef = useRef(errorMessages)\n useEffect(() => {\n errorMessagesRef.current = errorMessages\n }, [errorMessages])\n const validatorRef = useRef(validator)\n useEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? ajv.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n setShowFieldBlockError?.(path ?? id, true)\n }, [path, id, setShowFieldBlockError])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n setShowFieldBlockError?.(path ?? id, false)\n }, [path, id, setShowFieldBlockError])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n const message =\n (typeof error.validationRule === 'string' &&\n errorMessagesRef.current?.[error.validationRule]) ||\n error.message\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetValueWithError?.(identifier, Boolean(error))\n\n setFieldBlockError?.(path ?? id, error)\n forceUpdate()\n },\n [\n path,\n identifier,\n id,\n prepareError,\n dataContextSetValueWithError,\n setFieldBlockError,\n forceUpdate,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n try {\n // Validate required\n const requiredError = transformers.current.validateRequired(\n valueRef.current,\n {\n emptyValue,\n required,\n isChanged: changedRef.current,\n }\n )\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(\n valueRef.current,\n errorMessagesRef.current\n )\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n startProcess,\n emptyValue,\n required,\n clearErrorState,\n persistErrorState,\n ])\n\n useUpdateEffect(() => {\n if (!schema) {\n schemaValidatorRef.current = undefined\n return\n }\n schemaValidatorRef.current = ajv.compile(schema)\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (path && props.value) {\n const hasValue = pointer.has(dataContext.data, path)\n const value = hasValue\n ? pointer.get(dataContext.data, path)\n : undefined\n if (\n !hasValue ||\n (props.value !== value && valueRef.current !== value)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n dataContextUpdateDataValue?.(path, props.value)\n }\n }\n }, [dataContext.data, dataContextUpdateDataValue, path, props.value])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n onFocus?.(\n transformers.current.toEvent(valueOverride ?? valueRef.current)\n )\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n onBlur?.(\n transformers.current.toEvent(valueOverride ?? valueRef.current)\n )\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n Promise.resolve(\n onBlurValidator(\n transformers.current.toEvent(\n valueOverride ?? valueRef.current\n )\n )\n ).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n onBlur,\n onBlurValidator,\n onFocus,\n persistErrorState,\n showError,\n validateUnchanged,\n ]\n )\n\n const updateValue = useCallback(\n (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n // Always validate the value immediately when it is changed\n validateValue()\n\n handleError()\n\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n\n forceUpdate()\n },\n [dataContextHandlePathChange, handleError, path, validateValue]\n )\n\n const handleChange = useCallback(\n (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n let newValue = transformers.current.fromInput(argFromInput)\n\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n if (props.capitalize) {\n newValue = toCapitalized(String(newValue || '')) as Value\n }\n\n updateValue(newValue)\n\n changedRef.current = true\n\n const value = transformers.current.toEvent(newValue)\n onChange?.apply(\n this,\n typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n )\n\n if (itemPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n },\n [\n props.capitalize,\n updateValue,\n onChange,\n itemPath,\n iterateElementIndex,\n handleIterateElementChange,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n\n const handleBlur = useCallback(() => {\n if (props.trim && /^\\s|\\s$/.test(String(valueRef.current))) {\n const value = String(valueRef.current).trim()\n handleChange(value as Value)\n }\n\n setHasFocus(false)\n }, [props.trim, setHasFocus, handleChange])\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n\n validateValue()\n\n if (showErrorInitially) {\n showError()\n }\n\n return () => {\n // Unmount procedure\n dataContext?.handleUnMountField(identifier)\n }\n })\n\n const error = showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n return {\n ...props,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: transformers.current.toInput(valueRef.current),\n error: !inFieldBlock ? error : undefined,\n hasError: Boolean(error),\n isChanged: changedRef.current,\n dataContext,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n }\n}\n"],"mappings":"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"}
@@ -34,6 +34,9 @@
34
34
  .dnb-forms-field-phone-number__number {
35
35
  flex: 1;
36
36
  }
37
+ .dnb-forms-field-phone-number .dnb-form-label {
38
+ max-width: 14ch;
39
+ }
37
40
 
38
41
  .dnb-forms-field-postal-code-and-city__fields {
39
42
  display: flex;
@@ -48,14 +51,14 @@
48
51
  flex: 1;
49
52
  }
50
53
 
51
- .dnb-forms-field-selection--width-large .dnb-dropdown__shell {
52
- width: var(--forms-field-width--large);
54
+ .dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label {
55
+ align-self: center;
53
56
  }
54
- .dnb-forms-field-selection--width-medium .dnb-dropdown__shell {
55
- width: var(--forms-field-width--medium);
57
+ .dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label, .dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label {
58
+ margin-bottom: 0;
56
59
  }
57
- .dnb-forms-field-selection--width-small .dnb-dropdown__shell {
58
- width: var(--forms-field-width--small);
60
+ .dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label {
61
+ line-height: 2.5rem;
59
62
  }
60
63
 
61
64
  :root {
@@ -92,7 +95,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
92
95
  grid-template-areas: "label" "contents" "status";
93
96
  }
94
97
  .dnb-forms-field-block--layout-horizontal {
95
- grid-template-columns: var(--forms-field-width--medium) auto;
98
+ grid-template-columns: fit-content(100%) auto;
96
99
  grid-template-areas: "label contents" "status status";
97
100
  }
98
101
  .dnb-forms-field-block--width-stretch {
@@ -146,23 +149,39 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
146
149
  }
147
150
  }
148
151
 
152
+ /*
153
+ * Utilities
154
+ */
149
155
  .dnb-forms-button-row {
150
156
  display: flex;
151
157
  flex-flow: row;
152
158
  -moz-column-gap: var(--spacing-small);
153
159
  column-gap: var(--spacing-small);
154
160
  }
161
+ @media screen and (min-width: 40em) {
162
+ .dnb-card + .dnb-forms-button-row:not([class*=space__left]) {
163
+ margin-left: var(--spacing-medium);
164
+ }
165
+ }
155
166
 
167
+ /*
168
+ * Utilities
169
+ */
156
170
  .dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]) {
157
171
  margin: 0;
158
172
  }
159
- .dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
160
- margin-left: var(--spacing-medium);
173
+ @media screen and (min-width: 40em) {
174
+ .dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
175
+ margin-left: var(--spacing-medium);
176
+ }
161
177
  }
162
178
  .dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
163
179
  margin-bottom: var(--spacing-small);
164
180
  }
165
181
 
182
+ /*
183
+ * Utilities
184
+ */
166
185
  .dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]) {
167
186
  margin: 0;
168
187
  }
@@ -179,30 +198,28 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
179
198
  -moz-column-gap: var(--spacing-medium);
180
199
  column-gap: var(--spacing-medium);
181
200
  }
182
- @media (max-width: 60em) {
183
- .dnb-forms-steps-layout {
184
- flex-direction: column;
185
- justify-content: stretch;
186
- align-items: stretch;
187
- }
188
- }
189
201
  .dnb-forms-steps-layout__sidebar {
190
202
  flex: 0;
191
- min-width: 21rem;
192
- }
193
- .dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar {
194
- max-width: 21rem;
195
- }
196
- .dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar .dnb-step-indicator__item {
197
- min-width: 336px;
198
203
  }
199
204
  .dnb-forms-steps-layout__contents {
200
- flex: 1;
201
- min-width: 25rem;
205
+ flex: 1 0 25rem;
202
206
  }
203
207
  .dnb-forms-steps-layout__contents .dnb-card {
204
208
  --border-color: var(--color-pistachio);
205
209
  }
210
+ @media screen and (max-width: 60em) {
211
+ .dnb-forms-steps-layout {
212
+ flex-direction: column;
213
+ justify-content: stretch;
214
+ align-items: stretch;
215
+ }
216
+ .dnb-forms-steps-layout__contents {
217
+ flex-basis: auto;
218
+ }
219
+ }
220
+ .dnb-forms-steps-layout .dnb-step-indicator__sidebar {
221
+ margin-right: 0;
222
+ }
206
223
 
207
224
  .dnb-forms-value-block {
208
225
  display: block;
@@ -1 +1 @@
1
- .dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-postal-code-and-city__fields{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection--width-large .dnb-dropdown__shell{width:var(--forms-field-width--large)}.dnb-forms-field-selection--width-medium .dnb-dropdown__shell{width:var(--forms-field-width--medium)}.dnb-forms-field-selection--width-small .dnb-dropdown__shell{width:var(--forms-field-width--small)}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:var(--forms-field-width--medium) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}@media (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}}.dnb-forms-steps-layout__sidebar{flex:0;min-width:21rem}.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar{max-width:21rem}.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar .dnb-step-indicator__item{min-width:336px}.dnb-forms-steps-layout__contents{flex:1;min-width:25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline{display:inline-block;font-size:inherit;margin-left:var(--spacing-xx-small);margin-right:var(--spacing-xx-small)}.dnb-forms-value-block__label{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:rgba(0,0,0,.5)}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
1
+ .dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__fields{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:40em){.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout__sidebar{flex:0}.dnb-forms-steps-layout__contents{flex:1 0 25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}@media screen and (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__contents{flex-basis:auto}}.dnb-forms-steps-layout .dnb-step-indicator__sidebar{margin-right:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline{display:inline-block;font-size:inherit;margin-left:var(--spacing-xx-small);margin-right:var(--spacing-xx-small)}.dnb-forms-value-block__label{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:rgba(0,0,0,.5)}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
@@ -29,7 +29,7 @@ export interface DataValueReadProps<Value = unknown> {
29
29
  /** JSON Pointer for where the data for this field is located in the source dataset */
30
30
  path?: string;
31
31
  /** JSON Pointer for where the data for this field is located in the source iterate loop element */
32
- elementPath?: string;
32
+ itemPath?: string;
33
33
  value?: Value;
34
34
  }
35
35
  export declare function pickDataValueReadProps<Props extends DataValueReadProps>(props: Props): DataValueReadProps;
@@ -70,7 +70,10 @@ export interface FieldProps<Value = unknown, EmptyValue = undefined | string | n
70
70
  info?: Error | FormError | string;
71
71
  warning?: Error | FormError | string;
72
72
  error?: Error | FormError;
73
+ hasError?: boolean;
73
74
  disabled?: boolean;
75
+ capitalize?: boolean;
76
+ trim?: boolean;
74
77
  required?: boolean;
75
78
  schema?: JSONSchema7;
76
79
  validator?: (value: Value | EmptyValue, errorMessages?: ErrorMessages) => Error | undefined | Promise<Error | undefined>;
@@ -91,6 +94,13 @@ export interface FieldProps<Value = unknown, EmptyValue = undefined | string | n
91
94
  errorMessages?: ErrorMessages;
92
95
  toInput?: (external: Value | undefined) => any;
93
96
  fromInput?: (...args: any[]) => Value | undefined;
97
+ toEvent?: (internal: Value | undefined) => any;
98
+ fromExternal?: (...args: any[]) => Value | undefined;
99
+ validateRequired?: (internal: Value | undefined, { emptyValue, required, isChanged, }: {
100
+ emptyValue: undefined | string | number;
101
+ required: boolean;
102
+ isChanged: boolean;
103
+ }) => FormError | undefined;
94
104
  }
95
105
  export interface FieldHelpProps {
96
106
  help?: {
@@ -105,7 +115,7 @@ export interface ValueProps<Value> extends DataValueReadComponentProps<Value> {
105
115
  /** Text showing in place of the value if no value is given. */
106
116
  placeholder?: string;
107
117
  /** JSON Pointer for where the data for this field is located in the source iterate loop element */
108
- elementPath?: string;
118
+ itemPath?: string;
109
119
  /** For showing the value inline (not as a block element) */
110
120
  inline?: boolean;
111
121
  /** Prepare value for display (regardless of source like props or data context) */
@@ -10,7 +10,7 @@ export class FormError extends Error {
10
10
  }
11
11
  }
12
12
  }
13
- const dataValueReadProps = ['path', 'elementPath', 'value'];
13
+ const dataValueReadProps = ['path', 'itemPath', 'value'];
14
14
  export function pickDataValueReadProps(props) {
15
15
  return Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(([key]) => dataValueReadProps.includes(key)));
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","messageValues","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","key","includes","omitDataValueReadProps","dataValueWriteProps","pickDataValueWriteProps","omitDataValueWriteProps","pickDataValueReadWriteProps","omitDataValueReadWriteProps"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ntype ValidationRule = string | string[]\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\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?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n this.messageValues = options.messageValues\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?: (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n ) => 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 AdditionalEventArgs = Record<string, unknown>\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 errorMessages?: ErrorMessages\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 /** Field label to show above the data value. */\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":";AAcA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAYnCC,WAAWA,CAACC,OAAe,EAAEC,OAA2B,EAAE;IACxD,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAAAA,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,IAAI,CAACE,cAAc,GAAGF,OAAO,CAACE,cAAc;MAC5C,IAAI,CAACC,aAAa,GAAGH,OAAO,CAACG,aAAa;IAC5C;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,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KACvCP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CACjC,CACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCP,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CAC7C,CACF,CAAC;AACH;AAeA,MAAMG,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCT,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KACvCG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASK,uBAAuBA,CACrCV,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CAC9C,CACF,CAAC;AACH;AAOA,OAAO,SAASM,2BAA2BA,CAEzCX,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KACJP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CAAC,IAChCG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CACpC,CACF,CAAC;AACH;AAEA,OAAO,SAASO,2BAA2BA,CAGzCZ,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KACJ,CAACP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CACrC,CACF,CAAC;AACH"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","messageValues","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","key","includes","omitDataValueReadProps","dataValueWriteProps","pickDataValueWriteProps","omitDataValueWriteProps","pickDataValueReadWriteProps","omitDataValueReadWriteProps"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ntype ValidationRule = string | string[]\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\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?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n this.messageValues = options.messageValues\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 itemPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', '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?: (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n ) => 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 AdditionalEventArgs = Record<string, unknown>\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 hasError?: boolean\n disabled?: boolean\n capitalize?: boolean\n trim?: boolean\n // Validation\n required?: boolean\n schema?: JSONSchema7\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\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 toEvent?: (internal: Value | undefined) => any\n fromExternal?: (...args: any[]) => Value | undefined\n validateRequired?: (\n internal: Value | undefined,\n {\n emptyValue,\n required,\n isChanged,\n }: {\n emptyValue: undefined | string | number\n required: boolean\n isChanged: boolean\n }\n ) => FormError | 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 /** Field label to show above the data value. */\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 itemPath?: 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":";AAcA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAYnCC,WAAWA,CAACC,OAAe,EAAEC,OAA2B,EAAE;IACxD,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAAAA,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,IAAI,CAACE,cAAc,GAAGF,OAAO,CAACE,cAAc;MAC5C,IAAI,CAACC,aAAa,GAAGH,OAAO,CAACG,aAAa;IAC5C;EACF;AACF;AAgBA,MAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAExD,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KACvCP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CACjC,CACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCP,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CAC7C,CACF,CAAC;AACH;AAeA,MAAMG,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCT,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KACvCG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASK,uBAAuBA,CACrCV,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CAC9C,CACF,CAAC;AACH;AAOA,OAAO,SAASM,2BAA2BA,CAEzCX,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KACJP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CAAC,IAChCG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CACpC,CACF,CAAC;AACH;AAEA,OAAO,SAASO,2BAA2BA,CAGzCZ,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACC,GAAG,CAAC,KACJ,CAACP,kBAAkB,CAACQ,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACG,mBAAmB,CAACF,QAAQ,CAACD,GAAG,CACrC,CACF,CAAC;AACH"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ import icon from './dnb/browser';
3
+ export default icon;
@@ -0,0 +1,3 @@
1
+ import icon from './dnb/browser';
2
+ export default icon;
3
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","names":["icon"],"sources":["../../../src/icons/browser.ts"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport icon from './dnb/browser'\nexport default icon\n"],"mappings":"AAEA,OAAOA,IAAI,MAAM,eAAe;AAChC,eAAeA,IAAI"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ import icon from './dnb/browser_medium';
3
+ export default icon;
@@ -0,0 +1,3 @@
1
+ import icon from './dnb/browser_medium';
2
+ export default icon;
3
+ //# sourceMappingURL=browser_medium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser_medium.js","names":["icon"],"sources":["../../../src/icons/browser_medium.ts"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport icon from './dnb/browser_medium'\nexport default icon\n"],"mappings":"AAEA,OAAOA,IAAI,MAAM,sBAAsB;AACvC,eAAeA,IAAI"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ import icon from './dnb/digipass_corporate';
3
+ export default icon;
@@ -0,0 +1,3 @@
1
+ import icon from './dnb/digipass_corporate';
2
+ export default icon;
3
+ //# sourceMappingURL=digipass_corporate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digipass_corporate.js","names":["icon"],"sources":["../../../src/icons/digipass_corporate.ts"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport icon from './dnb/digipass_corporate'\nexport default icon\n"],"mappings":"AAEA,OAAOA,IAAI,MAAM,0BAA0B;AAC3C,eAAeA,IAAI"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ import icon from './dnb/digipass_corporate_medium';
3
+ export default icon;
@@ -0,0 +1,3 @@
1
+ import icon from './dnb/digipass_corporate_medium';
2
+ export default icon;
3
+ //# sourceMappingURL=digipass_corporate_medium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digipass_corporate_medium.js","names":["icon"],"sources":["../../../src/icons/digipass_corporate_medium.ts"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport icon from './dnb/digipass_corporate_medium'\nexport default icon\n"],"mappings":"AAEA,OAAOA,IAAI,MAAM,iCAAiC;AAClD,eAAeA,IAAI"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ import icon from './dnb/digipass_private';
3
+ export default icon;
@@ -0,0 +1,3 @@
1
+ import icon from './dnb/digipass_private';
2
+ export default icon;
3
+ //# sourceMappingURL=digipass_private.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digipass_private.js","names":["icon"],"sources":["../../../src/icons/digipass_private.ts"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport icon from './dnb/digipass_private'\nexport default icon\n"],"mappings":"AAEA,OAAOA,IAAI,MAAM,wBAAwB;AACzC,eAAeA,IAAI"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ import icon from './dnb/digipass_private_medium';
3
+ export default icon;
@@ -0,0 +1,3 @@
1
+ import icon from './dnb/digipass_private_medium';
2
+ export default icon;
3
+ //# sourceMappingURL=digipass_private_medium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digipass_private_medium.js","names":["icon"],"sources":["../../../src/icons/digipass_private_medium.ts"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport icon from './dnb/digipass_private_medium'\nexport default icon\n"],"mappings":"AAEA,OAAOA,IAAI,MAAM,+BAA+B;AAChD,eAAeA,IAAI"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ declare const browser: (props: any) => import("react/jsx-runtime").JSX.Element;
3
+ export default browser;
@@ -0,0 +1,17 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ var _path;
3
+ import React from 'react';
4
+ const browser = props => React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 16,
7
+ height: 16,
8
+ fill: "none",
9
+ viewBox: "0 0 16 16"
10
+ }, props), _path || (_path = React.createElement("path", {
11
+ stroke: "#000",
12
+ strokeLinejoin: "round",
13
+ strokeWidth: 1.5,
14
+ d: "M.5 4.5h15M5.75 4v10M2 14.5h12a1 1 0 0 0 1-1v-11a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1Z"
15
+ })));
16
+ export default browser;
17
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","names":["React","browser","props","createElement","_extends","xmlns","width","height","fill","viewBox","_path","stroke","strokeLinejoin","strokeWidth","d"],"sources":["../../../../src/icons/dnb/browser.tsx"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport React from 'react'\nconst browser = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n fill=\"none\"\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path\n stroke=\"#000\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M.5 4.5h15M5.75 4v10M2 14.5h12a1 1 0 0 0 1-1v-11a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1Z\"\n />\n </svg>\n)\nexport default browser\n"],"mappings":";;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,MAAMC,OAAO,GAAIC,KAAK,IACpBF,KAAA,CAAAG,aAAA,QAAAC,QAAA;EACEC,KAAK,EAAC,4BAA4B;EAClCC,KAAK,EAAE,EAAG;EACVC,MAAM,EAAE,EAAG;EACXC,IAAI,EAAC,MAAM;EACXC,OAAO,EAAC;AAAW,GACfP,KAAK,GAAAQ,KAAA,KAAAA,KAAA,GAETV,KAAA,CAAAG,aAAA;EACEQ,MAAM,EAAC,MAAM;EACbC,cAAc,EAAC,OAAO;EACtBC,WAAW,EAAE,GAAI;EACjBC,CAAC,EAAC;AAAkG,CACrG,CAAC,CACC,CACN;AACD,eAAeb,OAAO"}
@@ -0,0 +1,3 @@
1
+ /** This file is auto generated by convertSvgToJsx.ts */
2
+ declare const browser_medium: (props: any) => import("react/jsx-runtime").JSX.Element;
3
+ export default browser_medium;
@@ -0,0 +1,17 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ var _path;
3
+ import React from 'react';
4
+ const browser_medium = props => React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 24,
7
+ height: 24,
8
+ fill: "none",
9
+ viewBox: "0 0 24 24"
10
+ }, props), _path || (_path = React.createElement("path", {
11
+ stroke: "#000",
12
+ strokeLinejoin: "round",
13
+ strokeWidth: 1.5,
14
+ d: "M1 6.25h22M7.75 7v15M2.25 2h19.5s1.5 0 1.5 1.5v17s0 1.5-1.5 1.5H2.25s-1.5 0-1.5-1.5v-17S.75 2 2.25 2Z"
15
+ })));
16
+ export default browser_medium;
17
+ //# sourceMappingURL=browser_medium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser_medium.js","names":["React","browser_medium","props","createElement","_extends","xmlns","width","height","fill","viewBox","_path","stroke","strokeLinejoin","strokeWidth","d"],"sources":["../../../../src/icons/dnb/browser_medium.tsx"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport React from 'react'\nconst browser_medium = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n stroke=\"#000\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M1 6.25h22M7.75 7v15M2.25 2h19.5s1.5 0 1.5 1.5v17s0 1.5-1.5 1.5H2.25s-1.5 0-1.5-1.5v-17S.75 2 2.25 2Z\"\n />\n </svg>\n)\nexport default browser_medium\n"],"mappings":";;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,MAAMC,cAAc,GAAIC,KAAK,IAC3BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;EACEC,KAAK,EAAC,4BAA4B;EAClCC,KAAK,EAAE,EAAG;EACVC,MAAM,EAAE,EAAG;EACXC,IAAI,EAAC,MAAM;EACXC,OAAO,EAAC;AAAW,GACfP,KAAK,GAAAQ,KAAA,KAAAA,KAAA,GAETV,KAAA,CAAAG,aAAA;EACEQ,MAAM,EAAC,MAAM;EACbC,cAAc,EAAC,OAAO;EACtBC,WAAW,EAAE,GAAI;EACjBC,CAAC,EAAC;AAAuG,CAC1G,CAAC,CACC,CACN;AACD,eAAeb,cAAc"}
@@ -12,7 +12,7 @@ const coins_1 = props => React.createElement("svg", _extends({
12
12
  strokeLinecap: "round",
13
13
  strokeLinejoin: "round",
14
14
  strokeWidth: 1.5,
15
- d: "M1 2.59v9.508M1 2.59c0 .879 2.137 1.59 4.773 1.59 2.636 0 4.773-.711 4.773-1.59M1 2.59C1 1.712 3.137 1 5.773 1c2.636 0 4.773.712 4.773 1.59M1 2.59v3.144m0 6.364c0 .9 2.137 1.63 4.773 1.63h.67M1 12.097V8.916m9.546-6.325v4.753m0-4.753v3.143M1 8.916c0 .842 1.873 1.536 4.275 1.62h.18M1 8.917V5.734m0 0c0 .9 2.137 1.63 4.773 1.63 2.636 0 4.773-.73 4.773-1.63m0 0v1.61m0 0v.819M5.455 9.75c0-.879 2.136-1.59 4.772-1.59.107 0 .213 0 .319.003M5.455 9.75c0 .9 2.136 1.63 4.772 1.63S15 10.65 15 9.75m-9.545 0v.787M15 9.75v2.984c0 .9-2.137 1.63-4.773 1.63-1.54 0-2.91-.25-3.784-.637M15 9.75c0-.843-1.967-1.533-4.454-1.587m-5.091 2.374v2.197c0 .374.368.718.988.993"
15
+ d: "M1 3.24v9.508M1 3.24c0 .878 2.137 1.59 4.773 1.59 2.636 0 4.773-.712 4.773-1.59M1 3.24c0-.878 2.137-1.59 4.773-1.59 2.636 0 4.773.712 4.773 1.59M1 3.24v3.144m0 6.364c0 .9 2.137 1.63 4.773 1.63h.67M1 12.747V9.566m9.546-6.325v4.753m0-4.753v3.143M1 9.566c0 .842 1.873 1.536 4.275 1.62h.18M1 9.567V6.384m0 0c0 .9 2.137 1.63 4.773 1.63 2.636 0 4.773-.73 4.773-1.63m0 0v1.61m0 0v.818M5.455 10.4c0-.879 2.136-1.591 4.772-1.591.107 0 .213.001.319.003M5.455 10.4c0 .9 2.136 1.63 4.772 1.63S15 11.3 15 10.4m-9.545 0v.787M15 10.4v2.984c0 .9-2.137 1.63-4.773 1.63-1.54 0-2.91-.25-3.784-.637M15 10.4c0-.843-1.967-1.533-4.454-1.588m-5.091 2.375v2.197c0 .374.368.718.988.993"
16
16
  })));
17
17
  export default coins_1;
18
18
  //# sourceMappingURL=coins_1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coins_1.js","names":["React","coins_1","props","createElement","_extends","xmlns","width","height","fill","viewBox","_path","stroke","strokeLinecap","strokeLinejoin","strokeWidth","d"],"sources":["../../../../src/icons/dnb/coins_1.tsx"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport React from 'react'\nconst coins_1 = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n fill=\"none\"\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path\n stroke=\"#000\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M1 2.59v9.508M1 2.59c0 .879 2.137 1.59 4.773 1.59 2.636 0 4.773-.711 4.773-1.59M1 2.59C1 1.712 3.137 1 5.773 1c2.636 0 4.773.712 4.773 1.59M1 2.59v3.144m0 6.364c0 .9 2.137 1.63 4.773 1.63h.67M1 12.097V8.916m9.546-6.325v4.753m0-4.753v3.143M1 8.916c0 .842 1.873 1.536 4.275 1.62h.18M1 8.917V5.734m0 0c0 .9 2.137 1.63 4.773 1.63 2.636 0 4.773-.73 4.773-1.63m0 0v1.61m0 0v.819M5.455 9.75c0-.879 2.136-1.59 4.772-1.59.107 0 .213 0 .319.003M5.455 9.75c0 .9 2.136 1.63 4.772 1.63S15 10.65 15 9.75m-9.545 0v.787M15 9.75v2.984c0 .9-2.137 1.63-4.773 1.63-1.54 0-2.91-.25-3.784-.637M15 9.75c0-.843-1.967-1.533-4.454-1.587m-5.091 2.374v2.197c0 .374.368.718.988.993\"\n />\n </svg>\n)\nexport default coins_1\n"],"mappings":";;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,MAAMC,OAAO,GAAIC,KAAK,IACpBF,KAAA,CAAAG,aAAA,QAAAC,QAAA;EACEC,KAAK,EAAC,4BAA4B;EAClCC,KAAK,EAAE,EAAG;EACVC,MAAM,EAAE,EAAG;EACXC,IAAI,EAAC,MAAM;EACXC,OAAO,EAAC;AAAW,GACfP,KAAK,GAAAQ,KAAA,KAAAA,KAAA,GAETV,KAAA,CAAAG,aAAA;EACEQ,MAAM,EAAC,MAAM;EACbC,aAAa,EAAC,OAAO;EACrBC,cAAc,EAAC,OAAO;EACtBC,WAAW,EAAE,GAAI;EACjBC,CAAC,EAAC;AAA8oB,CACjpB,CAAC,CACC,CACN;AACD,eAAed,OAAO"}
1
+ {"version":3,"file":"coins_1.js","names":["React","coins_1","props","createElement","_extends","xmlns","width","height","fill","viewBox","_path","stroke","strokeLinecap","strokeLinejoin","strokeWidth","d"],"sources":["../../../../src/icons/dnb/coins_1.tsx"],"sourcesContent":["/** This file is auto generated by convertSvgToJsx.ts */\n\nimport React from 'react'\nconst coins_1 = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n fill=\"none\"\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path\n stroke=\"#000\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M1 3.24v9.508M1 3.24c0 .878 2.137 1.59 4.773 1.59 2.636 0 4.773-.712 4.773-1.59M1 3.24c0-.878 2.137-1.59 4.773-1.59 2.636 0 4.773.712 4.773 1.59M1 3.24v3.144m0 6.364c0 .9 2.137 1.63 4.773 1.63h.67M1 12.747V9.566m9.546-6.325v4.753m0-4.753v3.143M1 9.566c0 .842 1.873 1.536 4.275 1.62h.18M1 9.567V6.384m0 0c0 .9 2.137 1.63 4.773 1.63 2.636 0 4.773-.73 4.773-1.63m0 0v1.61m0 0v.818M5.455 10.4c0-.879 2.136-1.591 4.772-1.591.107 0 .213.001.319.003M5.455 10.4c0 .9 2.136 1.63 4.772 1.63S15 11.3 15 10.4m-9.545 0v.787M15 10.4v2.984c0 .9-2.137 1.63-4.773 1.63-1.54 0-2.91-.25-3.784-.637M15 10.4c0-.843-1.967-1.533-4.454-1.588m-5.091 2.375v2.197c0 .374.368.718.988.993\"\n />\n </svg>\n)\nexport default coins_1\n"],"mappings":";;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,MAAMC,OAAO,GAAIC,KAAK,IACpBF,KAAA,CAAAG,aAAA,QAAAC,QAAA;EACEC,KAAK,EAAC,4BAA4B;EAClCC,KAAK,EAAE,EAAG;EACVC,MAAM,EAAE,EAAG;EACXC,IAAI,EAAC,MAAM;EACXC,OAAO,EAAC;AAAW,GACfP,KAAK,GAAAQ,KAAA,KAAAA,KAAA,GAETV,KAAA,CAAAG,aAAA;EACEQ,MAAM,EAAC,MAAM;EACbC,aAAa,EAAC,OAAO;EACrBC,cAAc,EAAC,OAAO;EACtBC,WAAW,EAAE,GAAI;EACjBC,CAAC,EAAC;AAAqpB,CACxpB,CAAC,CACC,CACN;AACD,eAAed,OAAO"}
@@ -12,7 +12,7 @@ const coins_1_medium = props => React.createElement("svg", _extends({
12
12
  strokeLinecap: "round",
13
13
  strokeLinejoin: "round",
14
14
  strokeWidth: 1.5,
15
- d: "M1 3.75v14.939M1 3.75c0 1.38 3.358 2.5 7.5 2.5 4.142 0 7.5-1.12 7.5-2.5m-15 0c0-1.38 3.358-2.5 7.5-2.5 4.142 0 7.5 1.12 7.5 2.5m-15 0v4.939m0 10c0 1.414 3.358 2.561 7.5 2.561h1.054M1 18.689v-5M16 3.75v7.47m0-7.47v4.939m-15 5c0 1.324 2.944 2.414 6.718 2.547H8M1 13.69v-5m0 0c0 1.414 3.358 2.561 7.5 2.561 4.142 0 7.5-1.147 7.5-2.561m0 0v2.53m0 0v1.287M8 15c0-1.38 3.358-2.5 7.5-2.5.168 0 .335.002.5.005M8 15c0 1.414 3.358 2.561 7.5 2.561 4.142 0 7.5-1.147 7.5-2.561M8 15v1.236M23 15v4.689c0 1.414-3.358 2.561-7.5 2.561-2.421 0-4.575-.392-5.946-1M23 15c0-1.325-3.091-2.409-7-2.495m-8 3.731v3.453c0 .587.58 1.129 1.554 1.561"
15
+ d: "M1 4.5v14.939M1 4.5C1 5.88 4.358 7 8.5 7 12.642 7 16 5.88 16 4.5m-15 0C1 3.12 4.358 2 8.5 2 12.642 2 16 3.12 16 4.5m-15 0v4.939m0 10C1 20.853 4.358 22 8.5 22h1.054M1 19.439v-5M16 4.5v7.47m0-7.47v4.939m-15 5c0 1.324 2.944 2.414 6.718 2.547H8M1 14.44v-5m0 0C1 10.853 4.358 12 8.5 12c4.142 0 7.5-1.147 7.5-2.561m0 0v2.53m0 0v1.287M8 15.75c0-1.38 3.358-2.5 7.5-2.5.168 0 .335.002.5.005M8 15.75c0 1.414 3.358 2.561 7.5 2.561 4.142 0 7.5-1.147 7.5-2.561m-15 0v1.236m15-1.236v4.689C23 21.853 19.642 23 15.5 23c-2.421 0-4.575-.392-5.946-1M23 15.75c0-1.325-3.091-2.409-7-2.495m-8 3.731v3.453c0 .587.58 1.129 1.554 1.561"
16
16
  })));
17
17
  export default coins_1_medium;
18
18
  //# sourceMappingURL=coins_1_medium.js.map