@dnb/eufemia 10.16.0 → 10.17.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 (441) hide show
  1. package/CHANGELOG.md +36 -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 +11 -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/withChildren.d.ts +6 -0
  41. package/cjs/components/flex/withChildren.js +13 -0
  42. package/cjs/components/flex/withChildren.js.map +1 -0
  43. package/cjs/components/input/Input.js +3 -3
  44. package/cjs/components/input/Input.js.map +1 -1
  45. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  46. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  47. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  48. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  49. package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
  50. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  51. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  52. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  53. package/cjs/components/textarea/style/dnb-textarea.css +5 -0
  54. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  55. package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
  56. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  57. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
  59. package/cjs/extensions/forms/Field/Date/Date.js +51 -10
  60. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Number/Number.d.ts +5 -1
  62. package/cjs/extensions/forms/Field/Number/Number.js +112 -28
  63. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  64. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  65. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  66. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  67. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  68. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  69. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  70. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  71. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  72. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  73. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -5
  74. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  75. package/cjs/extensions/forms/Field/String/String.js +21 -1
  76. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  77. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -18
  78. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  79. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -0
  80. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  81. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  82. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
  83. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +8 -2
  84. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  85. package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
  86. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  87. package/cjs/extensions/forms/Form/index.js +7 -0
  88. package/cjs/extensions/forms/Form/index.js.map +1 -1
  89. package/cjs/extensions/forms/hooks/useDataValue.js +24 -31
  90. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  91. package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
  92. package/cjs/extensions/forms/hooks/useId.js +18 -0
  93. package/cjs/extensions/forms/hooks/useId.js.map +1 -0
  94. package/cjs/extensions/forms/index.d.ts +6 -1
  95. package/cjs/extensions/forms/index.js +5 -8
  96. package/cjs/extensions/forms/index.js.map +1 -1
  97. package/cjs/extensions/forms/style/dnb-forms.css +202 -0
  98. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  99. package/cjs/extensions/forms/types.d.ts +12 -10
  100. package/cjs/extensions/forms/types.js.map +1 -1
  101. package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  102. package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
  103. package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  104. package/cjs/shared/Eufemia.d.ts +1 -1
  105. package/cjs/shared/Eufemia.js +2 -2
  106. package/cjs/shared/Eufemia.js.map +1 -1
  107. package/cjs/style/core/utilities.scss +1 -2
  108. package/cjs/style/dnb-ui-components.css +220 -16
  109. package/cjs/style/dnb-ui-components.min.css +3 -3
  110. package/cjs/style/dnb-ui-extensions.css +202 -0
  111. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  112. package/cjs/style/dnb-ui-forms.css +202 -0
  113. package/cjs/style/dnb-ui-forms.min.css +1 -1
  114. package/cjs/style/dnb-ui-forms.scss +1 -0
  115. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +470 -22
  116. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  117. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +218 -0
  118. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  119. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  120. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +218 -1
  121. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  122. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  123. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +509 -17
  124. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -5
  125. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +277 -0
  126. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  127. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  128. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +277 -1
  129. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  130. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  131. package/cjs/style/themes/theme-ui/ui-theme-components.css +468 -22
  132. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  133. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +218 -0
  134. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  135. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  136. package/cjs/style/themes/theme-ui/ui-theme-forms.css +218 -1
  137. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  138. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  139. package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
  140. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  141. package/components/anchor/Anchor.js +9 -5
  142. package/components/anchor/Anchor.js.map +1 -1
  143. package/components/anchor/style/anchor-mixins.scss +0 -11
  144. package/components/anchor/style/dnb-anchor.css +0 -16
  145. package/components/anchor/style/dnb-anchor.min.css +1 -1
  146. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  147. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  148. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  149. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  150. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  151. package/components/autocomplete/Autocomplete.js +2 -2
  152. package/components/autocomplete/Autocomplete.js.map +1 -1
  153. package/components/button/style/dnb-button.css +13 -0
  154. package/components/button/style/dnb-button.min.css +1 -1
  155. package/components/button/style/dnb-button.scss +16 -0
  156. package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  157. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  158. package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  159. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  160. package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  161. package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  162. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  163. package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  164. package/components/date-picker/DatePicker.d.ts +14 -1
  165. package/components/date-picker/DatePicker.js +0 -1
  166. package/components/date-picker/DatePicker.js.map +1 -1
  167. package/components/date-picker/DatePickerCalc.js +2 -1
  168. package/components/date-picker/DatePickerCalc.js.map +1 -1
  169. package/components/date-picker/DatePickerInput.d.ts +3 -0
  170. package/components/date-picker/DatePickerInput.js +9 -2
  171. package/components/date-picker/DatePickerInput.js.map +1 -1
  172. package/components/dropdown/Dropdown.js +3 -2
  173. package/components/dropdown/Dropdown.js.map +1 -1
  174. package/components/flex/Container.js +11 -2
  175. package/components/flex/Container.js.map +1 -1
  176. package/components/flex/export.d.ts +1 -0
  177. package/components/flex/export.js +1 -0
  178. package/components/flex/export.js.map +1 -1
  179. package/components/flex/withChildren.d.ts +6 -0
  180. package/components/flex/withChildren.js +6 -0
  181. package/components/flex/withChildren.js.map +1 -0
  182. package/components/input/Input.js +3 -3
  183. package/components/input/Input.js.map +1 -1
  184. package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  185. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  186. package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  187. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  188. package/components/input-masked/InputMaskedHooks.js +13 -8
  189. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  190. package/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  191. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  192. package/components/textarea/style/dnb-textarea.css +5 -0
  193. package/components/textarea/style/dnb-textarea.min.css +1 -1
  194. package/components/textarea/style/dnb-textarea.scss +4 -0
  195. package/es/components/anchor/Anchor.js +9 -5
  196. package/es/components/anchor/Anchor.js.map +1 -1
  197. package/es/components/anchor/style/anchor-mixins.scss +0 -11
  198. package/es/components/anchor/style/dnb-anchor.css +0 -16
  199. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  200. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  201. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  202. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  203. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  204. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  205. package/es/components/autocomplete/Autocomplete.js +2 -2
  206. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  207. package/es/components/button/style/dnb-button.css +13 -0
  208. package/es/components/button/style/dnb-button.min.css +1 -1
  209. package/es/components/button/style/dnb-button.scss +16 -0
  210. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  211. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  212. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  213. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  214. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  215. package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  216. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  217. package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  218. package/es/components/date-picker/DatePicker.d.ts +14 -1
  219. package/es/components/date-picker/DatePicker.js +0 -1
  220. package/es/components/date-picker/DatePicker.js.map +1 -1
  221. package/es/components/date-picker/DatePickerCalc.js +2 -1
  222. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  223. package/es/components/date-picker/DatePickerInput.d.ts +3 -0
  224. package/es/components/date-picker/DatePickerInput.js +9 -2
  225. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  226. package/es/components/dropdown/Dropdown.js +3 -2
  227. package/es/components/dropdown/Dropdown.js.map +1 -1
  228. package/es/components/flex/Container.js +11 -2
  229. package/es/components/flex/Container.js.map +1 -1
  230. package/es/components/flex/export.d.ts +1 -0
  231. package/es/components/flex/export.js +1 -0
  232. package/es/components/flex/export.js.map +1 -1
  233. package/es/components/flex/withChildren.d.ts +6 -0
  234. package/es/components/flex/withChildren.js +6 -0
  235. package/es/components/flex/withChildren.js.map +1 -0
  236. package/es/components/input/Input.js +3 -3
  237. package/es/components/input/Input.js.map +1 -1
  238. package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  239. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  240. package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  241. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  242. package/es/components/input-masked/InputMaskedHooks.js +13 -8
  243. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  244. package/es/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  245. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  246. package/es/components/textarea/style/dnb-textarea.css +5 -0
  247. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  248. package/es/components/textarea/style/dnb-textarea.scss +4 -0
  249. package/es/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  250. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  251. package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
  252. package/es/extensions/forms/Field/Date/Date.js +49 -9
  253. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  254. package/es/extensions/forms/Field/Number/Number.d.ts +5 -1
  255. package/es/extensions/forms/Field/Number/Number.js +112 -29
  256. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  257. package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  258. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  259. package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  260. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  261. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  262. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  263. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  264. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  265. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  266. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -5
  267. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  268. package/es/extensions/forms/Field/String/String.js +21 -1
  269. package/es/extensions/forms/Field/String/String.js.map +1 -1
  270. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -15
  271. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  272. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -0
  273. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  274. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  275. package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  276. package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +8 -2
  277. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  278. package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
  279. package/es/extensions/forms/Form/index.d.ts +1 -0
  280. package/es/extensions/forms/Form/index.js +1 -0
  281. package/es/extensions/forms/Form/index.js.map +1 -1
  282. package/es/extensions/forms/hooks/useDataValue.js +24 -31
  283. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  284. package/es/extensions/forms/hooks/useId.d.ts +1 -0
  285. package/es/extensions/forms/hooks/useId.js +11 -0
  286. package/es/extensions/forms/hooks/useId.js.map +1 -0
  287. package/es/extensions/forms/index.d.ts +6 -1
  288. package/es/extensions/forms/index.js +3 -1
  289. package/es/extensions/forms/index.js.map +1 -1
  290. package/es/extensions/forms/style/dnb-forms.css +202 -0
  291. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  292. package/es/extensions/forms/types.d.ts +12 -10
  293. package/es/extensions/forms/types.js.map +1 -1
  294. package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  295. package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
  296. package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  297. package/es/shared/Eufemia.d.ts +1 -1
  298. package/es/shared/Eufemia.js +2 -2
  299. package/es/shared/Eufemia.js.map +1 -1
  300. package/es/style/core/utilities.scss +1 -2
  301. package/es/style/dnb-ui-components.css +220 -16
  302. package/es/style/dnb-ui-components.min.css +3 -3
  303. package/es/style/dnb-ui-extensions.css +202 -0
  304. package/es/style/dnb-ui-extensions.min.css +1 -1
  305. package/es/style/dnb-ui-forms.css +202 -0
  306. package/es/style/dnb-ui-forms.min.css +1 -1
  307. package/es/style/dnb-ui-forms.scss +1 -0
  308. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +470 -22
  309. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  310. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +218 -0
  311. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  312. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  313. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +218 -1
  314. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  315. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  316. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +509 -17
  317. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -5
  318. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +277 -0
  319. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  320. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  321. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +277 -1
  322. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  323. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  324. package/es/style/themes/theme-ui/ui-theme-components.css +468 -22
  325. package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  326. package/es/style/themes/theme-ui/ui-theme-extensions.css +218 -0
  327. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  328. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  329. package/es/style/themes/theme-ui/ui-theme-forms.css +218 -1
  330. package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  331. package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  332. package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
  333. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  334. package/esm/dnb-ui-basis.min.mjs +1 -1
  335. package/esm/dnb-ui-components.min.mjs +1 -1
  336. package/esm/dnb-ui-elements.min.mjs +1 -1
  337. package/esm/dnb-ui-extensions.min.mjs +3 -3
  338. package/esm/dnb-ui-lib.min.mjs +1 -1
  339. package/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  340. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  341. package/extensions/forms/Field/Date/Date.d.ts +3 -1
  342. package/extensions/forms/Field/Date/Date.js +52 -11
  343. package/extensions/forms/Field/Date/Date.js.map +1 -1
  344. package/extensions/forms/Field/Number/Number.d.ts +5 -1
  345. package/extensions/forms/Field/Number/Number.js +113 -29
  346. package/extensions/forms/Field/Number/Number.js.map +1 -1
  347. package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  348. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  349. package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  350. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  351. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  352. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  353. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  354. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  355. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  356. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -5
  357. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  358. package/extensions/forms/Field/String/String.js +21 -1
  359. package/extensions/forms/Field/String/String.js.map +1 -1
  360. package/extensions/forms/FieldBlock/FieldBlock.js +16 -18
  361. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  362. package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -0
  363. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  364. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  365. package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  366. package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +8 -2
  367. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  368. package/extensions/forms/Form/Visibility/index.js.map +1 -0
  369. package/extensions/forms/Form/index.d.ts +1 -0
  370. package/extensions/forms/Form/index.js +1 -0
  371. package/extensions/forms/Form/index.js.map +1 -1
  372. package/extensions/forms/hooks/useDataValue.js +24 -31
  373. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  374. package/extensions/forms/hooks/useId.d.ts +1 -0
  375. package/extensions/forms/hooks/useId.js +11 -0
  376. package/extensions/forms/hooks/useId.js.map +1 -0
  377. package/extensions/forms/index.d.ts +6 -1
  378. package/extensions/forms/index.js +3 -1
  379. package/extensions/forms/index.js.map +1 -1
  380. package/extensions/forms/style/dnb-forms.css +202 -0
  381. package/extensions/forms/style/dnb-forms.min.css +1 -1
  382. package/extensions/forms/types.d.ts +12 -10
  383. package/extensions/forms/types.js.map +1 -1
  384. package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  385. package/extensions/forms/utils/TestElement/TestElement.js +1 -0
  386. package/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  387. package/package.json +1 -1
  388. package/shared/Eufemia.d.ts +1 -1
  389. package/shared/Eufemia.js +2 -2
  390. package/shared/Eufemia.js.map +1 -1
  391. package/style/core/utilities.scss +1 -2
  392. package/style/dnb-ui-components.css +220 -16
  393. package/style/dnb-ui-components.min.css +3 -3
  394. package/style/dnb-ui-extensions.css +202 -0
  395. package/style/dnb-ui-extensions.min.css +1 -1
  396. package/style/dnb-ui-forms.css +202 -0
  397. package/style/dnb-ui-forms.min.css +1 -1
  398. package/style/dnb-ui-forms.scss +1 -0
  399. package/style/themes/theme-eiendom/eiendom-theme-components.css +470 -22
  400. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  401. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +218 -0
  402. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  403. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  404. package/style/themes/theme-eiendom/eiendom-theme-forms.css +218 -1
  405. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  406. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  407. package/style/themes/theme-sbanken/sbanken-theme-components.css +509 -17
  408. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -5
  409. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +277 -0
  410. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  411. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  412. package/style/themes/theme-sbanken/sbanken-theme-forms.css +277 -1
  413. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  414. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  415. package/style/themes/theme-ui/ui-theme-components.css +468 -22
  416. package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  417. package/style/themes/theme-ui/ui-theme-extensions.css +218 -0
  418. package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  419. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  420. package/style/themes/theme-ui/ui-theme-forms.css +218 -1
  421. package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  422. package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  423. package/style/themes/theme-ui/ui-theme-tags.css +8 -10
  424. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  425. package/umd/dnb-ui-basis.min.js +1 -1
  426. package/umd/dnb-ui-components.min.js +1 -1
  427. package/umd/dnb-ui-elements.min.js +1 -1
  428. package/umd/dnb-ui-extensions.min.js +3 -3
  429. package/umd/dnb-ui-lib.min.js +1 -1
  430. package/cjs/extensions/forms/Visibility/Visibility.js.map +0 -1
  431. package/cjs/extensions/forms/Visibility/index.js.map +0 -1
  432. package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
  433. package/es/extensions/forms/Visibility/index.js.map +0 -1
  434. package/extensions/forms/Visibility/Visibility.js.map +0 -1
  435. package/extensions/forms/Visibility/index.js.map +0 -1
  436. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  437. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  438. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  439. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  440. /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  441. /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","capitalize","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 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 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 && 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 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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"}
