@dnb/eufemia 10.16.0 → 10.18.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 (591) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/cjs/components/anchor/Anchor.js +9 -5
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/anchor/style/anchor-mixins.scss +0 -11
  5. package/cjs/components/anchor/style/dnb-anchor.css +0 -16
  6. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  8. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  12. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  13. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  14. package/cjs/components/button/style/dnb-button.css +13 -0
  15. package/cjs/components/button/style/dnb-button.min.css +1 -1
  16. package/cjs/components/button/style/dnb-button.scss +16 -0
  17. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  18. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  19. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  20. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  21. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  22. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  23. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  24. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  25. package/cjs/components/date-picker/DatePicker.d.ts +14 -1
  26. package/cjs/components/date-picker/DatePicker.js +0 -1
  27. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  28. package/cjs/components/date-picker/DatePickerCalc.js +2 -1
  29. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -0
  31. package/cjs/components/date-picker/DatePickerInput.js +9 -2
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/dropdown/Dropdown.js +3 -2
  34. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/flex/Container.js +15 -2
  36. package/cjs/components/flex/Container.js.map +1 -1
  37. package/cjs/components/flex/export.d.ts +1 -0
  38. package/cjs/components/flex/export.js +7 -0
  39. package/cjs/components/flex/export.js.map +1 -1
  40. package/cjs/components/flex/utils.d.ts +1 -1
  41. package/cjs/components/flex/utils.js +11 -1
  42. package/cjs/components/flex/utils.js.map +1 -1
  43. package/cjs/components/flex/withChildren.d.ts +6 -0
  44. package/cjs/components/flex/withChildren.js +13 -0
  45. package/cjs/components/flex/withChildren.js.map +1 -0
  46. package/cjs/components/input/Input.js +3 -3
  47. package/cjs/components/input/Input.js.map +1 -1
  48. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  49. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  50. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  51. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  52. package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
  53. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  54. package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
  55. package/cjs/components/input-masked/MultiInputMask.js +41 -14
  56. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  57. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  58. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  59. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  60. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  61. package/cjs/components/number-format/NumberFormat.js +1 -1
  62. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  63. package/cjs/components/textarea/style/dnb-textarea.css +5 -0
  64. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  65. package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
  66. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  67. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  68. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  69. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  70. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  71. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  72. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
  73. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  76. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  77. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
  78. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  79. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  80. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  81. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  82. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  83. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
  85. package/cjs/extensions/forms/Field/Date/Date.js +47 -10
  86. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  88. package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
  89. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  90. package/cjs/extensions/forms/Field/Number/Number.d.ts +5 -1
  91. package/cjs/extensions/forms/Field/Number/Number.js +109 -30
  92. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  94. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  95. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  96. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  97. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  98. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  99. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  100. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  101. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  102. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  103. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  105. package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
  106. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  107. package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
  108. package/cjs/extensions/forms/Field/String/String.js +23 -9
  109. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  113. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -26
  114. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  115. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  116. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  117. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  118. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  119. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  120. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
  121. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  122. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
  124. package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
  125. package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
  126. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
  127. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  128. package/cjs/extensions/forms/Form/index.js +14 -0
  129. package/cjs/extensions/forms/Form/index.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
  131. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  132. package/cjs/extensions/forms/hooks/useDataValue.js +26 -33
  133. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  134. package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
  135. package/cjs/extensions/forms/hooks/useId.js +18 -0
  136. package/cjs/extensions/forms/hooks/useId.js.map +1 -0
  137. package/cjs/extensions/forms/index.d.ts +6 -1
  138. package/cjs/extensions/forms/index.js +5 -8
  139. package/cjs/extensions/forms/index.js.map +1 -1
  140. package/cjs/extensions/forms/style/dnb-forms.css +214 -11
  141. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  142. package/cjs/extensions/forms/types.d.ts +16 -18
  143. package/cjs/extensions/forms/types.js.map +1 -1
  144. package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  145. package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
  146. package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  147. package/cjs/shared/Eufemia.d.ts +1 -1
  148. package/cjs/shared/Eufemia.js +2 -2
  149. package/cjs/shared/Eufemia.js.map +1 -1
  150. package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
  151. package/cjs/shared/helpers/EventEmitter.js.map +1 -1
  152. package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
  153. package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
  154. package/cjs/shared/helpers/useSharedState.d.ts +15 -0
  155. package/cjs/shared/helpers/useSharedState.js +71 -0
  156. package/cjs/shared/helpers/useSharedState.js.map +1 -0
  157. package/cjs/style/core/utilities.scss +1 -2
  158. package/cjs/style/dnb-ui-components.css +232 -27
  159. package/cjs/style/dnb-ui-components.min.css +3 -3
  160. package/cjs/style/dnb-ui-extensions.css +214 -11
  161. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  162. package/cjs/style/dnb-ui-forms.css +214 -11
  163. package/cjs/style/dnb-ui-forms.min.css +1 -1
  164. package/cjs/style/dnb-ui-forms.scss +1 -0
  165. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  166. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  167. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  168. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  171. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  172. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  173. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  174. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  175. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  176. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  177. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  178. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  179. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  180. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  181. package/cjs/style/themes/theme-ui/ui-theme-components.css +496 -44
  182. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  183. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  184. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  185. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  186. package/cjs/style/themes/theme-ui/ui-theme-forms.css +230 -12
  187. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  188. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  189. package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
  190. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  191. package/components/anchor/Anchor.js +9 -5
  192. package/components/anchor/Anchor.js.map +1 -1
  193. package/components/anchor/style/anchor-mixins.scss +0 -11
  194. package/components/anchor/style/dnb-anchor.css +0 -16
  195. package/components/anchor/style/dnb-anchor.min.css +1 -1
  196. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  197. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  198. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  199. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  200. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  201. package/components/autocomplete/Autocomplete.js +2 -2
  202. package/components/autocomplete/Autocomplete.js.map +1 -1
  203. package/components/button/style/dnb-button.css +13 -0
  204. package/components/button/style/dnb-button.min.css +1 -1
  205. package/components/button/style/dnb-button.scss +16 -0
  206. package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  207. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  208. package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  209. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  210. package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  211. package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  212. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  213. package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  214. package/components/date-picker/DatePicker.d.ts +14 -1
  215. package/components/date-picker/DatePicker.js +0 -1
  216. package/components/date-picker/DatePicker.js.map +1 -1
  217. package/components/date-picker/DatePickerCalc.js +2 -1
  218. package/components/date-picker/DatePickerCalc.js.map +1 -1
  219. package/components/date-picker/DatePickerInput.d.ts +3 -0
  220. package/components/date-picker/DatePickerInput.js +9 -2
  221. package/components/date-picker/DatePickerInput.js.map +1 -1
  222. package/components/dropdown/Dropdown.js +3 -2
  223. package/components/dropdown/Dropdown.js.map +1 -1
  224. package/components/flex/Container.js +15 -2
  225. package/components/flex/Container.js.map +1 -1
  226. package/components/flex/export.d.ts +1 -0
  227. package/components/flex/export.js +1 -0
  228. package/components/flex/export.js.map +1 -1
  229. package/components/flex/utils.d.ts +1 -1
  230. package/components/flex/utils.js +11 -1
  231. package/components/flex/utils.js.map +1 -1
  232. package/components/flex/withChildren.d.ts +6 -0
  233. package/components/flex/withChildren.js +6 -0
  234. package/components/flex/withChildren.js.map +1 -0
  235. package/components/input/Input.js +3 -3
  236. package/components/input/Input.js.map +1 -1
  237. package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  238. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  239. package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  240. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  241. package/components/input-masked/InputMaskedHooks.js +13 -8
  242. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  243. package/components/input-masked/MultiInputMask.d.ts +10 -2
  244. package/components/input-masked/MultiInputMask.js +39 -14
  245. package/components/input-masked/MultiInputMask.js.map +1 -1
  246. package/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  247. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  248. package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  249. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  250. package/components/number-format/NumberFormat.js +1 -1
  251. package/components/number-format/NumberFormat.js.map +1 -1
  252. package/components/textarea/style/dnb-textarea.css +5 -0
  253. package/components/textarea/style/dnb-textarea.min.css +1 -1
  254. package/components/textarea/style/dnb-textarea.scss +4 -0
  255. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  256. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  257. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  258. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  259. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  260. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  261. package/components/visually-hidden/VisuallyHidden.js +1 -1
  262. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  263. package/es/components/anchor/Anchor.js +9 -5
  264. package/es/components/anchor/Anchor.js.map +1 -1
  265. package/es/components/anchor/style/anchor-mixins.scss +0 -11
  266. package/es/components/anchor/style/dnb-anchor.css +0 -16
  267. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  268. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  269. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  270. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  271. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  272. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  273. package/es/components/autocomplete/Autocomplete.js +2 -2
  274. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  275. package/es/components/button/style/dnb-button.css +13 -0
  276. package/es/components/button/style/dnb-button.min.css +1 -1
  277. package/es/components/button/style/dnb-button.scss +16 -0
  278. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  279. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  280. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  281. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  282. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  283. package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  284. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  285. package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  286. package/es/components/date-picker/DatePicker.d.ts +14 -1
  287. package/es/components/date-picker/DatePicker.js +0 -1
  288. package/es/components/date-picker/DatePicker.js.map +1 -1
  289. package/es/components/date-picker/DatePickerCalc.js +2 -1
  290. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  291. package/es/components/date-picker/DatePickerInput.d.ts +3 -0
  292. package/es/components/date-picker/DatePickerInput.js +9 -2
  293. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  294. package/es/components/dropdown/Dropdown.js +3 -2
  295. package/es/components/dropdown/Dropdown.js.map +1 -1
  296. package/es/components/flex/Container.js +15 -2
  297. package/es/components/flex/Container.js.map +1 -1
  298. package/es/components/flex/export.d.ts +1 -0
  299. package/es/components/flex/export.js +1 -0
  300. package/es/components/flex/export.js.map +1 -1
  301. package/es/components/flex/utils.d.ts +1 -1
  302. package/es/components/flex/utils.js +11 -1
  303. package/es/components/flex/utils.js.map +1 -1
  304. package/es/components/flex/withChildren.d.ts +6 -0
  305. package/es/components/flex/withChildren.js +6 -0
  306. package/es/components/flex/withChildren.js.map +1 -0
  307. package/es/components/input/Input.js +3 -3
  308. package/es/components/input/Input.js.map +1 -1
  309. package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  310. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  311. package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  312. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  313. package/es/components/input-masked/InputMaskedHooks.js +13 -8
  314. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  315. package/es/components/input-masked/MultiInputMask.d.ts +10 -2
  316. package/es/components/input-masked/MultiInputMask.js +39 -13
  317. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  318. package/es/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  319. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  320. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  321. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  322. package/es/components/number-format/NumberFormat.js +1 -1
  323. package/es/components/number-format/NumberFormat.js.map +1 -1
  324. package/es/components/textarea/style/dnb-textarea.css +5 -0
  325. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  326. package/es/components/textarea/style/dnb-textarea.scss +4 -0
  327. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  328. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  329. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  330. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  331. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  332. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  333. package/es/components/visually-hidden/VisuallyHidden.js +1 -1
  334. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  335. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  336. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  337. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  338. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  339. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  340. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  341. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  342. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  343. package/es/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  344. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  345. package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
  346. package/es/extensions/forms/Field/Date/Date.js +45 -9
  347. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  348. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  349. package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
  350. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  351. package/es/extensions/forms/Field/Number/Number.d.ts +5 -1
  352. package/es/extensions/forms/Field/Number/Number.js +109 -31
  353. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  354. package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  355. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  356. package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  357. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  358. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  359. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  360. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  361. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  362. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  363. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  364. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  365. package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  366. package/es/extensions/forms/Field/Selection/Selection.js +4 -9
  367. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  368. package/es/extensions/forms/Field/String/String.d.ts +0 -1
  369. package/es/extensions/forms/Field/String/String.js +23 -9
  370. package/es/extensions/forms/Field/String/String.js.map +1 -1
  371. package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
  372. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  373. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  374. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -23
  375. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  376. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  377. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  378. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  379. package/es/extensions/forms/Form/Handler/Handler.js +1 -0
  380. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  381. package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  382. package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  383. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  384. package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
  385. package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
  386. package/es/extensions/forms/Form/hooks/useData.js +29 -0
  387. package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
  388. package/es/extensions/forms/Form/index.d.ts +2 -0
  389. package/es/extensions/forms/Form/index.js +2 -0
  390. package/es/extensions/forms/Form/index.js.map +1 -1
  391. package/es/extensions/forms/Iterate/Array/Array.js +0 -4
  392. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  393. package/es/extensions/forms/hooks/useDataValue.js +26 -33
  394. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  395. package/es/extensions/forms/hooks/useId.d.ts +1 -0
  396. package/es/extensions/forms/hooks/useId.js +11 -0
  397. package/es/extensions/forms/hooks/useId.js.map +1 -0
  398. package/es/extensions/forms/index.d.ts +6 -1
  399. package/es/extensions/forms/index.js +3 -1
  400. package/es/extensions/forms/index.js.map +1 -1
  401. package/es/extensions/forms/style/dnb-forms.css +214 -11
  402. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  403. package/es/extensions/forms/types.d.ts +16 -18
  404. package/es/extensions/forms/types.js.map +1 -1
  405. package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  406. package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
  407. package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  408. package/es/shared/Eufemia.d.ts +1 -1
  409. package/es/shared/Eufemia.js +2 -2
  410. package/es/shared/Eufemia.js.map +1 -1
  411. package/es/shared/helpers/EventEmitter.d.ts +5 -0
  412. package/es/shared/helpers/EventEmitter.js.map +1 -1
  413. package/es/shared/helpers/useEventEmitter.d.ts +2 -0
  414. package/es/shared/helpers/useEventEmitter.js.map +1 -1
  415. package/es/shared/helpers/useSharedState.d.ts +15 -0
  416. package/es/shared/helpers/useSharedState.js +63 -0
  417. package/es/shared/helpers/useSharedState.js.map +1 -0
  418. package/es/style/core/utilities.scss +1 -2
  419. package/es/style/dnb-ui-components.css +232 -27
  420. package/es/style/dnb-ui-components.min.css +3 -3
  421. package/es/style/dnb-ui-extensions.css +214 -11
  422. package/es/style/dnb-ui-extensions.min.css +1 -1
  423. package/es/style/dnb-ui-forms.css +214 -11
  424. package/es/style/dnb-ui-forms.min.css +1 -1
  425. package/es/style/dnb-ui-forms.scss +1 -0
  426. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  427. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  428. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  429. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  430. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  431. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  432. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  433. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  434. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  435. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  436. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  437. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  438. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  439. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  440. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  441. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  442. package/es/style/themes/theme-ui/ui-theme-components.css +496 -44
  443. package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  444. package/es/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  445. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  446. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  447. package/es/style/themes/theme-ui/ui-theme-forms.css +230 -12
  448. package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  449. package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  450. package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
  451. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  452. package/esm/dnb-ui-basis.min.mjs +1 -1
  453. package/esm/dnb-ui-components.min.mjs +1 -1
  454. package/esm/dnb-ui-elements.min.mjs +1 -1
  455. package/esm/dnb-ui-extensions.min.mjs +3 -3
  456. package/esm/dnb-ui-lib.min.mjs +1 -1
  457. package/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  458. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  459. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  460. package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  461. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  462. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  463. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  464. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  465. package/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  466. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  467. package/extensions/forms/Field/Date/Date.d.ts +3 -1
  468. package/extensions/forms/Field/Date/Date.js +48 -11
  469. package/extensions/forms/Field/Date/Date.js.map +1 -1
  470. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  471. package/extensions/forms/Field/Expiry/Expiry.js +21 -11
  472. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  473. package/extensions/forms/Field/Number/Number.d.ts +5 -1
  474. package/extensions/forms/Field/Number/Number.js +110 -31
  475. package/extensions/forms/Field/Number/Number.js.map +1 -1
  476. package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  477. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  478. package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  479. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  480. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  481. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  482. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  483. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  484. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  485. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  486. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  487. package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  488. package/extensions/forms/Field/Selection/Selection.js +4 -9
  489. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  490. package/extensions/forms/Field/String/String.d.ts +0 -1
  491. package/extensions/forms/Field/String/String.js +23 -9
  492. package/extensions/forms/Field/String/String.js.map +1 -1
  493. package/extensions/forms/Field/Toggle/Toggle.js +0 -4
  494. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  495. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  496. package/extensions/forms/FieldBlock/FieldBlock.js +16 -26
  497. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  498. package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  499. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  500. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  501. package/extensions/forms/Form/Handler/Handler.js +1 -0
  502. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  503. package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  504. package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  505. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  506. package/extensions/forms/Form/Visibility/index.js.map +1 -0
  507. package/extensions/forms/Form/hooks/useData.d.ts +10 -0
  508. package/extensions/forms/Form/hooks/useData.js +30 -0
  509. package/extensions/forms/Form/hooks/useData.js.map +1 -0
  510. package/extensions/forms/Form/index.d.ts +2 -0
  511. package/extensions/forms/Form/index.js +2 -0
  512. package/extensions/forms/Form/index.js.map +1 -1
  513. package/extensions/forms/Iterate/Array/Array.js +0 -4
  514. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  515. package/extensions/forms/hooks/useDataValue.js +26 -33
  516. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  517. package/extensions/forms/hooks/useId.d.ts +1 -0
  518. package/extensions/forms/hooks/useId.js +11 -0
  519. package/extensions/forms/hooks/useId.js.map +1 -0
  520. package/extensions/forms/index.d.ts +6 -1
  521. package/extensions/forms/index.js +3 -1
  522. package/extensions/forms/index.js.map +1 -1
  523. package/extensions/forms/style/dnb-forms.css +214 -11
  524. package/extensions/forms/style/dnb-forms.min.css +1 -1
  525. package/extensions/forms/types.d.ts +16 -18
  526. package/extensions/forms/types.js.map +1 -1
  527. package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  528. package/extensions/forms/utils/TestElement/TestElement.js +1 -0
  529. package/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  530. package/package.json +1 -1
  531. package/shared/Eufemia.d.ts +1 -1
  532. package/shared/Eufemia.js +2 -2
  533. package/shared/Eufemia.js.map +1 -1
  534. package/shared/helpers/EventEmitter.d.ts +5 -0
  535. package/shared/helpers/EventEmitter.js.map +1 -1
  536. package/shared/helpers/useEventEmitter.d.ts +2 -0
  537. package/shared/helpers/useEventEmitter.js.map +1 -1
  538. package/shared/helpers/useSharedState.d.ts +15 -0
  539. package/shared/helpers/useSharedState.js +63 -0
  540. package/shared/helpers/useSharedState.js.map +1 -0
  541. package/style/core/utilities.scss +1 -2
  542. package/style/dnb-ui-components.css +232 -27
  543. package/style/dnb-ui-components.min.css +3 -3
  544. package/style/dnb-ui-extensions.css +214 -11
  545. package/style/dnb-ui-extensions.min.css +1 -1
  546. package/style/dnb-ui-forms.css +214 -11
  547. package/style/dnb-ui-forms.min.css +1 -1
  548. package/style/dnb-ui-forms.scss +1 -0
  549. package/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  550. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  551. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  552. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  553. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  554. package/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  555. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  556. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  557. package/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  558. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  559. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  560. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  561. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  562. package/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  563. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  564. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  565. package/style/themes/theme-ui/ui-theme-components.css +496 -44
  566. package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  567. package/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  568. package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  569. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  570. package/style/themes/theme-ui/ui-theme-forms.css +230 -12
  571. package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  572. package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  573. package/style/themes/theme-ui/ui-theme-tags.css +8 -10
  574. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  575. package/umd/dnb-ui-basis.min.js +1 -1
  576. package/umd/dnb-ui-components.min.js +1 -1
  577. package/umd/dnb-ui-elements.min.js +1 -1
  578. package/umd/dnb-ui-extensions.min.js +3 -3
  579. package/umd/dnb-ui-lib.min.js +1 -1
  580. package/cjs/extensions/forms/Visibility/Visibility.js.map +0 -1
  581. package/cjs/extensions/forms/Visibility/index.js.map +0 -1
  582. package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
  583. package/es/extensions/forms/Visibility/index.js.map +0 -1
  584. package/extensions/forms/Visibility/Visibility.js.map +0 -1
  585. package/extensions/forms/Visibility/index.js.map +0 -1
  586. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  587. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  588. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  589. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  590. /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  591. /package/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useDataValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_utils","_ajv","_interopRequireWildcard","_types","_DataContext","_FieldBlockContext","_IterateElementContext","_componentHelper","_useMountEffect","_useUpdateEffect","_useProcessManager","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","useDataValue","props","_this","_ref3","_props$autoComplete","_props$path","path","itemPath","emptyValue","required","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","toInput","fromInput","toEvent","fromExternal","validateRequired","_ref","FormError","validationRule","forceUpdate","useReducer","startProcess","useProcessManager","id","useMemo","_props$id","makeUniqueId","dataContext","useContext","Context","fieldBlockContext","FieldBlockContext","iterateElementContext","IterateElementContext","transformers","useRef","handlePathChange","dataContextHandlePathChange","updateDataValue","dataContextUpdateDataValue","setValueWithError","dataContextSetValueWithError","errors","dataContextErrors","dataContextError","inFieldBlock","Boolean","setError","setFieldBlockError","setShowError","setShowFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","identifier","externalValue","current","capitalize","toCapitalized","pointer","data","valueRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","errorMessagesRef","useEffect","validatorRef","schemaValidatorRef","ajv","compile","showError","useCallback","hideError","prepareError","_errorMessagesRef$cur","_error$messageValues","message","messageWithValues","entries","messageValues","reduce","_ref2","replace","persistErrorState","errorArg","errorChanged","clearErrorState","validateValue","isProcessActive","requiredError","isChanged","ajvErrorsToOneFormError","_validatorRef$current","useUpdateEffect","showAllErrors","hasValue","handleError","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","updateValue","newValue","argFromInput","additionalArgs","iterateValuePath","handleFocus","handleBlur","trim","test","useMountEffect","handleMountField","handleUnMountField","autoComplete","name","hasError"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport { errorChanged } from '../utils'\nimport ajv, { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps, AdditionalEventArgs } from '../types'\nimport { Context, ContextState } from '../DataContext'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport {\n makeUniqueId,\n toCapitalized,\n} from '../../../shared/component-helper'\nimport useMountEffect from './useMountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\n\ninterface ReturnAdditional<Value> {\n id: string\n value: Value\n error: Error | FormError | undefined\n hasError: boolean\n dataContext: ContextState\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<unknown>['onChange']\n updateValue: (value: Value) => void\n forceUpdate: () => void\n}\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & ReturnAdditional<Value> {\n const {\n path,\n itemPath,\n emptyValue,\n required,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? new FormError('The value is required', {\n validationRule: 'required',\n })\n : undefined\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useMemo(() => props.id ?? makeUniqueId(), [props.id])\n const dataContext = useContext(Context)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n\n const transformers = useRef({\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n validateRequired,\n })\n\n const {\n handlePathChange: dataContextHandlePathChange,\n updateDataValue: dataContextUpdateDataValue,\n setValueWithError: dataContextSetValueWithError,\n errors: dataContextErrors,\n } = dataContext ?? {}\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setError: setFieldBlockError,\n setShowError: setShowFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (itemPath && itemPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (itemPath && !iterateElementContext) {\n throw new Error(\n 'itemPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const identifier = useMemo(() => {\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [path, id])\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n let value = transformers.current.fromExternal(props.value)\n\n if (props.capitalize) {\n value = toCapitalized(String(value || '')) as Value\n }\n\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return value\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, itemPath)\n ? pointer.get(iterateElementValue, itemPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n props.value,\n props.capitalize,\n inIterate,\n itemPath,\n dataContext.data,\n path,\n iterateElementValue,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const errorMessagesRef = useRef(errorMessages)\n useEffect(() => {\n errorMessagesRef.current = errorMessages\n }, [errorMessages])\n const validatorRef = useRef(validator)\n useEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? ajv.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n setShowFieldBlockError?.(path ?? id, true)\n }, [path, id, setShowFieldBlockError])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n setShowFieldBlockError?.(path ?? id, false)\n }, [path, id, setShowFieldBlockError])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n const message =\n (typeof error.validationRule === 'string' &&\n errorMessagesRef.current?.[error.validationRule]) ||\n error.message\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetValueWithError?.(identifier, Boolean(error))\n\n setFieldBlockError?.(path ?? id, error)\n forceUpdate()\n },\n [\n path,\n identifier,\n id,\n prepareError,\n dataContextSetValueWithError,\n setFieldBlockError,\n forceUpdate,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n try {\n // Validate required\n const requiredError = transformers.current.validateRequired(\n valueRef.current,\n {\n emptyValue,\n required,\n isChanged: changedRef.current,\n }\n )\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(\n valueRef.current,\n errorMessagesRef.current\n )\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n startProcess,\n emptyValue,\n required,\n clearErrorState,\n persistErrorState,\n ])\n\n useUpdateEffect(() => {\n if (!schema) {\n schemaValidatorRef.current = undefined\n return\n }\n schemaValidatorRef.current = ajv.compile(schema)\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (path && props.value) {\n const hasValue = pointer.has(dataContext.data, path)\n const value = hasValue\n ? pointer.get(dataContext.data, path)\n : undefined\n if (\n !hasValue ||\n (props.value !== value && valueRef.current !== value)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n dataContextUpdateDataValue?.(path, props.value)\n }\n }\n }, [dataContext.data, dataContextUpdateDataValue, path, props.value])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n onFocus?.(\n transformers.current.toEvent(valueOverride ?? valueRef.current)\n )\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n onBlur?.(\n transformers.current.toEvent(valueOverride ?? valueRef.current)\n )\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n Promise.resolve(\n onBlurValidator(\n transformers.current.toEvent(\n valueOverride ?? valueRef.current\n )\n )\n ).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n onBlur,\n onBlurValidator,\n onFocus,\n persistErrorState,\n showError,\n validateUnchanged,\n ]\n )\n\n const updateValue = useCallback(\n (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n // Always validate the value immediately when it is changed\n validateValue()\n\n handleError()\n\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n\n forceUpdate()\n },\n [dataContextHandlePathChange, handleError, path, validateValue]\n )\n\n const handleChange = useCallback(\n (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n let newValue = transformers.current.fromInput(argFromInput)\n\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n if (props.capitalize) {\n newValue = toCapitalized(String(newValue || '')) as Value\n }\n\n updateValue(newValue)\n\n changedRef.current = true\n\n const value = transformers.current.toEvent(newValue)\n onChange?.apply(\n this,\n typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n )\n\n if (itemPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n },\n [\n props.capitalize,\n updateValue,\n onChange,\n itemPath,\n iterateElementIndex,\n handleIterateElementChange,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n\n const handleBlur = useCallback(() => {\n if (props.trim && /^\\s|\\s$/.test(String(valueRef.current))) {\n const value = String(valueRef.current).trim()\n handleChange(value as Value)\n }\n\n setHasFocus(false)\n }, [props.trim, setHasFocus, handleChange])\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n\n validateValue()\n\n if (showErrorInitially) {\n showError()\n }\n\n return () => {\n // Unmount procedure\n dataContext?.handleUnMountField(identifier)\n }\n })\n\n const error = showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n return {\n ...props,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: transformers.current.toInput(valueRef.current),\n error: !inFieldBlock ? error : undefined,\n hasError: Boolean(error),\n isChanged: changedRef.current,\n dataContext,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDataValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_utils","_ajv","_interopRequireWildcard","_types","_DataContext","_FieldBlockContext","_IterateElementContext","_useMountEffect","_useUpdateEffect","_useProcessManager","_useId","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","useDataValue","props","_this","_ref3","_props$autoComplete","_props$path","path","itemPath","emptyValue","required","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","forceUpdate","useReducer","startProcess","useProcessManager","id","useId","dataContext","useContext","Context","fieldBlockContext","FieldBlockContext","iterateElementContext","IterateElementContext","transformers","useRef","handlePathChange","dataContextHandlePathChange","updateDataValue","dataContextUpdateDataValue","setValueWithError","dataContextSetValueWithError","errors","dataContextErrors","dataContextError","inFieldBlock","Boolean","setError","setFieldBlockError","setShowError","setShowFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","identifier","useMemo","externalValue","current","pointer","data","valueRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","errorMessagesRef","useEffect","validatorRef","schemaValidatorRef","ajv","compile","showError","useCallback","hideError","prepareError","FormError","_errorMessagesRef$cur","_error$messageValues","message","validationRule","messageWithValues","entries","messageValues","reduce","_ref2","replace","persistErrorState","errorArg","errorChanged","clearErrorState","validateValue","isProcessActive","requiredError","isChanged","ajvErrorsToOneFormError","_validatorRef$current","useUpdateEffect","showAllErrors","hasValue","handleError","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","updateValue","newValue","argFromInput","additionalArgs","currentValue","iterateValuePath","handleFocus","handleBlur","useMountEffect","handleMountField","handleUnMountField","autoComplete","name","hasError"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport { errorChanged } from '../utils'\nimport ajv, { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps, AdditionalEventArgs } from '../types'\nimport { Context, ContextState } from '../DataContext'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport useMountEffect from './useMountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\nimport useId from './useId'\n\ninterface ReturnAdditional<Value> {\n id: string\n value: Value\n error: Error | FormError | undefined\n hasError: boolean\n dataContext: ContextState\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<unknown>['onChange']\n updateValue: (value: Value) => void\n forceUpdate: () => void\n}\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & ReturnAdditional<Value> {\n const {\n path,\n itemPath,\n emptyValue,\n required,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(Context)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n\n const transformers = useRef({\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChange: dataContextHandlePathChange,\n updateDataValue: dataContextUpdateDataValue,\n setValueWithError: dataContextSetValueWithError,\n errors: dataContextErrors,\n } = dataContext ?? {}\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setError: setFieldBlockError,\n setShowError: setShowFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (itemPath && itemPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (itemPath && !iterateElementContext) {\n throw new Error(\n 'itemPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const identifier = useMemo(() => {\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [path, id])\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers.current.fromExternal(props.value)\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, itemPath)\n ? pointer.get(iterateElementValue, itemPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n props.value,\n inIterate,\n itemPath,\n dataContext.data,\n path,\n iterateElementValue,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const errorMessagesRef = useRef(errorMessages)\n useEffect(() => {\n errorMessagesRef.current = errorMessages\n }, [errorMessages])\n const validatorRef = useRef(validator)\n useEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? ajv.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n setShowFieldBlockError?.(path ?? id, true)\n }, [path, id, setShowFieldBlockError])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n setShowFieldBlockError?.(path ?? id, false)\n }, [path, id, setShowFieldBlockError])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n const message =\n (typeof error.validationRule === 'string' &&\n errorMessagesRef.current?.[error.validationRule]) ||\n error.message\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetValueWithError?.(identifier, Boolean(error))\n\n setFieldBlockError?.(path ?? id, error)\n forceUpdate()\n },\n [\n path,\n identifier,\n id,\n prepareError,\n dataContextSetValueWithError,\n setFieldBlockError,\n forceUpdate,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n try {\n // Validate required\n const requiredError = transformers.current.validateRequired(\n valueRef.current,\n {\n emptyValue,\n required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n }\n )\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(\n valueRef.current,\n errorMessagesRef.current\n )\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n startProcess,\n emptyValue,\n required,\n clearErrorState,\n persistErrorState,\n ])\n\n useUpdateEffect(() => {\n if (!schema) {\n schemaValidatorRef.current = undefined\n return\n }\n schemaValidatorRef.current = ajv.compile(schema)\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (path && typeof props.value !== 'undefined') {\n const hasValue = pointer.has(dataContext.data, path)\n const value = hasValue\n ? pointer.get(dataContext.data, path)\n : undefined\n if (\n !hasValue ||\n (props.value !== value && valueRef.current !== value)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n dataContextUpdateDataValue?.(path, props.value)\n }\n }\n }, [dataContext.data, dataContextUpdateDataValue, path, props.value])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n Promise.resolve(onBlurValidator(value)).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n onBlur,\n onBlurValidator,\n onFocus,\n persistErrorState,\n showError,\n validateUnchanged,\n ]\n )\n\n const updateValue = useCallback(\n (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n // Always validate the value immediately when it is changed\n validateValue()\n\n handleError()\n\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n\n forceUpdate()\n },\n [dataContextHandlePathChange, handleError, path, validateValue]\n )\n\n const handleChange = useCallback(\n (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n let newValue = transformers.current.fromInput(argFromInput)\n\n if (newValue === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n newValue = transformers.current.transformValue(\n newValue,\n currentValue\n )\n\n updateValue(newValue)\n\n changedRef.current = true\n\n const value = transformers.current.toEvent(newValue, 'onChange')\n onChange?.apply(\n this,\n typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n )\n\n if (itemPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n },\n [\n updateValue,\n onChange,\n itemPath,\n iterateElementIndex,\n handleIterateElementChange,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n\n validateValue()\n\n if (showErrorInitially) {\n showError()\n }\n\n return () => {\n // Unmount procedure\n dataContext?.handleUnMountField(identifier)\n }\n })\n\n const error = showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n return {\n ...props,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: transformers.current.toInput(valueRef.current),\n error: !inFieldBlock ? error : undefined,\n hasError: Boolean(error),\n isChanged: changedRef.current,\n dataContext,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export default function useId(customId?: string): string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useId;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _componentHelper = require("../../../shared/component-helper");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function useId(customId) {
11
+ var _React$useId;
12
+ const id = _react.default === null || _react.default === void 0 ? void 0 : (_React$useId = _react.default.useId) === null || _React$useId === void 0 ? void 0 : _React$useId.call(_react.default);
13
+ return _react.default.useMemo(() => {
14
+ var _ref;
15
+ return (_ref = customId !== null && customId !== void 0 ? customId : id) !== null && _ref !== void 0 ? _ref : (0, _componentHelper.makeUniqueId)();
16
+ }, [customId, id]);
17
+ }
18
+ //# sourceMappingURL=useId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useId.js","names":["_react","_interopRequireDefault","require","_componentHelper","obj","__esModule","default","useId","customId","_React$useId","id","React","call","useMemo","_ref","makeUniqueId"],"sources":["../../../../../src/extensions/forms/hooks/useId.ts"],"sourcesContent":["import React from 'react'\nimport { makeUniqueId } from '../../../shared/component-helper'\n\nexport default function useId(customId?: string) {\n const id = React?.useId?.()\n return React.useMemo(\n () => customId ?? id ?? makeUniqueId(),\n [customId, id]\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAA+D,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhD,SAASG,KAAKA,CAACC,QAAiB,EAAE;EAAA,IAAAC,YAAA;EAC/C,MAAMC,EAAE,GAAGC,cAAK,aAALA,cAAK,wBAAAF,YAAA,GAALE,cAAK,CAAEJ,KAAK,cAAAE,YAAA,uBAAZA,YAAA,CAAAG,IAAA,CAAAD,cAAe,CAAC;EAC3B,OAAOA,cAAK,CAACE,OAAO,CAClB;IAAA,IAAAC,IAAA;IAAA,QAAAA,IAAA,GAAMN,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIE,EAAE,cAAAI,IAAA,cAAAA,IAAA,GAAI,IAAAC,6BAAY,EAAC,CAAC;EAAA,GACtC,CAACP,QAAQ,EAAEE,EAAE,CACf,CAAC;AACH"}
@@ -8,5 +8,10 @@ export * as DataContext from './DataContext';
8
8
  export * as Iterate from './Iterate';
9
9
  export { default as FieldBlock } from './FieldBlock';
10
10
  export { default as ValueBlock } from './ValueBlock';
11
- export { default as Visibility } from './Visibility';
12
11
  export { default as StepsLayout, StepsContext } from './StepsLayout';
12
+ /**
13
+ * Deprecated and will be removed in v11
14
+ *
15
+ * @deprecated use import { Field } from 'Form' instead
16
+ */
17
+ export declare function Visibility(): void;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
+ Visibility: true,
7
8
  Field: true,
8
9
  Value: true,
9
10
  Form: true,
@@ -11,7 +12,6 @@ var _exportNames = {
11
12
  Iterate: true,
12
13
  FieldBlock: true,
13
14
  ValueBlock: true,
14
- Visibility: true,
15
15
  StepsLayout: true,
16
16
  StepsContext: true
17
17
  };
@@ -42,12 +42,7 @@ Object.defineProperty(exports, "ValueBlock", {
42
42
  return _ValueBlock.default;
43
43
  }
44
44
  });
