@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
@@ -41,15 +41,17 @@ function StringComponent(props) {
41
41
  pattern: props.pattern
42
42
  };
43
43
  }, [props.schema, props.minLength, props.maxLength, props.pattern]);
44
- const fromInput = (0, _react.useCallback)(_ref => {
45
- let {
46
- value,
47
- cleanedValue
48
- } = _ref;
49
- if (value === '') {
44
+ const fromInput = (0, _react.useCallback)(event => {
45
+ var _event, _event$cleanedValue, _event2, _event3;
46
+ if (typeof event === 'string') {
47
+ event = {
48
+ value: event
49
+ };
50
+ }
51
+ if (((_event = event) === null || _event === void 0 ? void 0 : _event.value) === '') {
50
52
  return props.emptyValue;
51
53
  }
52
- return cleanedValue !== null && cleanedValue !== void 0 ? cleanedValue : value;
54
+ return (_event$cleanedValue = (_event2 = event) === null || _event2 === void 0 ? void 0 : _event2.cleanedValue) !== null && _event$cleanedValue !== void 0 ? _event$cleanedValue : (_event3 = event) === null || _event3 === void 0 ? void 0 : _event3.value;
53
55
  }, [props.emptyValue]);
54
56
  const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
55
57
  errorMessages,
@@ -62,6 +64,7 @@ function StringComponent(props) {
62
64
  name,
63
65
  className,
64
66
  autoComplete,
67
+ inputMode,
65
68
  innerRef,
66
69
  inputClassName,
67
70
  layout,
@@ -74,6 +77,7 @@ function StringComponent(props) {
74
77
  info,
75
78
  warning,
76
79
  error,
80
+ hasError,
77
81
  disabled,
78
82
  help,
79
83
  multiline,
@@ -95,6 +99,7 @@ function StringComponent(props) {
95
99
  id,
96
100
  name,
97
101
  autoComplete,
102
+ inputMode,
98
103
  className: cn,
99
104
  placeholder: placeholder,
100
105
  suffix: help ? _react.default.createElement(_components.HelpButton, {
@@ -106,7 +111,7 @@ function StringComponent(props) {
106
111
  disabled: disabled,
107
112
  stretch: width !== undefined,
108
113
  inner_ref: innerRef,
109
- status: error ? 'error' : undefined,
114
+ status: error || hasError ? 'error' : undefined,
110
115
  value: (_value$toString = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString !== void 0 ? _value$toString : ''
111
116
  };
112
117
  return _react.default.createElement(_FieldBlock.default, _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"String.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_InputMasked","_Context","_FieldBlock","_hooks","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","StringComponent","props","_props$width","_value$length","_value$length2","_value$toString","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","inputErrorRequired","minLength","stringInputErrorMinLength","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","_props$schema","type","fromInput","useCallback","_ref","cleanedValue","emptyValue","preparedProps","width","id","name","className","autoComplete","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","useDataValue","characterCounterElement","cn","classnames","sharedProps","suffix","createElement","HelpButton","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","toString","forId","contentsWidth","pickSpacingProps","Textarea","autoresize_max_rows","icon","icon_position","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minLength: tr.stringInputErrorMinLength,\n maxLength: tr.stringInputErrorMaxLength,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n ({ value, cleanedValue }: { value: string; cleanedValue: string }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n [props.emptyValue]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps = {\n id,\n name,\n autoComplete,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error ? 'error' : undefined,\n value: value?.toString() ?? '',\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n width={width === 'stretch' ? width : undefined}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAF,sBAAA,CAAAF,OAAA;AAGA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AAAoE,SAAAE,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAd,wBAAAU,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAArB,MAAA,CAAAqB,IAAA,CAAAF,MAAA,OAAAnB,MAAA,CAAAsB,qBAAA,QAAAC,OAAA,GAAAvB,MAAA,CAAAsB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAzB,MAAA,CAAAE,wBAAA,CAAAiB,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAO,cAAAhB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAK,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,OAAAa,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAlB,MAAA,EAAAT,GAAA,EAAAa,MAAA,CAAAb,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAApB,MAAA,EAAAZ,MAAA,CAAA+B,yBAAA,CAAAf,MAAA,KAAAE,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,GAAAa,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAW,MAAA,EAAAT,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAc,MAAA,EAAAb,GAAA,iBAAAS,MAAA;AAAA,SAAAkB,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAP,UAAA,QAAAS,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,2BAAAlC,GAAA,gBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AA+BpE,SAASS,eAAeA,CAACC,KAAY,EAAE;EAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,cAAA,EAAAC,eAAA;EACrC,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAC/C,MAAMC,EAAE,GAAGH,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,WAAW,CAACC,KAAK;EAE3C,MAAMC,aAAa,GAAG,IAAAC,cAAO,EAC3B,MAAAlC,aAAA;IACEmC,QAAQ,EAAEL,EAAE,CAACM,kBAAkB;IAC/BC,SAAS,EAAEP,EAAE,CAACQ,yBAAyB;IACvCC,SAAS,EAAET,EAAE,CAACU,yBAAyB;IACvCC,OAAO,EAAEX,EAAE,CAACY;EAAiB,GAC1BpB,KAAK,CAACW,aAAa,CACtB,EACF,CAACH,EAAE,EAAER,KAAK,CAACW,aAAa,CAC1B,CAAC;EACD,MAAMU,MAAM,GAAG,IAAAT,cAAO,EACpB;IAAA,IAAAU,aAAA;IAAA,QAAAA,aAAA,GACEtB,KAAK,CAACqB,MAAM,cAAAC,aAAA,cAAAA,aAAA,GAAI;MACdC,IAAI,EAAE,QAAQ;MACdR,SAAS,EAAEf,KAAK,CAACe,SAAS;MAC1BE,SAAS,EAAEjB,KAAK,CAACiB,SAAS;MAC1BE,OAAO,EAAEnB,KAAK,CAACmB;IACjB,CAAC;EAAA,GACH,CAACnB,KAAK,CAACqB,MAAM,EAAErB,KAAK,CAACe,SAAS,EAAEf,KAAK,CAACiB,SAAS,EAAEjB,KAAK,CAACmB,OAAO,CAChE,CAAC;EACD,MAAMK,SAAS,GAAG,IAAAC,kBAAW,EAC3BC,IAAA,IAAsE;IAAA,IAArE;MAAE3C,KAAK;MAAE4C;IAAsD,CAAC,GAAAD,IAAA;IAC/D,IAAI3C,KAAK,KAAK,EAAE,EAAE;MAChB,OAAOiB,KAAK,CAAC4B,UAAU;IACzB;IAEA,OAAOD,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI5C,KAAK;EAC9B,CAAC,EACD,CAACiB,KAAK,CAAC4B,UAAU,CACnB,CAAC;EAED,MAAMC,aAAoB,GAAAnD,aAAA,CAAAA,aAAA,KACrBsB,KAAK;IACRW,aAAa;IACbU,MAAM;IACNG,SAAS;IACTM,KAAK,GAAA7B,YAAA,GAAED,KAAK,CAAC8B,KAAK,cAAA7B,YAAA,cAAAA,YAAA,GAAI;EAAO,EAC9B;EAED,MAAM;IACJ8B,EAAE;IACFC,IAAI;IACJC,SAAS;IACTC,YAAY;IACZC,QAAQ;IACRC,cAAc;IACdC,MAAM;IACNd,IAAI;IACJe,WAAW;IACXC,KAAK;IACLC,gBAAgB;IAChBC,cAAc;IACd1D,KAAK;IACL2D,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,KAAK;IACLC,UAAU,GAAG,IAAI;IACjBC,iBAAiB,GAAG,CAAC;IACrBC,gBAAgB;IAChBC,IAAI;IACJxB,KAAK;IACLyB,WAAW;IACXC,UAAU;IACVC;EACF,CAAC,GAAG,IAAAC,mBAAY,EAAC7B,aAAa,CAAC;EAE/B,MAAM8B,uBAAuB,GAAGN,gBAAgB,GAC5CrD,KAAK,CAACiB,SAAS,GACZ,IAAAf,aAAA,GAAEnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAElB,MAAM,cAAAqC,aAAA,cAAAA,aAAA,GAAI,GAAI,IAAGF,KAAK,CAACiB,SAAU,EAAC,GAC3C,IAAAd,cAAA,GAAEpB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAElB,MAAM,cAAAsC,cAAA,cAAAA,cAAA,GAAI,GAAI,EAAC,GAC3BR,SAAS;EACb,MAAMiE,EAAE,GAAG,IAAAC,mBAAU,EAAC,+BAA+B,EAAEzB,cAAc,CAAC;EAEtE,MAAM0B,WAAW,GAAG;IAClB/B,EAAE;IACFC,IAAI;IACJE,YAAY;IACZD,SAAS,EAAE2B,EAAE;IACbtB,WAAW,EAAEA,WAAW;IACxByB,MAAM,EAAEjB,IAAI,GACVxH,MAAA,CAAAa,OAAA,CAAA6H,aAAA,CAACrI,WAAA,CAAAsI,UAAU;MAACC,KAAK,EAAEpB,IAAI,CAACoB;IAAM,GAAEpB,IAAI,CAACqB,QAAqB,CAAC,GACzDxE,SAAS;IACbyE,QAAQ,EAAEb,WAAW;IACrBc,OAAO,EAAEb,UAAU;IACnBc,SAAS,EAAEb,YAAY;IACvBZ,QAAQ,EAAEA,QAAQ;IAClB0B,OAAO,EAAEzC,KAAK,KAAKnC,SAAS;IAC5B6E,SAAS,EAAErC,QAAQ;IACnBsC,MAAM,EAAE7B,KAAK,GAAG,OAAO,GAAGjD,SAAS;IACnCZ,KAAK,GAAAqB,eAAA,GAAErB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE2F,QAAQ,CAAC,CAAC,cAAAtE,eAAA,cAAAA,eAAA,GAAI;EAC9B,CAAC;EAED,OACE9E,MAAA,CAAAa,OAAA,CAAA6H,aAAA,CAAClI,WAAA,CAAAK,OAAU,EAAAoB,QAAA;IACT0E,SAAS,EAAE,IAAA4B,mBAAU,EAAC,wBAAwB,EAAE5B,SAAS,CAAE;IAC3D0C,KAAK,EAAE5C,EAAG;IACVM,MAAM,EAAEA,MAAO;IACfE,KAAK,EAAEA,KAAM;IACbC,gBAAgB,EAAEA,gBAAiB;IACnCC,cAAc,EAAEA,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAIkB,uBAAwB;IAC1DjB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBE,QAAQ,EAAEA,QAAS;IACnBD,KAAK,EAAEA,KAAM;IACbd,KAAK,EAAEA,KAAK,KAAK,SAAS,GAAGA,KAAK,GAAGnC,SAAU;IAC/CiF,aAAa,EAAE9C,KAAK,KAAK,KAAK,GAAGA,KAAK,GAAGnC;EAAU,GAC/C,IAAAkF,uBAAgB,EAAC7E,KAAK,CAAC,GAE1B+C,SAAS,GACRzH,MAAA,CAAAa,OAAA,CAAA6H,aAAA,CAACrI,WAAA,CAAAmJ,QAAQ,EAAAvH,QAAA,KACHuG,WAAW;IACfX,UAAU,EAAEA,UAAW;IACvB4B,mBAAmB,EAAE3B;EAAkB,EACxC,CAAC,GACAE,IAAI,GACNhI,MAAA,CAAAa,OAAA,CAAA6H,aAAA,CAACpI,YAAA,CAAAO,OAAW,EAAAoB,QAAA,KACNuG,WAAW;IACfR,IAAI,EAAEA,IAAK;IACX0B,IAAI,EAAEhC,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIC,SAAU;IAC5BgC,aAAa,EAAEhC,SAAS,IAAI,CAACD,QAAQ,GAAG,OAAO,GAAGrD;EAAU,EAC7D,CAAC,GAEFrE,MAAA,CAAAa,OAAA,CAAA6H,aAAA,CAACrI,WAAA,CAAAuJ,KAAK,EAAA3H,QAAA,KACAuG,WAAW;IACfvC,IAAI,EAAEA,IAAK;IACXyD,IAAI,EAAEhC,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIC,SAAU;IAC5BgC,aAAa,EAAEhC,SAAS,IAAI,CAACD,QAAQ,GAAG,OAAO,GAAGrD,SAAU;IAC5DuD,KAAK,EAAEA;EAAM,EACd,CAEO,CAAC;AAEjB;AAEAnD,eAAe,CAACoF,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC7BrF,eAAe;AAAAsF,OAAA,CAAAlJ,OAAA,GAAAiJ,QAAA"}
1
+ {"version":3,"file":"String.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_InputMasked","_Context","_FieldBlock","_hooks","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","StringComponent","props","_props$width","_value$length","_value$length2","_value$toString","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","inputErrorRequired","minLength","stringInputErrorMinLength","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","_props$schema","type","fromInput","useCallback","event","_event","_event$cleanedValue","_event2","_event3","emptyValue","cleanedValue","preparedProps","width","id","name","className","autoComplete","inputMode","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","hasError","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","useDataValue","characterCounterElement","cn","classnames","sharedProps","suffix","createElement","HelpButton","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","toString","forId","contentsWidth","pickSpacingProps","Textarea","autoresize_max_rows","icon","icon_position","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minLength: tr.stringInputErrorMinLength,\n maxLength: tr.stringInputErrorMaxLength,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputMode,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps = {\n id,\n name,\n autoComplete,\n inputMode,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error || hasError ? 'error' : undefined,\n value: value?.toString() ?? '',\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n width={width === 'stretch' ? width : undefined}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
@@ -165,7 +165,7 @@ function useEnableFieldset(_ref4) {
165
165
  let count = 0;
166
166
  (0, _componentHelper.findElementInChildren)(children, child => {
167
167
  var _child$props, _child$type;
168
- if (typeof (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.label) !== 'undefined' || (child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type['_formElement']) === true) {
168
+ if (child !== null && child !== void 0 && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.label || (child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type['_formElement']) === true) {
169
169
  count++;
170
170
  }
171
171
  if (count > 1) {
@@ -174,7 +174,7 @@ function useEnableFieldset(_ref4) {
174
174
  });
175
175
  }
176
176
  return Boolean(result);
177
- }, [children]);
177
+ }, [asFieldset, children, label, nestedFieldBlockContext]);
178
178
  }
179
179
  FieldBlock._supportsSpacingProps = true;
180
180
  var _default = FieldBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_types","_FieldBlockContext","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FieldBlock","props","nestedFieldBlockContext","useContext","FieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","asFieldset","info","warning","error","errorProp","disabled","width","contentsWidth","size","contentClassName","children","rest","fieldErrorRecord","setFieldErrorRecord","useState","showFieldErrorRecord","setShowFieldErrorRecord","setError","useCallback","identifier","existing","removed","newRecord","map","setShowError","show","useMemo","errors","entries","_ref","_ref2","Error","message","join","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","state","stateStatus","Label","_ref3","createElement","FormLabel","element","space","top","bottom","Provider","Space","Fragment","FormStatus","id","text","FormError","toString","_ref4","result","count","findElementInChildren","child","_child$props","_child$type","type","Boolean","_supportsSpacingProps","_default","exports"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n asFieldset,\n info,\n warning,\n error: errorProp,\n disabled,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (identifier, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(identifier, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [identifier]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (identifier, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(identifier, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [identifier]: true,\n }\n } else {\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([identifier]) => showFieldErrorRecord[identifier] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n forId={enableFieldset ? undefined : forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n disabled={disabled}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <>&nbsp;</>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n typeof child?.props?.label !== 'undefined' ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [children])\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_types","_FieldBlockContext","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FieldBlock","props","nestedFieldBlockContext","useContext","FieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","asFieldset","info","warning","error","errorProp","disabled","width","contentsWidth","size","contentClassName","children","rest","fieldErrorRecord","setFieldErrorRecord","useState","showFieldErrorRecord","setShowFieldErrorRecord","setError","useCallback","identifier","existing","removed","newRecord","map","setShowError","show","useMemo","errors","entries","_ref","_ref2","Error","message","join","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","state","stateStatus","Label","_ref3","createElement","FormLabel","element","space","top","bottom","Provider","Space","Fragment","FormStatus","id","text","FormError","toString","_ref4","result","count","findElementInChildren","child","_child$props","_child$type","type","Boolean","_supportsSpacingProps","_default","exports"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n asFieldset,\n info,\n warning,\n error: errorProp,\n disabled,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (identifier, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(identifier, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [identifier]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (identifier, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(identifier, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [identifier]: true,\n }\n } else {\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([identifier]) => showFieldErrorRecord[identifier] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n forId={enableFieldset ? undefined : forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n disabled={disabled}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <>&nbsp;</>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
@@ -32,7 +32,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
32
32
  grid-template-areas: "label" "contents" "status";
33
33
  }
34
34
  .dnb-forms-field-block--layout-horizontal {
35
- grid-template-columns: var(--forms-field-width--medium) auto;
35
+ grid-template-columns: fit-content(100%) auto;
36
36
  grid-template-areas: "label contents" "status status";
37
37
  }
38
38
  .dnb-forms-field-block--width-stretch {
@@ -1 +1 @@
1
- :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)}}
1
+ :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)}}
@@ -19,7 +19,7 @@ fieldset.dnb-forms-field-block {
19
19
  'status';
20
20
  }
21
21
  &-horizontal {
22
- grid-template-columns: var(--forms-field-width--medium) auto;
22
+ grid-template-columns: fit-content(100%) auto;
23
23
  grid-template-areas:
24
24
  'label contents'
25
25
  'status status';
@@ -1,6 +1,14 @@
1
+ /*
2
+ * Utilities
3
+ */
1
4
  .dnb-forms-button-row {
2
5
  display: flex;
3
6
  flex-flow: row;
4
7
  -moz-column-gap: var(--spacing-small);
5
8
  column-gap: var(--spacing-small);
9
+ }
10
+ @media screen and (min-width: 40em) {
11
+ .dnb-card + .dnb-forms-button-row:not([class*=space__left]) {
12
+ margin-left: var(--spacing-medium);
13
+ }
6
14
  }
@@ -1 +1 @@
1
- .dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}
1
+ .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)}}
@@ -1,5 +1,15 @@
1
+ @import '../../../../../style/core/utilities.scss';
2
+
1
3
  .dnb-forms-button-row {
2
4
  display: flex;
3
5
  flex-flow: row;
4
6
  column-gap: var(--spacing-small);
7
+
8
+ .dnb-card + & {
9
+ &:not([class*='space__left']) {
10
+ @include allAbove(small) {
11
+ margin-left: var(--spacing-medium);
12
+ }
13
+ }
14
+ }
5
15
  }
@@ -33,9 +33,9 @@ function FormHandler(_ref) {
33
33
  schema,
34
34
  onChange,
35
35
  onPathChange,
36
- onSubmit: data => {
36
+ onSubmit: function () {
37
37
  if (typeof onSubmit === 'function') {
38
- onSubmit(data);
38
+ onSubmit(...arguments);
39
39
  }
40
40
  },
41
41
  onSubmitRequest,
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["_react","_interopRequireDefault","require","_Provider","_Element","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","providerProps","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (data: Data) => {\n if (typeof onSubmit === 'function') {\n onSubmit(data)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAC,MAAA,CAAAC,qBAAA,QAAAC,gBAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAP,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAG,gBAAA,CAAAC,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAI,gBAAA,CAAAH,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,uBAAAE,MAAA,CAAAK,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAb,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAY,UAAA,GAAAR,MAAA,CAAAS,IAAA,CAAAf,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAS,UAAA,CAAAL,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAU,UAAA,CAAAT,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AAarB,SAASc,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAA9B,wBAAA,CAAAkB,IAAA,EAAAtB,SAAA;EAEP,MAAMmC,aAAa,GAAG;IACpBX,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAGJ,IAAU,IAAK;MACxB,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAACJ,IAAI,CAAC;MAChB;IACF,CAAC;IACDK,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEtC,MAAA,CAAAQ,OAAA,CAAAiC,aAAA,CAACtC,SAAA,CAAAK,OAAQ,EAAKgC,aAAa,EACzBxC,MAAA,CAAAQ,OAAA,CAAAiC,aAAA,CAACrC,QAAA,CAAAI,OAAW,EAAK+B,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
1
+ {"version":3,"file":"Handler.js","names":["_react","_interopRequireDefault","require","_Provider","_Element","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","providerProps","arguments","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (...args) => {\n if (typeof onSubmit === 'function') {\n onSubmit(...args)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAC,MAAA,CAAAC,qBAAA,QAAAC,gBAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAP,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAG,gBAAA,CAAAC,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAI,gBAAA,CAAAH,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,uBAAAE,MAAA,CAAAK,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAb,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAY,UAAA,GAAAR,MAAA,CAAAS,IAAA,CAAAf,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAS,UAAA,CAAAL,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAU,UAAA,CAAAT,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AAarB,SAASc,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAA9B,wBAAA,CAAAkB,IAAA,EAAAtB,SAAA;EAEP,MAAMmC,aAAa,GAAG;IACpBX,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE,SAAAA,CAAA,EAAa;MACrB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAAC,GAAAO,SAAO,CAAC;MACnB;IACF,CAAC;IACDN,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEtC,MAAA,CAAAQ,OAAA,CAAAkC,aAAA,CAACvC,SAAA,CAAAK,OAAQ,EAAKgC,aAAa,EACzBxC,MAAA,CAAAQ,OAAA,CAAAkC,aAAA,CAACtC,QAAA,CAAAI,OAAW,EAAK+B,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
@@ -1,8 +1,13 @@
1
+ /*
2
+ * Utilities
3
+ */
1
4
  .dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]) {
2
5
  margin: 0;
3
6
  }
4
- .dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
5
- margin-left: var(--spacing-medium);
7
+ @media screen and (min-width: 40em) {
8
+ .dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
9
+ margin-left: var(--spacing-medium);
10
+ }
6
11
  }
7
12
  .dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
8
13
  margin-bottom: var(--spacing-small);
@@ -1 +1 @@
1
- .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)}
1
+ .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)}
@@ -1,3 +1,5 @@
1
+ @import '../../../../../style/core/utilities.scss';
2
+
1
3
  .dnb-form-main-heading {
2
4
  // Reset inherited spacing
3
5
  .dnb-spacing & {
@@ -8,8 +10,11 @@
8
10
 
9
11
  &:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card) {
10
12
  &:not([class*='space__left']) {
11
- margin-left: var(--spacing-medium);
13
+ @include allAbove(small) {
14
+ margin-left: var(--spacing-medium);
15
+ }
12
16
  }
17
+
13
18
  &:not([class*='space__bottom']) {
14
19
  margin-bottom: var(--spacing-small);
15
20
  }
@@ -1,3 +1,6 @@
1
+ /*
2
+ * Utilities
3
+ */
1
4
  .dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]) {
2
5
  margin: 0;
3
6
  }
@@ -1,3 +1,5 @@
1
+ @import '../../../../../style/core/utilities.scss';
2
+
1
3
  .dnb-form-sub-heading {
2
4
  // Reset inherited spacing
3
5
  .dnb-spacing & {
@@ -10,6 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _components = require("../../../../components");
11
11
  var _Context = _interopRequireDefault(require("../../../../shared/Context"));
12
12
  var _StepsContext = _interopRequireDefault(require("../StepsContext"));
13
+ var _ButtonRow = _interopRequireDefault(require("../../Form/ButtonRow"));
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -24,13 +25,13 @@ function NextButton(props) {
24
25
  children = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.stepNext
25
26
  } = props;
26
27
  const stepsContext = (0, _react.useContext)(_StepsContext.default);
27
- return _react.default.createElement(_components.Button, _extends({}, props, {
28
+ return _react.default.createElement(_ButtonRow.default, null, _react.default.createElement(_components.Button, _extends({}, props, {
28
29
  className: (0, _classnames.default)('dnb-forms-next-button', className),
29
30
  onClick: stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.handleNext,
30
31
  variant: variant,
31
32
  icon_position: icon_position,
32
33
  icon: icon
33
- }), children);
34
+ }), children));
34
35
  }
35
36
  NextButton._supportsSpacingProps = true;
36
37
  var _default = NextButton;
@@ -1 +1 @@
1
- {"version":3,"file":"NextButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_Context","_StepsContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","NextButton","props","sharedContext","useContext","SharedContext","className","variant","icon_position","icon","children","translation","Forms","stepNext","stepsContext","StepsContext","createElement","Button","classnames","onClick","handleNext","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/StepsLayout/NextButton/NextButton.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/button/Button'\nimport SharedContext from '../../../../shared/Context'\nimport StepsContext from '../StepsContext'\n\nexport type Props = ComponentProps &\n ButtonProps & {\n children?: string\n }\n\nfunction NextButton(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n variant = 'primary',\n icon_position = 'right',\n icon = 'chevron_right',\n children = sharedContext?.translation.Forms.stepNext,\n } = props\n const stepsContext = useContext(StepsContext)\n\n return (\n <Button\n {...props}\n className={classnames('dnb-forms-next-button', className)}\n onClick={stepsContext?.handleNext}\n variant={variant}\n icon_position={icon_position}\n icon={icon}\n >\n {children}\n </Button>\n )\n}\n\nNextButton._supportsSpacingProps = true\nexport default NextButton\n"],"mappings":"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"}
1
+ {"version":3,"file":"NextButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_Context","_StepsContext","_ButtonRow","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","NextButton","props","sharedContext","useContext","SharedContext","className","variant","icon_position","icon","children","translation","Forms","stepNext","stepsContext","StepsContext","createElement","Button","classnames","onClick","handleNext","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/StepsLayout/NextButton/NextButton.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/button/Button'\nimport SharedContext from '../../../../shared/Context'\nimport StepsContext from '../StepsContext'\nimport ButtonRow from '../../Form/ButtonRow'\n\nexport type Props = ComponentProps &\n ButtonProps & {\n children?: string\n }\n\nfunction NextButton(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n variant = 'primary',\n icon_position = 'right',\n icon = 'chevron_right',\n children = sharedContext?.translation.Forms.stepNext,\n } = props\n const stepsContext = useContext(StepsContext)\n\n return (\n <ButtonRow>\n <Button\n {...props}\n className={classnames('dnb-forms-next-button', className)}\n onClick={stepsContext?.handleNext}\n variant={variant}\n icon_position={icon_position}\n icon={icon}\n >\n {children}\n </Button>\n </ButtonRow>\n )\n}\n\nNextButton._supportsSpacingProps = true\nexport default NextButton\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _components = require("../../../../components");
11
11
  var _Context = _interopRequireDefault(require("../../../../shared/Context"));
12
12
  var _StepsContext = _interopRequireDefault(require("../StepsContext"));
13
+ var _ButtonRow = _interopRequireDefault(require("../../Form/ButtonRow"));
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -24,13 +25,13 @@ function PreviousButton(props) {
24
25
  children = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.stepPrevious
25
26
  } = props;
26
27
  const stepsContext = (0, _react.useContext)(_StepsContext.default);
27
- return _react.default.createElement(_components.Button, _extends({}, props, {
28
+ return _react.default.createElement(_ButtonRow.default, null, _react.default.createElement(_components.Button, _extends({}, props, {
28
29
  className: (0, _classnames.default)('dnb-forms-previous-button', className),
29
30
  onClick: stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.handlePrevious,
30
31
  variant: variant,
31
32
  icon_position: icon_position,
32
33
  icon: icon
33
- }), children);
34
+ }), children));
34
35
  }
35
36
  PreviousButton._supportsSpacingProps = true;
36
37
  var _default = PreviousButton;
@@ -1 +1 @@
1
- {"version":3,"file":"PreviousButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_Context","_StepsContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","PreviousButton","props","sharedContext","useContext","SharedContext","className","variant","icon_position","icon","children","translation","Forms","stepPrevious","stepsContext","StepsContext","createElement","Button","classnames","onClick","handlePrevious","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/StepsLayout/PreviousButton/PreviousButton.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/button/Button'\nimport SharedContext from '../../../../shared/Context'\nimport StepsContext from '../StepsContext'\n\nexport type Props = ComponentProps &\n ButtonProps & {\n children?: string\n }\n\nfunction PreviousButton(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n variant = 'tertiary',\n icon_position = 'left',\n icon = 'chevron_left',\n children = sharedContext?.translation.Forms.stepPrevious,\n } = props\n const stepsContext = useContext(StepsContext)\n\n return (\n <Button\n {...props}\n className={classnames('dnb-forms-previous-button', className)}\n onClick={stepsContext?.handlePrevious}\n variant={variant}\n icon_position={icon_position}\n icon={icon}\n >\n {children}\n </Button>\n )\n}\n\nPreviousButton._supportsSpacingProps = true\nexport default PreviousButton\n"],"mappings":"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"}
1
+ {"version":3,"file":"PreviousButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_Context","_StepsContext","_ButtonRow","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","PreviousButton","props","sharedContext","useContext","SharedContext","className","variant","icon_position","icon","children","translation","Forms","stepPrevious","stepsContext","StepsContext","createElement","Button","classnames","onClick","handlePrevious","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/StepsLayout/PreviousButton/PreviousButton.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/button/Button'\nimport SharedContext from '../../../../shared/Context'\nimport StepsContext from '../StepsContext'\nimport ButtonRow from '../../Form/ButtonRow'\n\nexport type Props = ComponentProps &\n ButtonProps & {\n children?: string\n }\n\nfunction PreviousButton(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n variant = 'tertiary',\n icon_position = 'left',\n icon = 'chevron_left',\n children = sharedContext?.translation.Forms.stepPrevious,\n } = props\n const stepsContext = useContext(StepsContext)\n\n return (\n <ButtonRow>\n <Button\n {...props}\n className={classnames('dnb-forms-previous-button', className)}\n onClick={stepsContext?.handlePrevious}\n variant={variant}\n icon_position={icon_position}\n icon={icon}\n >\n {children}\n </Button>\n </ButtonRow>\n )\n}\n\nPreviousButton._supportsSpacingProps = true\nexport default PreviousButton\n"],"mappings":"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"}
@@ -26,7 +26,7 @@ function StepsLayout(props) {
26
26
  const {
27
27
  className,
28
28
  id = (0, _componentHelper.makeUniqueId)(),
29
- mode = 'loose',
29
+ mode = 'strict',
30
30
  scrollTopOnStepChange,
31
31
  initialActiveIndex = 0,
32
32
  onStepChange,
@@ -1 +1 @@
1
- {"version":3,"file":"StepsLayout.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_componentHelper","_Context","_Step","_StepsContext","_NextButton","_PreviousButton","_Buttons","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","StepsLayout","props","className","id","makeUniqueId","mode","scrollTopOnStepChange","initialActiveIndex","onStepChange","children","rest","dataContext","useContext","DataContext","activeIndex","setActiveIndex","useState","handlePrevious","useCallback","_window","window","scrollTo","top","behavior","handleNext","hasErrors","_window2","setShowAllErrors","stepIndicatorData","React","Children","map","child","_child$props$title","isValidElement","type","Step","Error","title","handleChange","_ref","current_step","createElement","Provider","value","Space","classnames","StepIndicator","Sidebar","sidebar_id","bottom","data","no_animation","on_change","cloneElement","index","_supportsSpacingProps","NextButton","PreviousButton","Buttons","_default","exports"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayout.tsx"],"sourcesContent":["import React, { useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../components'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport { ComponentProps } from '../types'\nimport DataContext from '../DataContext/Context'\nimport Step, { Props as StepProps } from './Step'\nimport StepsContext from './StepsContext'\nimport NextButton from './NextButton'\nimport PreviousButton from './PreviousButton'\nimport Buttons from './Buttons'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n scrollTopOnStepChange?: boolean\n initialActiveIndex?: number\n onStepChange?: (index: number) => void\n children: React.ReactNode\n}\n\nfunction StepsLayout(props: Props) {\n const {\n className,\n id = makeUniqueId(),\n mode = 'loose',\n scrollTopOnStepChange,\n initialActiveIndex = 0,\n onStepChange,\n children,\n ...rest\n } = props\n const dataContext = useContext(DataContext)\n const [activeIndex, setActiveIndex] =\n useState<number>(initialActiveIndex)\n\n const handlePrevious = useCallback(() => {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex - 1)\n return activeIndex - 1\n })\n if (scrollTopOnStepChange) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }, [scrollTopOnStepChange, onStepChange])\n\n const handleNext = useCallback(() => {\n if (!dataContext.hasErrors()) {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex + 1)\n return activeIndex + 1\n })\n if (scrollTopOnStepChange) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n dataContext.setShowAllErrors(true)\n }\n }, [dataContext, scrollTopOnStepChange, onStepChange])\n\n const stepIndicatorData = React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== Step) {\n throw new Error('Only Step can be children of StepsLayout')\n }\n return child.props.title ?? 'Title missing'\n }) as string[]\n\n const handleChange = useCallback(({ current_step }) => {\n setActiveIndex(current_step)\n }, [])\n\n return (\n <StepsContext.Provider\n value={{\n activeIndex,\n handlePrevious,\n handleNext,\n }}\n >\n <Space\n className={classnames('dnb-forms-steps-layout', className)}\n {...rest}\n >\n <aside className=\"dnb-forms-steps-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndex}\n data={stepIndicatorData}\n mode={mode}\n no_animation\n on_change={handleChange}\n sidebar_id={id}\n title=\"\"\n />\n </aside>\n <div className=\"dnb-forms-steps-layout__contents\">\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child) && child.type === Step) {\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n return child\n })}\n </div>\n </Space>\n </StepsContext.Provider>\n )\n}\n\nStepsLayout._supportsSpacingProps = true\n\nStepsLayout.Step = Step\nStepsLayout.NextButton = NextButton\nStepsLayout.PreviousButton = PreviousButton\nStepsLayout.Buttons = Buttons\n\nexport default StepsLayout\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepsLayout.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_componentHelper","_Context","_Step","_StepsContext","_NextButton","_PreviousButton","_Buttons","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","StepsLayout","props","className","id","makeUniqueId","mode","scrollTopOnStepChange","initialActiveIndex","onStepChange","children","rest","dataContext","useContext","DataContext","activeIndex","setActiveIndex","useState","handlePrevious","useCallback","_window","window","scrollTo","top","behavior","handleNext","hasErrors","_window2","setShowAllErrors","stepIndicatorData","React","Children","map","child","_child$props$title","isValidElement","type","Step","Error","title","handleChange","_ref","current_step","createElement","Provider","value","Space","classnames","StepIndicator","Sidebar","sidebar_id","bottom","data","no_animation","on_change","cloneElement","index","_supportsSpacingProps","NextButton","PreviousButton","Buttons","_default","exports"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayout.tsx"],"sourcesContent":["import React, { useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../components'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport { ComponentProps } from '../types'\nimport DataContext from '../DataContext/Context'\nimport Step, { Props as StepProps } from './Step'\nimport StepsContext from './StepsContext'\nimport NextButton from './NextButton'\nimport PreviousButton from './PreviousButton'\nimport Buttons from './Buttons'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n scrollTopOnStepChange?: boolean\n initialActiveIndex?: number\n onStepChange?: (index: number) => void\n children: React.ReactNode\n}\n\nfunction StepsLayout(props: Props) {\n const {\n className,\n id = makeUniqueId(),\n mode = 'strict',\n scrollTopOnStepChange,\n initialActiveIndex = 0,\n onStepChange,\n children,\n ...rest\n } = props\n const dataContext = useContext(DataContext)\n const [activeIndex, setActiveIndex] =\n useState<number>(initialActiveIndex)\n\n const handlePrevious = useCallback(() => {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex - 1)\n return activeIndex - 1\n })\n if (scrollTopOnStepChange) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }, [scrollTopOnStepChange, onStepChange])\n\n const handleNext = useCallback(() => {\n if (!dataContext.hasErrors()) {\n setActiveIndex((activeIndex) => {\n onStepChange?.(activeIndex + 1)\n return activeIndex + 1\n })\n if (scrollTopOnStepChange) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n dataContext.setShowAllErrors(true)\n }\n }, [dataContext, scrollTopOnStepChange, onStepChange])\n\n const stepIndicatorData = React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== Step) {\n throw new Error('Only Step can be children of StepsLayout')\n }\n return child.props.title ?? 'Title missing'\n }) as string[]\n\n const handleChange = useCallback(({ current_step }) => {\n setActiveIndex(current_step)\n }, [])\n\n return (\n <StepsContext.Provider\n value={{\n activeIndex,\n handlePrevious,\n handleNext,\n }}\n >\n <Space\n className={classnames('dnb-forms-steps-layout', className)}\n {...rest}\n >\n <aside className=\"dnb-forms-steps-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndex}\n data={stepIndicatorData}\n mode={mode}\n no_animation\n on_change={handleChange}\n sidebar_id={id}\n title=\"\"\n />\n </aside>\n <div className=\"dnb-forms-steps-layout__contents\">\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child) && child.type === Step) {\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n return child\n })}\n </div>\n </Space>\n </StepsContext.Provider>\n )\n}\n\nStepsLayout._supportsSpacingProps = true\n\nStepsLayout.Step = Step\nStepsLayout.NextButton = NextButton\nStepsLayout.PreviousButton = PreviousButton\nStepsLayout.Buttons = Buttons\n\nexport default StepsLayout\n"],"mappings":"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"}