@@ -25,6 +25,199 @@
25
25
  justify-content: center;
26
26
  }
27
27
 
28
+ /*
29
+ * Utilities
30
+ */
31
+ :root {
32
+ --forms-field-width--small: 5rem;
33
+ --forms-field-width--medium: 11rem;
34
+ --forms-field-width--large: 21rem;
35
+ }
36
+
37
+ .dnb-forms-field-number {
38
+ --number-control-button-border-color: black;
39
+ --number-control-button-border-color--hover: darkgrey;
40
+ --number-control-button-border-color--focus: darkgrey;
41
+ --number-control-button-border-width--focus: 0.125rem;
42
+ --number-control-button-background-color--hover: grey;
43
+ --number-control-button-color--hover: black;
44
+ --number-control-button-background-color--active: black;
45
+ --number-control-button-color--active: lightgrey;
46
+ --number-control-button--error: red;
47
+ --number-control-button--error-contrast: white;
48
+ --number-control-button-width--small: 2rem;
49
+ --number-control-button-width--medium: 2.5rem;
50
+ --number-control-button-width--large: 3rem;
51
+ --forms-field-block--number-control-buttons-width--small: calc(
52
+ var(--number-control-button-width--small) * 2
53
+ );
54
+ --forms-field-block--number-control-buttons-width--medium: calc(
55
+ var(--number-control-button-width--medium) * 2
56
+ );
57
+ --forms-field-block--number-control-buttons-width--large: calc(
58
+ var(--number-control-button-width--large) * 2
59
+ );
60
+ }
61
+ .dnb-forms-field-number__contents {
62
+ display: flex;
63
+ align-items: center;
64
+ }
65
+ .dnb-forms-field-number__contents--has-controls {
66
+ border-radius: 0.25rem;
67
+ --border-color: var(--number-control-button-border-color);
68
+ --border-width: 0.0625rem;
69
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
70
+ border-color: transparent;
71
+ }
72
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover[disabled] {
73
+ cursor: not-allowed;
74
+ }
75
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover:not([disabled]) {
76
+ --border-color: var(--number-control-button-border-color);
77
+ --border-width: 0.125rem;
78
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
79
+ border-color: transparent;
80
+ }
81
+ html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls:focus-within {
82
+ --border-color: var(--number-control-button-border-color--focus);
83
+ --border-width: var(--number-control-button-border-width--focus);
84
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
85
+ border-color: transparent;
86
+ }
87
+ .dnb-forms-field-number__contents--has-controls .dnb-input__shell {
88
+ border-radius: 0;
89
+ box-shadow: none;
90
+ }
91
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover[disabled] {
92
+ cursor: not-allowed;
93
+ }
94
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover:not([disabled]) {
95
+ box-shadow: none;
96
+ }
97
+ .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell {
98
+ outline: initial;
99
+ box-shadow: none;
100
+ }
101
+ 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 {
102
+ box-shadow: none;
103
+ }
104
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled],
105
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled] {
106
+ cursor: not-allowed;
107
+ }
108
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]),
109
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]) {
110
+ background-color: var(--number-control-button-background-color--hover);
111
+ color: var(--number-control-button-color--hover);
112
+ }
113
+ .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],
114
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],
115
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled] {
116
+ cursor: not-allowed;
117
+ }
118
+ .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]),
119
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),
120
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]) {
121
+ background-color: var(--number-control-button-background-color--active);
122
+ color: var(--number-control-button-color--active);
123
+ }
124
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error {
125
+ --border-color: var(--number-control-button--error);
126
+ --border-width: 0.125rem;
127
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
128
+ border-color: transparent;
129
+ }
130
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover[disabled] {
131
+ cursor: not-allowed;
132
+ }
133
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover:not([disabled]) {
134
+ --border-color: var(--number-control-button--error);
135
+ --border-width: 0.125rem;
136
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
137
+ border-color: transparent;
138
+ }
139
+ .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 {
140
+ box-shadow: none;
141
+ }
142
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before,
143
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after {
144
+ color: var(--number-control-button--error);
145
+ }
146
+ 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],
147
+ 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] {
148
+ cursor: not-allowed;
149
+ }
150
+ 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]),
151
+ 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]) {
152
+ background-color: var(--number-control-button--error-contrast);
153
+ color: var(--number-control-button--error);
154
+ }
155
+ .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],
156
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[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:active[disabled] {
158
+ cursor: not-allowed;
159
+ }
160
+ .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]),
161
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),
162
+ 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]) {
163
+ background-color: var(--number-control-button--error);
164
+ color: var(--number-control-button--error-contrast);
165
+ }
166
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before[disabled],
167
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after[disabled] {
168
+ color: var(--number-control-button--error-contrast);
169
+ }
170
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
171
+ --border-color: var(--color-black-55);
172
+ --border-width: 0.0625rem;
173
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
174
+ border-color: transparent;
175
+ }
176
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled] {
177
+ cursor: not-allowed;
178
+ }
179
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]) {
180
+ --border-color: var(--color-black-55);
181
+ --border-width: 0.0625rem;
182
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
183
+ border-color: transparent;
184
+ }
185
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input[data-input-state=disabled] .dnb-input__shell {
186
+ box-shadow: none;
187
+ }
188
+ .dnb-input[data-input-state=disabled] .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
189
+ --border-color: var(--color-black-55);
190
+ --border-width: 0.0625rem;
191
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
192
+ border-color: transparent;
193
+ }
194
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled],
195
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled] {
196
+ background-color: var(--color-black-3);
197
+ color: var(--color-black-20);
198
+ }
199
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small {
200
+ width: calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small));
201
+ }
202
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before,
203
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after {
204
+ width: var(--number-control-button-width--small);
205
+ }
206
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium {
207
+ width: calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium));
208
+ }
209
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before,
210
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after {
211
+ width: var(--number-control-button-width--medium);
212
+ }
213
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large {
214
+ width: calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large));
215
+ }
216
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before,
217
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after {
218
+ width: var(--number-control-button-width--large);
219
+ }
220
+
28
221
  .dnb-forms-field-phone-number__country-code {
29
222
  width: calc(var(--forms-field-width--medium) - 2rem);
30
223
  }