45
- Object.defineProperty(exports, "Visibility", {
46
- enumerable: true,
47
- get: function () {
48
- return _Visibility.default;
49
- }
50
- });
45
+ exports.Visibility = Visibility;
51
46
  var _types = require("./types");
52
47
  Object.keys(_types).forEach(function (key) {
53
48
  if (key === "default" || key === "__esModule") return;
@@ -96,9 +91,11 @@ var _Iterate = _interopRequireWildcard(require("./Iterate"));
96
91
  exports.Iterate = _Iterate;
97
92
  var _FieldBlock = _interopRequireDefault(require("./FieldBlock"));
98
93
  var _ValueBlock = _interopRequireDefault(require("./ValueBlock"));
99
- var _Visibility = _interopRequireDefault(require("./Visibility"));
100
94
  var _StepsLayout = _interopRequireWildcard(require("./StepsLayout"));
101
95
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
102
96
  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); }
103
97
  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; }
98
+ function Visibility() {
99
+ console.error('Please import Visibility from "Form.Visibility"');
100
+ }
104
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_types","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_utils","_hooks","_Field","_interopRequireWildcard","Field","_Value","Value","_Form","Form","_DataContext","DataContext","_Iterate","Iterate","_FieldBlock","_interopRequireDefault","_ValueBlock","_Visibility","_StepsLayout","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../../src/extensions/forms/index.ts"],"sourcesContent":["export * from './types'\nexport * from './utils'\nexport * from './hooks'\nexport * as Field from './Field'\nexport * as Value from './Value'\nexport * as Form from './Form'\nexport * as DataContext from './DataContext'\nexport * as Iterate from './Iterate'\nexport { default as FieldBlock } from './FieldBlock'\nexport { default as ValueBlock } from './ValueBlock'\nexport { default as Visibility } from './Visibility'\nexport { default as StepsLayout, StepsContext } from './StepsLayout'\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_types","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_utils","_hooks","_Field","_interopRequireWildcard","Field","_Value","Value","_Form","Form","_DataContext","DataContext","_Iterate","Iterate","_FieldBlock","_interopRequireDefault","_ValueBlock","_StepsLayout","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","Visibility","console","error"],"sources":["../../../../src/extensions/forms/index.ts"],"sourcesContent":["export * from './types'\nexport * from './utils'\nexport * from './hooks'\nexport * as Field from './Field'\nexport * as Value from './Value'\nexport * as Form from './Form'\nexport * as DataContext from './DataContext'\nexport * as Iterate from './Iterate'\nexport { default as FieldBlock } from './FieldBlock'\nexport { default as ValueBlock } from './ValueBlock'\nexport { default as StepsLayout, StepsContext } from './StepsLayout'\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use import { Field } from 'Form'\tinstead\n */\nexport function Visibility() {\n console.error('Please import Visibility from \"Form.Visibility\"')\n}\n"],"mappings":"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"}
@@ -6,16 +6,26 @@
6
6
  /*
7
7
  * Utilities
8
8
  */