@@ -90,6 +283,15 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
90
283
  .dnb-forms-field-block__grid {
91
284
  display: grid;
92
285
  }
286
+ @media screen and (max-width: 40em) {
287
+ .dnb-forms-field-block__grid {
288
+ flex-wrap: wrap;
289
+ }
290
+ .dnb-forms-field-block__grid > .dnb-form-label {
291
+ margin-bottom: 0.5rem;
292
+ margin-top: 0.5rem;
293
+ }
294
+ }
93
295
  .dnb-forms-field-block--layout-vertical {
94
296
  grid-template-columns: auto;
95
297
  grid-template-areas: "label" "contents" "status";
@@ -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--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-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__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}
@@ -34,7 +34,7 @@ export interface DataValueReadProps<Value = unknown> {
34
34
  }
35
35
  export declare function pickDataValueReadProps<Props extends DataValueReadProps>(props: Props): DataValueReadProps;
36
36
  export declare function omitDataValueReadProps<Props extends DataValueReadProps>(props: Props): Omit<DataValueReadProps, keyof DataValueReadProps>;
37
- export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | string | number> {
37
+ export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | string> {
38
38
  emptyValue?: EmptyValue;
39
39
  onFocus?: (value: Value | EmptyValue) => void;
40
40
  onBlur?: (value: Value | EmptyValue) => void;
@@ -42,7 +42,7 @@ export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | s
42
42
  }
43
43
  export declare function pickDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): DataValueWriteProps;
44
44
  export declare function omitDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): Omit<DataValueWriteProps, keyof DataValueWriteProps>;
45
- export type DataValueReadWriteProps<Value = unknown, EmptyValue = undefined | string | number> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
45
+ export type DataValueReadWriteProps<Value = unknown, EmptyValue = undefined | string> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
46
46
  export declare function pickDataValueReadWriteProps<Props extends DataValueReadWriteProps>(props: Props): DataValueReadWriteProps;
47
47
  export declare function omitDataValueReadWriteProps<Props extends DataValueReadWriteProps>(props: Props): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps>;
48
48
  export type ComponentProps = SpacingProps & {
@@ -50,8 +50,8 @@ export type ComponentProps = SpacingProps & {
50
50
  };
51
51
  export type AdditionalEventArgs = Record<string, unknown>;
52
52
  export type DataValueReadComponentProps<Value = unknown> = ComponentProps & DataValueReadProps<Value>;
53
- export type DataValueReadWriteComponentProps<Value = unknown, EmptyValue = undefined | string | number> = ComponentProps & DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
54
- export interface FieldProps<Value = unknown, EmptyValue = undefined | string | number, ErrorMessages extends {
53
+ export type DataValueReadWriteComponentProps<Value = unknown, EmptyValue = undefined | string> = ComponentProps & DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
54
+ export interface FieldProps<Value = unknown, EmptyValue = undefined | string, ErrorMessages extends {
55
55
  required?: string;
56
56
  } = DefaultErrorMessages> extends DataValueReadWriteComponentProps<Value, EmptyValue> {
57
57
  /** ID added to the actual field component, and linked to the label via for-attribute */
@@ -92,14 +92,16 @@ export interface FieldProps<Value = unknown, EmptyValue = undefined | string | n
92
92
  /** Should validation be done while writing, not just when blurring the field? */
93
93
  continuousValidation?: boolean;
94
94
  errorMessages?: ErrorMessages;
95
- toInput?: (external: Value | undefined) => any;
96
- fromInput?: (...args: any[]) => Value | undefined;
97
- toEvent?: (internal: Value | undefined) => any;
98
- fromExternal?: (...args: any[]) => Value | undefined;
99
- validateRequired?: (internal: Value | undefined, { emptyValue, required, isChanged, }: {
100
- emptyValue: undefined | string | number;
95
+ toInput?: (external: Value | unknown) => Value | unknown;
96
+ fromInput?: (external: Value | unknown) => Value;
97
+ toEvent?: (internal: Value, type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator') => Value;
98
+ fromExternal?: (external: Value) => Value;
99
+ transformValue?: (value: Value, currentValue?: Value) => Value;
100
+ validateRequired?: (internal: Value, { emptyValue, required, isChanged, error, }: {
101
+ emptyValue: EmptyValue;
101
102
  required: boolean;
102
103
  isChanged: boolean;
104
+ error: FormError | undefined;
103
105
  }) => FormError | undefined;
104
106
  }
105
107
  export interface FieldHelpProps {