9
- .dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options {
9
+ /*
10
+ * Utilities
11
+ */
12
+ .dnb-forms-field-array-selection--layout-vertical .dnb-forms-field-array-selection__options {
10
13
  display: flex;
11
14
  flex-flow: column;
12
15
  row-gap: var(--spacing-x-small);
13
16
  }
14
- .dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options {
17
+ .dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options {
15
18
  display: flex;
16
19
  flex-flow: row wrap;
17
20
  -moz-column-gap: var(--spacing-small);
18
21
  column-gap: var(--spacing-small);
22
+ row-gap: var(--spacing-x-small);
23
+ }
24
+ @media screen and (min-width: 40em) {
25
+ .dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label {
26
+ line-height: 2.5rem;
27
+ margin-bottom: 0;
28
+ }
19
29
  }
20
30
 
21
31
  .dnb-forms-field-expiry .dnb-multi-input-mask {
@@ -25,6 +35,199 @@
25
35
  justify-content: center;
26
36
  }
27
37
 
38
+ /*
39
+ * Utilities
40
+ */
41
+ :root {
42
+ --forms-field-width--small: 5rem;
43
+ --forms-field-width--medium: 11rem;
44
+ --forms-field-width--large: 21rem;
45
+ }
46
+
47
+ .dnb-forms-field-number {
48
+ --number-control-button-border-color: black;
49
+ --number-control-button-border-color--hover: darkgrey;
50
+ --number-control-button-border-color--focus: darkgrey;
51
+ --number-control-button-border-width--focus: 0.125rem;
52
+ --number-control-button-background-color--hover: grey;
53
+ --number-control-button-color--hover: black;
54
+ --number-control-button-background-color--active: black;
55
+ --number-control-button-color--active: lightgrey;
56
+ --number-control-button--error: red;
57
+ --number-control-button--error-contrast: white;
58
+ --number-control-button-width--small: 2rem;
59
+ --number-control-button-width--medium: 2.5rem;
60
+ --number-control-button-width--large: 3rem;
61
+ --forms-field-block--number-control-buttons-width--small: calc(
62
+ var(--number-control-button-width--small) * 2
63
+ );
64
+ --forms-field-block--number-control-buttons-width--medium: calc(
65
+ var(--number-control-button-width--medium) * 2
66
+ );
67
+ --forms-field-block--number-control-buttons-width--large: calc(
68
+ var(--number-control-button-width--large) * 2
69
+ );
70
+ }
71
+ .dnb-forms-field-number__contents {
72
+ display: flex;
73
+ align-items: center;
74
+ }
75
+ .dnb-forms-field-number__contents--has-controls {
76
+ border-radius: 0.25rem;
77
+ --border-color: var(--number-control-button-border-color);
78
+ --border-width: 0.0625rem;
79
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
80
+ border-color: transparent;
81
+ }
82
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover[disabled] {
83
+ cursor: not-allowed;
84
+ }
85
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover:not([disabled]) {
86
+ --border-color: var(--number-control-button-border-color);
87
+ --border-width: 0.125rem;
88
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
89
+ border-color: transparent;
90
+ }
91
+ html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls:focus-within {
92
+ --border-color: var(--number-control-button-border-color--focus);
93
+ --border-width: var(--number-control-button-border-width--focus);
94
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
95
+ border-color: transparent;
96
+ }
97
+ .dnb-forms-field-number__contents--has-controls .dnb-input__shell {
98
+ border-radius: 0;
99
+ box-shadow: none;
100
+ }
101
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover[disabled] {
102
+ cursor: not-allowed;
103
+ }
104
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover:not([disabled]) {
105
+ box-shadow: none;
106
+ }
107
+ .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell {
108
+ outline: initial;
109
+ box-shadow: none;
110
+ }
111
+ html[data-whatinput=""] .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell {
112
+ box-shadow: none;
113
+ }
114
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled],
115
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled] {
116
+ cursor: not-allowed;
117
+ }
118
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]),
119
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]) {
120
+ background-color: var(--number-control-button-background-color--hover);
121
+ color: var(--number-control-button-color--hover);
122
+ }
123
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled], html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],
124
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],
125
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled] {
126
+ cursor: not-allowed;
127
+ }
128
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),
129
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),
130
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]) {
131
+ background-color: var(--number-control-button-background-color--active);
132
+ color: var(--number-control-button-color--active);
133
+ }
134
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error {
135
+ --border-color: var(--number-control-button--error);
136
+ --border-width: 0.125rem;
137
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
138
+ border-color: transparent;
139
+ }
140
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover[disabled] {
141
+ cursor: not-allowed;
142
+ }
143
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover:not([disabled]) {
144
+ --border-color: var(--number-control-button--error);
145
+ --border-width: 0.125rem;
146
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
147
+ border-color: transparent;
148
+ }
149
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input__status--error:not([data-input-state=disabled]):not(:hover):not(:active) .dnb-input__shell {
150
+ box-shadow: none;
151
+ }
152
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before,
153
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after {
154
+ color: var(--number-control-button--error);
155
+ }
156
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover[disabled],
157
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover[disabled] {
158
+ cursor: not-allowed;
159
+ }
160
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover:not([disabled]),
161
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover:not([disabled]) {
162
+ background-color: var(--number-control-button--error-contrast);
163
+ color: var(--number-control-button--error);
164
+ }
165
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled], html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled],
166
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled],
167
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled] {
168
+ cursor: not-allowed;
169
+ }
170
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]),
171
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),
172
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]) {
173
+ background-color: var(--number-control-button--error);
174
+ color: var(--number-control-button--error-contrast);
175
+ }
176
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before[disabled],
177
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after[disabled] {
178
+ color: var(--number-control-button--error-contrast);
179
+ }
180
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
181
+ --border-color: var(--color-black-55);
182
+ --border-width: 0.0625rem;
183
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
184
+ border-color: transparent;
185
+ }
186
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled] {
187
+ cursor: not-allowed;
188
+ }
189
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]) {
190
+ --border-color: var(--color-black-55);
191
+ --border-width: 0.0625rem;
192
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
193
+ border-color: transparent;
194
+ }
195
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input[data-input-state=disabled] .dnb-input__shell {
196
+ box-shadow: none;
197
+ }
198
+ .dnb-input[data-input-state=disabled] .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
199
+ --border-color: var(--color-black-55);
200
+ --border-width: 0.0625rem;
201
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
202
+ border-color: transparent;
203
+ }
204
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled],
205
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled] {
206
+ background-color: var(--color-black-3);
207
+ color: var(--color-black-20);
208
+ }
209
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small {
210
+ width: calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small));
211
+ }
212
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before,
213
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after {
214
+ width: var(--number-control-button-width--small);
215
+ }
216
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium {
217
+ width: calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium));
218
+ }
219
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before,
220
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after {
221
+ width: var(--number-control-button-width--medium);
222
+ }
223
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large {
224
+ width: calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large));
225
+ }
226
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before,
227
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after {
228
+ width: var(--number-control-button-width--large);
229
+ }
230
+
28
231
  .dnb-forms-field-phone-number__country-code {
29
232
  width: calc(var(--forms-field-width--medium) - 2rem);
30
233
  }
@@ -90,6 +293,15 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
90
293
  .dnb-forms-field-block__grid {
91
294
  display: grid;
92
295
  }
296
+ @media screen and (max-width: 40em) {
297
+ .dnb-forms-field-block__grid {
298
+ flex-wrap: wrap;
299
+ }
300
+ .dnb-forms-field-block__grid > .dnb-form-label {
301
+ margin-bottom: 0.5rem;
302
+ margin-top: 0.5rem;
303
+ }
304
+ }
93
305
  .dnb-forms-field-block--layout-vertical {
94
306
  grid-template-columns: auto;
95
307
  grid-template-areas: "label" "contents" "status";
@@ -119,15 +331,6 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
119
331
  justify-content: space-between;
120
332
  align-items: center;
121
333
  }
122
- .dnb-forms-field-block__label-description {
123
- margin-left: 0.3em;
124
- color: var(--color-black-55);
125
- font-size: var(--font-size-small);
126
- }
127
- .dnb-forms-field-block__label-secondary {
128
- color: var(--color-black-55);
129
- font-size: var(--font-size-small);
130
- }
131
334
  .dnb-forms-field-block__status {
132
335
  grid-area: status;
133
336
  }
@@ -1 +1 @@
1
- .dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__fields{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:40em){.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout__sidebar{flex:0}.dnb-forms-steps-layout__contents{flex:1 0 25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}@media screen and (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__contents{flex-basis:auto}}.dnb-forms-steps-layout .dnb-step-indicator__sidebar{margin-right:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline{display:inline-block;font-size:inherit;margin-left:var(--spacing-xx-small);margin-right:var(--spacing-xx-small)}.dnb-forms-value-block__label{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:rgba(0,0,0,.5)}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
1
+ .dnb-forms-field-array-selection--layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{align-items:center;display:flex}.dnb-forms-field-number__contents--has-controls{--border-color:var(--number-control-button-border-color);--border-width:0.0625rem;border-color:transparent;border-radius:.25rem;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover:not([disabled]){--border-color:var(--number-control-button-border-color);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls:focus-within{--border-color:var(--number-control-button-border-color--focus);--border-width:var(--number-control-button-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls .dnb-input__shell{border-radius:0;box-shadow:none}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover:not([disabled]){box-shadow:none}.dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell{box-shadow:none;outline:initial}html[data-whatinput=""] .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell{box-shadow:none}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error{--border-color:var(--number-control-button--error);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover:not([disabled]){--border-color:var(--number-control-button--error);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input__status--error:not([data-input-state=disabled]):not(:hover):not(:active) .dnb-input__shell{box-shadow:none}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled{--border-color:var(--color-black-55);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]){--border-color:var(--color-black-55);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input[data-input-state=disabled] .dnb-input__shell{box-shadow:none}.dnb-input[data-input-state=disabled] .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled{--border-color:var(--color-black-55);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__fields{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.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__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:40em){.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout__sidebar{flex:0}.dnb-forms-steps-layout__contents{flex:1 0 25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}@media screen and (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__contents{flex-basis:auto}}.dnb-forms-steps-layout .dnb-step-indicator__sidebar{margin-right:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline{display:inline-block;font-size:inherit;margin-left:var(--spacing-xx-small);margin-right:var(--spacing-xx-small)}.dnb-forms-value-block__label{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:rgba(0,0,0,.5)}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}