@dnb/eufemia 10.23.0 → 10.25.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 (498) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/accordion/style/dnb-accordion.css +6 -2
  3. package/cjs/components/accordion/style/dnb-accordion.min.css +2 -2
  4. package/cjs/components/accordion/style/dnb-accordion.scss +8 -2
  5. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
  6. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  7. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
  8. package/cjs/components/anchor/Anchor.d.ts +1 -1
  9. package/cjs/components/anchor/Anchor.js +2 -2
  10. package/cjs/components/anchor/Anchor.js.map +1 -1
  11. package/cjs/components/anchor/style/anchor-mixins.scss +46 -3
  12. package/cjs/components/anchor/style/dnb-anchor.css +73 -4
  13. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  14. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  16. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
  17. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  18. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
  19. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
  20. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  21. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  22. package/cjs/components/autocomplete/Autocomplete.d.ts +0 -15
  23. package/cjs/components/autocomplete/AutocompleteDocs.d.ts +3 -0
  24. package/cjs/components/autocomplete/AutocompleteDocs.js +293 -0
  25. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -0
  26. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  27. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  28. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
  29. package/cjs/components/button/Button.js +1 -1
  30. package/cjs/components/button/Button.js.map +1 -1
  31. package/cjs/components/dropdown/Dropdown.d.ts +0 -3
  32. package/cjs/components/flex/style/dnb-flex.css +1 -1
  33. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  34. package/cjs/components/flex/style/flex-stack.scss +1 -1
  35. package/cjs/components/icon/style/dnb-icon.css +2 -2
  36. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  37. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  38. package/cjs/components/input/Input.js +1 -1
  39. package/cjs/components/input/Input.js.map +1 -1
  40. package/cjs/components/input/InputDocs.js +2 -2
  41. package/cjs/components/input/InputDocs.js.map +1 -1
  42. package/cjs/components/table/style/dnb-table.css +6 -0
  43. package/cjs/components/table/style/dnb-table.min.css +1 -1
  44. package/cjs/components/table/style/table-th.scss +9 -25
  45. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  46. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  47. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  48. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  49. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  50. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  51. package/cjs/components/textarea/Textarea.d.ts +9 -0
  52. package/cjs/components/textarea/Textarea.js +21 -5
  53. package/cjs/components/textarea/Textarea.js.map +1 -1
  54. package/cjs/components/textarea/TextareaDocs.js +10 -0
  55. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  56. package/cjs/components/textarea/style/dnb-textarea.css +69 -26
  57. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  58. package/cjs/components/textarea/style/dnb-textarea.scss +83 -31
  59. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  60. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  61. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  62. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  63. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  64. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  65. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  66. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  67. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  68. package/cjs/extensions/forms/DataContext/At/At.js +6 -6
  69. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
  71. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  72. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  73. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -26
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  76. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
  77. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  78. package/cjs/extensions/forms/Field/String/String.d.ts +6 -6
  79. package/cjs/extensions/forms/Field/String/String.js +13 -11
  80. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  81. package/cjs/extensions/forms/Form/Appearance/Appearance.js +3 -0
  82. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  83. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  84. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  85. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  87. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -3
  88. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  89. package/cjs/extensions/forms/StepsLayout/Step/Step.js +2 -3
  90. package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  91. package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  92. package/cjs/extensions/forms/StepsLayout/StepsContext.js +6 -1
  93. package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  94. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
  95. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +86 -50
  96. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  97. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
  98. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
  99. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
  100. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  101. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
  102. package/cjs/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  103. package/cjs/extensions/forms/StepsLayout/useStep.js +19 -0
  104. package/cjs/extensions/forms/StepsLayout/useStep.js.map +1 -0
  105. package/cjs/extensions/forms/hooks/useFieldProps.js +82 -58
  106. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  107. package/cjs/extensions/forms/style/dnb-forms.css +3 -3
  108. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  109. package/cjs/extensions/forms/types.d.ts +2 -2
  110. package/cjs/extensions/forms/types.js.map +1 -1
  111. package/cjs/extensions/forms/utils/ajv.js +6 -2
  112. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  113. package/cjs/fragments/drawer-list/DrawerList.d.ts +95 -1
  114. package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
  115. package/cjs/fragments/drawer-list/DrawerListDocs.js +188 -0
  116. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -0
  117. package/cjs/shared/Eufemia.d.ts +1 -1
  118. package/cjs/shared/Eufemia.js +2 -2
  119. package/cjs/shared/Eufemia.js.map +1 -1
  120. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +2 -2
  121. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  122. package/cjs/style/core/scopes.scss +1 -1
  123. package/cjs/style/dnb-ui-basis.css +1 -1
  124. package/cjs/style/dnb-ui-basis.min.css +1 -1
  125. package/cjs/style/dnb-ui-body.css +1 -1
  126. package/cjs/style/dnb-ui-body.min.css +1 -1
  127. package/cjs/style/dnb-ui-components.css +160 -39
  128. package/cjs/style/dnb-ui-components.min.css +3 -3
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +3 -3
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +3 -3
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/properties.js +10 -10
  142. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  143. package/cjs/style/themes/theme-sbanken/properties.js +10 -10
  144. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  145. package/cjs/style/themes/theme-sbanken/properties.scss +10 -10
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
  153. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  154. package/cjs/style/themes/theme-ui/properties.js +10 -10
  155. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  156. package/cjs/style/themes/theme-ui/ui-theme-components.css +178 -81
  157. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  158. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -3
  159. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  160. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -3
  161. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  162. package/cjs/style/themes/theme-ui/ui-theme-tags.css +37 -9
  163. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  164. package/components/accordion/style/dnb-accordion.css +6 -2
  165. package/components/accordion/style/dnb-accordion.min.css +2 -2
  166. package/components/accordion/style/dnb-accordion.scss +8 -2
  167. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
  168. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  169. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
  170. package/components/anchor/Anchor.d.ts +1 -1
  171. package/components/anchor/Anchor.js +2 -2
  172. package/components/anchor/Anchor.js.map +1 -1
  173. package/components/anchor/style/anchor-mixins.scss +46 -3
  174. package/components/anchor/style/dnb-anchor.css +73 -4
  175. package/components/anchor/style/dnb-anchor.min.css +1 -1
  176. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
  177. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  178. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
  179. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  180. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
  181. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
  182. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  183. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  184. package/components/autocomplete/Autocomplete.d.ts +0 -15
  185. package/components/autocomplete/AutocompleteDocs.d.ts +3 -0
  186. package/components/autocomplete/AutocompleteDocs.js +285 -0
  187. package/components/autocomplete/AutocompleteDocs.js.map +1 -0
  188. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  189. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  190. package/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
  191. package/components/button/Button.js +1 -1
  192. package/components/button/Button.js.map +1 -1
  193. package/components/dropdown/Dropdown.d.ts +0 -3
  194. package/components/flex/style/dnb-flex.css +1 -1
  195. package/components/flex/style/dnb-flex.min.css +1 -1
  196. package/components/flex/style/flex-stack.scss +1 -1
  197. package/components/icon/style/dnb-icon.css +2 -2
  198. package/components/icon/style/dnb-icon.min.css +1 -1
  199. package/components/icon/style/dnb-icon.scss +1 -1
  200. package/components/input/Input.js +1 -1
  201. package/components/input/Input.js.map +1 -1
  202. package/components/input/InputDocs.js +2 -2
  203. package/components/input/InputDocs.js.map +1 -1
  204. package/components/table/style/dnb-table.css +6 -0
  205. package/components/table/style/dnb-table.min.css +1 -1
  206. package/components/table/style/table-th.scss +9 -25
  207. package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  208. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  209. package/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  210. package/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  211. package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  212. package/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  213. package/components/textarea/Textarea.d.ts +9 -0
  214. package/components/textarea/Textarea.js +21 -5
  215. package/components/textarea/Textarea.js.map +1 -1
  216. package/components/textarea/TextareaDocs.js +10 -0
  217. package/components/textarea/TextareaDocs.js.map +1 -1
  218. package/components/textarea/style/dnb-textarea.css +69 -26
  219. package/components/textarea/style/dnb-textarea.min.css +1 -1
  220. package/components/textarea/style/dnb-textarea.scss +83 -31
  221. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  222. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  223. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  224. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  225. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  226. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  227. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  228. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  229. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  230. package/es/components/accordion/style/dnb-accordion.css +6 -2
  231. package/es/components/accordion/style/dnb-accordion.min.css +2 -2
  232. package/es/components/accordion/style/dnb-accordion.scss +8 -2
  233. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
  234. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  235. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
  236. package/es/components/anchor/Anchor.d.ts +1 -1
  237. package/es/components/anchor/Anchor.js +2 -2
  238. package/es/components/anchor/Anchor.js.map +1 -1
  239. package/es/components/anchor/style/anchor-mixins.scss +46 -3
  240. package/es/components/anchor/style/dnb-anchor.css +73 -4
  241. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  242. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
  243. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  244. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
  245. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  246. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
  247. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
  248. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  249. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  250. package/es/components/autocomplete/Autocomplete.d.ts +0 -15
  251. package/es/components/autocomplete/AutocompleteDocs.d.ts +3 -0
  252. package/es/components/autocomplete/AutocompleteDocs.js +285 -0
  253. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -0
  254. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  255. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  256. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
  257. package/es/components/button/Button.js +1 -1
  258. package/es/components/button/Button.js.map +1 -1
  259. package/es/components/dropdown/Dropdown.d.ts +0 -3
  260. package/es/components/flex/style/dnb-flex.css +1 -1
  261. package/es/components/flex/style/dnb-flex.min.css +1 -1
  262. package/es/components/flex/style/flex-stack.scss +1 -1
  263. package/es/components/icon/style/dnb-icon.css +2 -2
  264. package/es/components/icon/style/dnb-icon.min.css +1 -1
  265. package/es/components/icon/style/dnb-icon.scss +1 -1
  266. package/es/components/input/Input.js +1 -1
  267. package/es/components/input/Input.js.map +1 -1
  268. package/es/components/input/InputDocs.js +2 -2
  269. package/es/components/input/InputDocs.js.map +1 -1
  270. package/es/components/table/style/dnb-table.css +6 -0
  271. package/es/components/table/style/dnb-table.min.css +1 -1
  272. package/es/components/table/style/table-th.scss +9 -25
  273. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  274. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  275. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  276. package/es/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  277. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  278. package/es/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  279. package/es/components/textarea/Textarea.d.ts +9 -0
  280. package/es/components/textarea/Textarea.js +21 -5
  281. package/es/components/textarea/Textarea.js.map +1 -1
  282. package/es/components/textarea/TextareaDocs.js +10 -0
  283. package/es/components/textarea/TextareaDocs.js.map +1 -1
  284. package/es/components/textarea/style/dnb-textarea.css +69 -26
  285. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  286. package/es/components/textarea/style/dnb-textarea.scss +83 -31
  287. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  288. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  289. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  290. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  291. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  292. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  293. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  294. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  295. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  296. package/es/extensions/forms/DataContext/At/At.js +7 -7
  297. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  298. package/es/extensions/forms/DataContext/Context.d.ts +5 -2
  299. package/es/extensions/forms/DataContext/Context.js +1 -0
  300. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  301. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  302. package/es/extensions/forms/DataContext/Provider/Provider.js +51 -26
  303. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  304. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
  305. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  306. package/es/extensions/forms/Field/String/String.d.ts +6 -6
  307. package/es/extensions/forms/Field/String/String.js +13 -11
  308. package/es/extensions/forms/Field/String/String.js.map +1 -1
  309. package/es/extensions/forms/Form/Appearance/Appearance.js +3 -0
  310. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  311. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  312. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  313. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  314. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  315. package/es/extensions/forms/Form/Handler/Handler.js +3 -3
  316. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  317. package/es/extensions/forms/StepsLayout/Step/Step.js +2 -3
  318. package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  319. package/es/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  320. package/es/extensions/forms/StepsLayout/StepsContext.js +6 -1
  321. package/es/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  322. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
  323. package/es/extensions/forms/StepsLayout/StepsLayout.js +82 -49
  324. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  325. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
  326. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
  327. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
  328. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  329. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
  330. package/es/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  331. package/es/extensions/forms/StepsLayout/useStep.js +12 -0
  332. package/es/extensions/forms/StepsLayout/useStep.js.map +1 -0
  333. package/es/extensions/forms/hooks/useFieldProps.js +82 -58
  334. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  335. package/es/extensions/forms/style/dnb-forms.css +3 -3
  336. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  337. package/es/extensions/forms/types.d.ts +2 -2
  338. package/es/extensions/forms/types.js.map +1 -1
  339. package/es/extensions/forms/utils/ajv.js +6 -2
  340. package/es/extensions/forms/utils/ajv.js.map +1 -1
  341. package/es/fragments/drawer-list/DrawerList.d.ts +95 -1
  342. package/es/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
  343. package/es/fragments/drawer-list/DrawerListDocs.js +180 -0
  344. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -0
  345. package/es/shared/Eufemia.d.ts +1 -1
  346. package/es/shared/Eufemia.js +2 -2
  347. package/es/shared/Eufemia.js.map +1 -1
  348. package/es/shared/helpers/runCssVersionMismatchWarning.js +2 -2
  349. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  350. package/es/style/core/scopes.scss +1 -1
  351. package/es/style/dnb-ui-basis.css +1 -1
  352. package/es/style/dnb-ui-basis.min.css +1 -1
  353. package/es/style/dnb-ui-body.css +1 -1
  354. package/es/style/dnb-ui-body.min.css +1 -1
  355. package/es/style/dnb-ui-components.css +160 -39
  356. package/es/style/dnb-ui-components.min.css +3 -3
  357. package/es/style/dnb-ui-core.css +1 -1
  358. package/es/style/dnb-ui-core.min.css +1 -1
  359. package/es/style/dnb-ui-extensions.css +3 -3
  360. package/es/style/dnb-ui-extensions.min.css +1 -1
  361. package/es/style/dnb-ui-forms.css +3 -3
  362. package/es/style/dnb-ui-forms.min.css +1 -1
  363. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
  364. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  365. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
  366. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  367. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
  368. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  369. package/es/style/themes/theme-eiendom/properties.js +10 -10
  370. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  371. package/es/style/themes/theme-sbanken/properties.js +10 -10
  372. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  373. package/es/style/themes/theme-sbanken/properties.scss +10 -10
  374. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
  375. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  376. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
  377. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  378. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
  379. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  380. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
  381. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  382. package/es/style/themes/theme-ui/properties.js +10 -10
  383. package/es/style/themes/theme-ui/properties.js.map +1 -1
  384. package/es/style/themes/theme-ui/ui-theme-components.css +178 -81
  385. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  386. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -3
  387. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  388. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -3
  389. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  390. package/es/style/themes/theme-ui/ui-theme-tags.css +37 -9
  391. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  392. package/esm/dnb-ui-basis.min.mjs +1 -1
  393. package/esm/dnb-ui-components.min.mjs +1 -1
  394. package/esm/dnb-ui-elements.min.mjs +1 -1
  395. package/esm/dnb-ui-extensions.min.mjs +2 -2
  396. package/esm/dnb-ui-lib.min.mjs +1 -1
  397. package/extensions/forms/DataContext/At/At.js +7 -7
  398. package/extensions/forms/DataContext/At/At.js.map +1 -1
  399. package/extensions/forms/DataContext/Context.d.ts +5 -2
  400. package/extensions/forms/DataContext/Context.js +1 -0
  401. package/extensions/forms/DataContext/Context.js.map +1 -1
  402. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  403. package/extensions/forms/DataContext/Provider/Provider.js +52 -26
  404. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  405. package/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
  406. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  407. package/extensions/forms/Field/String/String.d.ts +6 -6
  408. package/extensions/forms/Field/String/String.js +13 -11
  409. package/extensions/forms/Field/String/String.js.map +1 -1
  410. package/extensions/forms/Form/Appearance/Appearance.js +3 -0
  411. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  412. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  413. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  414. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  415. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  416. package/extensions/forms/Form/Handler/Handler.js +3 -3
  417. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  418. package/extensions/forms/StepsLayout/Step/Step.js +2 -3
  419. package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  420. package/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  421. package/extensions/forms/StepsLayout/StepsContext.js +6 -1
  422. package/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  423. package/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
  424. package/extensions/forms/StepsLayout/StepsLayout.js +85 -51
  425. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  426. package/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
  427. package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
  428. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
  429. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  430. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
  431. package/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  432. package/extensions/forms/StepsLayout/useStep.js +13 -0
  433. package/extensions/forms/StepsLayout/useStep.js.map +1 -0
  434. package/extensions/forms/hooks/useFieldProps.js +82 -58
  435. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  436. package/extensions/forms/style/dnb-forms.css +3 -3
  437. package/extensions/forms/style/dnb-forms.min.css +1 -1
  438. package/extensions/forms/types.d.ts +2 -2
  439. package/extensions/forms/types.js.map +1 -1
  440. package/extensions/forms/utils/ajv.js +6 -2
  441. package/extensions/forms/utils/ajv.js.map +1 -1
  442. package/fragments/drawer-list/DrawerList.d.ts +95 -1
  443. package/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
  444. package/fragments/drawer-list/DrawerListDocs.js +180 -0
  445. package/fragments/drawer-list/DrawerListDocs.js.map +1 -0
  446. package/package.json +1 -1
  447. package/shared/Eufemia.d.ts +1 -1
  448. package/shared/Eufemia.js +2 -2
  449. package/shared/Eufemia.js.map +1 -1
  450. package/shared/helpers/runCssVersionMismatchWarning.js +2 -2
  451. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  452. package/style/core/scopes.scss +1 -1
  453. package/style/dnb-ui-basis.css +1 -1
  454. package/style/dnb-ui-basis.min.css +1 -1
  455. package/style/dnb-ui-body.css +1 -1
  456. package/style/dnb-ui-body.min.css +1 -1
  457. package/style/dnb-ui-components.css +160 -39
  458. package/style/dnb-ui-components.min.css +3 -3
  459. package/style/dnb-ui-core.css +1 -1
  460. package/style/dnb-ui-core.min.css +1 -1
  461. package/style/dnb-ui-extensions.css +3 -3
  462. package/style/dnb-ui-extensions.min.css +1 -1
  463. package/style/dnb-ui-forms.css +3 -3
  464. package/style/dnb-ui-forms.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
  466. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  467. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
  468. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  469. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
  470. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  471. package/style/themes/theme-eiendom/properties.js +10 -10
  472. package/style/themes/theme-eiendom/properties.js.map +1 -1
  473. package/style/themes/theme-sbanken/properties.js +10 -10
  474. package/style/themes/theme-sbanken/properties.js.map +1 -1
  475. package/style/themes/theme-sbanken/properties.scss +10 -10
  476. package/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
  477. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  478. package/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
  479. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  480. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
  481. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  482. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
  483. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  484. package/style/themes/theme-ui/properties.js +10 -10
  485. package/style/themes/theme-ui/properties.js.map +1 -1
  486. package/style/themes/theme-ui/ui-theme-components.css +178 -81
  487. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  488. package/style/themes/theme-ui/ui-theme-extensions.css +3 -3
  489. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  490. package/style/themes/theme-ui/ui-theme-forms.css +3 -3
  491. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  492. package/style/themes/theme-ui/ui-theme-tags.css +37 -9
  493. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  494. package/umd/dnb-ui-basis.min.js +1 -1
  495. package/umd/dnb-ui-components.min.js +1 -1
  496. package/umd/dnb-ui-elements.min.js +1 -1
  497. package/umd/dnb-ui-extensions.min.js +3 -3
  498. package/umd/dnb-ui-lib.min.js +1 -1
@@ -11,28 +11,23 @@
11
11
  --textarea-border-color--disabled: var(--color-black-55);
12
12
  --textarea-border-width: 0.0625rem;
13
13
  --textarea-border-width--hover: 0.125rem;
14
+ --textarea-color: var(--color-black);
15
+ --textarea-background-color: var(--color-white);
16
+ --textarea-placeholder-color: var(--color-black-55);
17
+ --textarea-placeholder-color--focus: var(--color-black-20);
14
18
 
15
19
  &__textarea {
16
- color: var(--color-black);
17
- background-color: var(--textarea-background-color);
18
-
19
20
  ::selection {
20
21
  background-color: var(--color-mint-green);
21
- color: var(--color-black);
22
22
  text-shadow: none;
23
23
  }
24
24
  }
25
25
 
26
- &__placeholder {
27
- color: var(--color-black-55);
28
- }
29
-
30
26
  &__textarea:not([disabled]):not(#{&}--disabled):focus ~ &__state,
31
27
  &__textarea:not([disabled]):not(#{&}--disabled):hover ~ &__state {
32
- @include fakeBorder(
33
- var(--textarea-border-color--hover),
34
- var(--textarea-border-width--hover)
35
- );
28
+ --textarea-border-color: var(--textarea-border-color--hover);
29
+ --textarea-border-width: var(--textarea-border-width--hover);
30
+ --textarea-border-inset: ;
36
31
  }
37
32
 
38
33
  // We may enable this in future – right now it's unclear
@@ -41,21 +36,10 @@
41
36
  // color: var(--color-black);
42
37
  // }
43
38
 
44
- // disabled
45
- &--disabled &__textarea,
46
- &__textarea[disabled] {
47
- color: var(--color-black-55);
48
- background-color: var(--color-black-3);
49
- }
50
-
51
- &--disabled &__state,
52
- &__textarea[disabled] ~ &__state {
53
- @include fakeBorder(
54
- var(--textarea-border-color--disabled),
55
- var(--textarea-border-width),
56
- inset
57
- );
58
- background-color: var(--color-black-3);
39
+ &--disabled {
40
+ --textarea-color: var(--color-black-55);
41
+ --textarea-background-color: var(--color-black-3);
42
+ --textarea-border-color: var(--textarea-border-color--disabled);
59
43
  }
60
44
 
61
45
  // with status_state = "error"
@@ -22,8 +22,7 @@
22
22
  box-shadow: 0 0 0 0.0318rem var(--color-sea-green);
23
23
  }
24
24
  .dnb-toggle-button--checked .dnb-toggle-button__button[disabled], .dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled], .dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] {
25
- background-color: var(--color-mint-green);
26
- color: var(--color-white);
25
+ background-color: var(--color-mint-green-25);
27
26
  }
28
27
  .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active), .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active), .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active) {
29
28
  background-color: var(--color-emerald-green);
@@ -1 +1 @@
1
- .dnb-toggle-button .dnb-checkbox__gfx path{stroke-width:.125rem}.dnb-toggle-button .dnb-radio__input:not([disabled])~.dnb-radio__button{box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button[disabled]{background-color:var(--color-mint-green);color:var(--color-white)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:focus .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:hover .dnb-icon{color:inherit}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__button{background-color:transparent;border-color:var(--color-mint-green);box-shadow:0 0 0 .0318rem var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__dot{background-color:var(--color-mint-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__button{--border-color:var(--color-emerald-green);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot{background-color:var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__button{background-color:var(--color-mint-green);border-color:var(--color-emerald-green);box-shadow:0 0 0 .0318rem var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__gfx{color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__button{background-color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__gfx{color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-radio__button{box-shadow:none}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--color-mint-green);color:var(--color-emerald-green);outline:none}html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{--border-color:var(--color-emerald-green);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__button,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot{background-color:var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx{color:var(--color-sea-green)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-white);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-fire-red)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__focus{box-shadow:none}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__dot{background-color:transparent}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input~.dnb-checkbox__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not(:hover)~.dnb-checkbox__button .dnb-checkbox__focus{box-shadow:none}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-fire-red);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-white);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not([disabled]):not(:hover):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled]):not(:hover)~.dnb-radio__dot{background-color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox .dnb-checkbox__input:not([disabled]):not(:focus):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--color-fire-red)}.dnb-toggle-button>.dnb-form-status{transform:translateY(.1875rem)}
1
+ .dnb-toggle-button .dnb-checkbox__gfx path{stroke-width:.125rem}.dnb-toggle-button .dnb-radio__input:not([disabled])~.dnb-radio__button{box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button[disabled]{background-color:var(--color-mint-green-25)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:focus .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:hover .dnb-icon{color:inherit}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__button{background-color:transparent;border-color:var(--color-mint-green);box-shadow:0 0 0 .0318rem var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__dot{background-color:var(--color-mint-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__button{--border-color:var(--color-emerald-green);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot{background-color:var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__button{background-color:var(--color-mint-green);border-color:var(--color-emerald-green);box-shadow:0 0 0 .0318rem var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__gfx{color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__button{background-color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__gfx{color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-radio__button{box-shadow:none}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--color-mint-green);color:var(--color-emerald-green);outline:none}html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{--border-color:var(--color-emerald-green);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__button,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot{background-color:var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx{color:var(--color-sea-green)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-white);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-fire-red)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__focus{box-shadow:none}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__dot{background-color:transparent}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input~.dnb-checkbox__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not(:hover)~.dnb-checkbox__button .dnb-checkbox__focus{box-shadow:none}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-fire-red);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-white);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not([disabled]):not(:hover):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled]):not(:hover)~.dnb-radio__dot{background-color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox .dnb-checkbox__input:not([disabled]):not(:focus):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--color-fire-red)}.dnb-toggle-button>.dnb-form-status{transform:translateY(.1875rem)}
@@ -26,8 +26,7 @@
26
26
  &--checked &__button:focus,
27
27
  &--checked &__button:hover {
28
28
  &[disabled] {
29
- background-color: var(--color-mint-green);
30
- color: var(--color-white);
29
+ background-color: var(--color-mint-green-25);
31
30
  }
32
31
 
33
32
  &:not([disabled]):not(:active) {
@@ -25,19 +25,19 @@ function At(props) {
25
25
  const dataContext = (0, _react.useContext)(_Context.default);
26
26
  const {
27
27
  data: contextData,
28
- handlePathChange: contextHandlePathChange
28
+ handlePathChange: handlePathChangeDataContext
29
29
  } = dataContext;
30
30
  const data = contextData && _jsonPointer.default.has(contextData, path) ? _jsonPointer.default.get(contextData, path) : undefined;
31
- const handlePathChange = (0, _react.useMemo)(() => contextHandlePathChange ? (changePath, value) => {
32
- contextHandlePathChange(`${path}${changePath}`, value);
33
- } : undefined, [contextHandlePathChange, path]);
31
+ const handlePathChange = (0, _react.useCallback)((changePath, value) => {
32
+ handlePathChangeDataContext(`${path}${changePath}`, value);
33
+ }, [handlePathChangeDataContext, path]);
34
34
  if (iterate) {
35
35
  if (!Array.isArray(data)) {
36
36
  return null;
37
37
  }
38
38
  return _react.default.createElement(_react.default.Fragment, null, data.map((element, i) => {
39
- const handlePathChange = contextHandlePathChange ? (changePath, value) => {
40
- contextHandlePathChange(`${path}/${i}${changePath}`, value);
39
+ const handlePathChange = handlePathChangeDataContext ? (changePath, value) => {
40
+ handlePathChangeDataContext(`${path}/${i}${changePath}`, value);
41
41
  } : undefined;
42
42
  return _react.default.createElement(_Context.default.Provider, {
43
43
  key: `element${i}`,
@@ -1 +1 @@
1
- {"version":3,"file":"At.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_Context","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","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","At","props","path","iterate","children","dataContext","useContext","Context","data","contextData","handlePathChange","contextHandlePathChange","pointer","useMemo","changePath","Array","isArray","createElement","Fragment","map","element","Provider","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/DataContext/At/At.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport pointer from 'json-pointer'\nimport type { ComponentProps } from '../../types'\nimport Context, { ContextState } from '../Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const { data: contextData, handlePathChange: contextHandlePathChange } =\n dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange = useMemo(\n () =>\n (contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}${changePath}`, value)\n }\n : undefined) as ContextState['handlePathChange'],\n [contextHandlePathChange, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = (\n contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(\n `${path}/${i}${changePath}`,\n value\n )\n }\n : undefined\n ) as ContextState['handlePathChange']\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsSpacingProps = true\nexport default At\n"],"mappings":"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"}
1
+ {"version":3,"file":"At.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_Context","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","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","At","props","path","iterate","children","dataContext","useContext","Context","data","contextData","handlePathChange","handlePathChangeDataContext","pointer","useCallback","changePath","Array","isArray","createElement","Fragment","map","element","Provider","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/DataContext/At/At.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport pointer from 'json-pointer'\nimport type { ComponentProps } from '../../types'\nimport Context, { ContextState } from '../Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const {\n data: contextData,\n handlePathChange: handlePathChangeDataContext,\n } = dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n (changePath, value) => {\n handlePathChangeDataContext(`${path}${changePath}`, value)\n },\n [handlePathChangeDataContext, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = (\n handlePathChangeDataContext\n ? (changePath, value) => {\n handlePathChangeDataContext(\n `${path}/${i}${changePath}`,\n value\n )\n }\n : undefined\n ) as ContextState['handlePathChange']\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsSpacingProps = true\nexport default At\n"],"mappings":"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"}
@@ -11,7 +11,9 @@ export type EventListenerCall = {
11
11
  callback: () => any;
12
12
  };
13
13
  export type FilterDataHandler<Data> = (data: Data, filter: FilterData) => Partial<Data>;
14
- export type FilterData = (path: Path, value: any, props: FieldProps) => boolean | undefined;
14
+ export type FilterData = (path: Path, value: any, props: FieldProps, internal: {
15
+ error: Error | undefined;
16
+ }) => boolean | undefined;
15
17
  export interface ContextState {
16
18
  id?: Identifier;
17
19
  hasContext: boolean;
@@ -21,7 +23,8 @@ export interface ContextState {
21
23
  errors?: Record<string, Error>;
22
24
  /** Will set autoComplete="on" on each nested Field.String and Field.Number */
23
25
  autoComplete?: boolean;
24
- handlePathChange: (path: Path, value: any) => EventReturnWithStateObject | unknown | Promise<EventReturnWithStateObject | unknown>;
26
+ handlePathChange: (path: Path, value?: any) => EventReturnWithStateObject | unknown | Promise<EventReturnWithStateObject | unknown>;
27
+ handlePathChangeUnvalidated: (path: Path, value: any) => void;
25
28
  updateDataValue: (path: Path, value: any) => void;
26
29
  setData: (data: any) => void;
27
30
  filterDataHandler: (data: any, filter: FilterData) => any;
@@ -14,6 +14,7 @@ const defaultContextState = {
14
14
  disabled: undefined,
15
15
  submitState: undefined,
16
16
  handlePathChange: () => null,
17
+ handlePathChangeUnvalidated: () => null,
17
18
  updateDataValue: () => null,
18
19
  setData: () => null,
19
20
  filterDataHandler: () => null,
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","disabled","submitState","handlePathChange","updateDataValue","setData","filterDataHandler","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setFieldEventListener","handleSubmitCall","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","hasFieldState","checkFieldStateFor","setFieldState","setFieldError","setProps","ajvInstance","makeAjvInstance","contextErrorMessages","_isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path: Path\n type: 'onSubmit'\n callback: () => any\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterData = (\n path: Path,\n value: any,\n props: FieldProps\n) => boolean | undefined\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n filterDataHandler: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n checkFieldStateFor: (path: Path, state: SubmitState) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n formState: SubmitState\n setFormState?: (state: SubmitState) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setProps: (path: Path, props: any) => void\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n disabled: boolean\n submitState: Partial<EventStateObject>\n _isInsideFormElement?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n disabled: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n updateDataValue: () => null,\n setData: () => null,\n filterDataHandler: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n formState: undefined,\n setFormState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n checkFieldStateFor: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n setProps: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n _isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAmG5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,QAAQ,EAAEF,SAAS;EACnBG,WAAW,EAAEH,SAAS;EACtBI,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,iBAAiB,EAAEA,CAAA,KAAM,IAAI;EAC7BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,kBAAkB,EAAEA,CAAA,KAAM,KAAK;EAC/BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,QAAQ,EAAEA,CAAA,KAAM,IAAI;EACpBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE5B,SAAS;EAC/B6B,oBAAoB,EAAE,KAAK;EAC3BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAlC,mBAAA,GAAAA,mBAAA;AAED,MAAMmC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAerC,mBAAmB,CAAC;AAAA,IAAAsC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAnC,OAAA,GAAAuC,QAAA"}
1
+ {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","disabled","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","filterDataHandler","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setFieldEventListener","handleSubmitCall","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","hasFieldState","checkFieldStateFor","setFieldState","setFieldError","setProps","ajvInstance","makeAjvInstance","contextErrorMessages","_isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path: Path\n type: 'onSubmit'\n callback: () => any\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterData = (\n path: Path,\n value: any,\n props: FieldProps,\n internal: {\n error: Error | undefined\n }\n) => boolean | undefined\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n filterDataHandler: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n checkFieldStateFor: (path: Path, state: SubmitState) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n formState: SubmitState\n setFormState?: (state: SubmitState) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setProps: (path: Path, props: any) => void\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n disabled: boolean\n submitState: Partial<EventStateObject>\n _isInsideFormElement?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n disabled: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n filterDataHandler: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n formState: undefined,\n setFormState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n checkFieldStateFor: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n setProps: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n _isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAuG5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,QAAQ,EAAEF,SAAS;EACnBG,WAAW,EAAEH,SAAS;EACtBI,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,iBAAiB,EAAEA,CAAA,KAAM,IAAI;EAC7BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,SAAS,EAAEb,SAAS;EACpBc,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,kBAAkB,EAAEA,CAAA,KAAM,KAAK;EAC/BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,QAAQ,EAAEA,CAAA,KAAM,IAAI;EACpBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE7B,SAAS;EAC/B8B,oBAAoB,EAAE,KAAK;EAC3BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAnC,mBAAA,GAAAA,mBAAA;AAED,MAAMoC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAetC,mBAAmB,CAAC;AAAA,IAAAuC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAApC,OAAA,GAAAwC,QAAA"}
@@ -58,10 +58,6 @@ export interface Props<Data extends JsonObject> {
58
58
  * The result of the onSubmit function
59
59
  */
60
60
  result: unknown) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
61
- /**
62
- * Shows an indicator on the current label during a field change.
63
- */
64
- enableAsyncChangeBehavior?: boolean;
65
61
  /**
66
62
  * Minimum time to display the submit indicator.
67
63
  */
@@ -69,7 +65,7 @@ export interface Props<Data extends JsonObject> {
69
65
  /**
70
66
  * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.
71
67
  */
72
- asyncBehaviorTimeout?: number;
68
+ asyncSubmitTimeout?: number;
73
69
  /**
74
70
  * Scroll to top on submit
75
71
  */
@@ -15,7 +15,7 @@ var _isAsync = require("../../../../shared/helpers/isAsync");
15
15
  var _useSharedState = require("../../../../shared/helpers/useSharedState");
16
16
  var _Context = _interopRequireDefault(require("../Context"));
17
17
  var _structuredClone = _interopRequireDefault(require("@ungap/structured-clone"));
18
- const _excluded = ["id", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "scrollTopOnSubmit", "minimumAsyncBehaviorTime", "asyncBehaviorTimeout", "sessionStorageId", "ajvInstance", "filterData", "errorMessages", "children"];
18
+ const _excluded = ["id", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "scrollTopOnSubmit", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "sessionStorageId", "ajvInstance", "filterData", "errorMessages", "children"];
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
  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); }
21
21
  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; }
@@ -43,7 +43,7 @@ function Provider(props) {
43
43
  onSubmitComplete,
44
44
  scrollTopOnSubmit,
45
45
  minimumAsyncBehaviorTime,
46
- asyncBehaviorTimeout,
46
+ asyncSubmitTimeout,
47
47
  sessionStorageId,
48
48
  ajvInstance,
49
49
  filterData,
@@ -106,7 +106,7 @@ function Provider(props) {
106
106
  }, [executeAjvValidator]);
107
107
  const checkFieldStateFor = (0, _react.useCallback)((path, state) => {
108
108
  var _errorsRef$current;
109
- return Boolean(state === 'error' ? ((_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? void 0 : _errorsRef$current[path]) instanceof Error || fieldErrorRef.current[path] : fieldStateRef.current[path] === state);
109
+ return Boolean(state === 'error' ? ((_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? void 0 : _errorsRef$current[path]) instanceof Error || fieldErrorRef.current[path] instanceof Error : fieldStateRef.current[path] === state);
110
110
  }, []);
111
111
  const hasFieldState = (0, _react.useCallback)(state => {
112
112
  return mountedFieldPathsRef.current.some(path => {
@@ -117,7 +117,7 @@ function Provider(props) {
117
117
  return hasFieldState('error');
118
118
  }, [hasFieldState]);
119
119
  const setFieldError = (0, _react.useCallback)((path, error) => {
120
- fieldErrorRef.current[path] = Boolean(error);
120
+ fieldErrorRef.current[path] = error;
121
121
  }, []);
122
122
  const setFieldState = (0, _react.useCallback)((path, fieldState) => {
123
123
  if (fieldState !== fieldStateRef.current[path]) {
@@ -130,9 +130,12 @@ function Provider(props) {
130
130
  if (filter) {
131
131
  const filtered = _objectSpread({}, data);
132
132
  Object.entries(fieldPropsRef.current).forEach(_ref => {
133
+ var _fieldErrorRef$curren;
133
134
  let [path, props] = _ref;
134
135
  const exists = _jsonPointer.default.has(data, path);
135
- const result = filter(path, exists ? _jsonPointer.default.get(data, path) : undefined, props);
136
+ const result = filter(path, exists ? _jsonPointer.default.get(data, path) : undefined, props, {
137
+ error: (_fieldErrorRef$curren = fieldErrorRef.current) === null || _fieldErrorRef$curren === void 0 ? void 0 : _fieldErrorRef$curren[path]
138
+ });
136
139
  if (result === false && exists) {
137
140
  _jsonPointer.default.remove(filtered, path);
138
141
  }
@@ -239,23 +242,32 @@ function Provider(props) {
239
242
  internalDataRef.current = newData;
240
243
  forceUpdate();
241
244
  }, []);
242
- const handlePathChange = (0, _react.useCallback)(async (path, value) => {
245
+ const handlePathChangeUnvalidated = (0, _react.useCallback)(async (path, value) => {
243
246
  if (!path) {
244
247
  return null;
245
248
  }
249
+ updateDataValue(path, value);
246
250
  if ((0, _isAsync.isAsync)(onPathChange)) {
247
251
  await (onPathChange === null || onPathChange === void 0 ? void 0 : onPathChange(path, value));
248
252
  } else {
249
253
  onPathChange === null || onPathChange === void 0 ? void 0 : onPathChange(path, value);
250
254
  }
251
- const newData = updateDataValue(path, value);
255
+ }, [onPathChange, updateDataValue]);
256
+ const handlePathChange = (0, _react.useCallback)(async function (path) {
257
+ let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '_undefined_';
258
+ if (!path) {
259
+ return null;
260
+ }
261
+ if (value !== '_undefined_') {
262
+ handlePathChangeUnvalidated(path, value);
263
+ }
252
264
  showAllErrorsRef.current = false;
253
265
  validateData();
254
266
  if ((0, _isAsync.isAsync)(onChange)) {
255
- return await onChange(newData);
267
+ return await onChange(internalDataRef.current);
256
268
  }
257
- return onChange === null || onChange === void 0 ? void 0 : onChange(newData);
258
- }, [onChange, onPathChange, updateDataValue, validateData]);
269
+ return onChange === null || onChange === void 0 ? void 0 : onChange(internalDataRef.current);
270
+ }, [handlePathChangeUnvalidated, onChange, validateData]);
259
271
  const handleMountField = (0, _react.useCallback)(path => {
260
272
  mountedFieldPathsRef.current = addListPath(mountedFieldPathsRef.current, path);
261
273
  }, []);
@@ -285,7 +297,7 @@ function Provider(props) {
285
297
  setSubmitState({
286
298
  error: undefined
287
299
  });
288
- const asyncBehaviorIsEnabled = !(skipErrorCheck ? false : hasErrors()) && (enableAsyncBehaviour || hasFieldWithAsyncValidator());
300
+ const asyncBehaviorIsEnabled = (skipErrorCheck ? true : !hasErrors() || hasFieldState('pending')) && (enableAsyncBehaviour || hasFieldWithAsyncValidator());
289
301
  if (asyncBehaviorIsEnabled) {
290
302
  setFormState('pending');
291
303
  }
@@ -331,15 +343,15 @@ function Provider(props) {
331
343
  window.requestAnimationFrame(() => {
332
344
  setFormState(undefined);
333
345
  });
334
- }
335
- if (!skipFieldValidation) {
336
- onSubmitContinueRef.current = () => {
337
- window.requestAnimationFrame(() => {
338
- handleSubmitCall(_objectSpread(_objectSpread({}, args), {}, {
339
- skipFieldValidation: true
340
- }));
341
- });
342
- };
346
+ if (!skipFieldValidation) {
347
+ onSubmitContinueRef.current = () => {
348
+ window.requestAnimationFrame(() => {
349
+ handleSubmitCall(_objectSpread(_objectSpread({}, args), {}, {
350
+ skipFieldValidation: true
351
+ }));
352
+ });
353
+ };
354
+ }
343
355
  }
344
356
  onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest();
345
357
  setShowAllErrors(true);
@@ -428,19 +440,29 @@ function Provider(props) {
428
440
  forceUpdate();
429
441
  }
430
442
  }, [schema, validateData, forceUpdate]);
443
+ const onTimeout = (0, _react.useCallback)(() => {
444
+ setFormState(undefined);
445
+ setSubmitState({
446
+ info: undefined,
447
+ warning: undefined,
448
+ error: undefined
449
+ });
450
+ }, [setFormState, setSubmitState]);
431
451
  const {
432
452
  bufferedFormState: formState
433
453
  } = useFormStatusBuffer({
434
454
  formState: formStateRef.current,
435
455
  waitFor: hasFieldState('pending'),
436
456
  minimumAsyncBehaviorTime,
437
- asyncBehaviorTimeout
457
+ asyncSubmitTimeout,
458
+ onTimeout
438
459
  });
439
460
  const submitState = submitStateRef.current;
440
461
  const disabled = (_rest$disabled = rest === null || rest === void 0 ? void 0 : rest['disabled']) !== null && _rest$disabled !== void 0 ? _rest$disabled : formState === 'pending';
441
462
  return _react.default.createElement(_Context.default.Provider, {
442
463
  value: _objectSpread({
443
464
  handlePathChange,
465
+ handlePathChangeUnvalidated,
444
466
  handleSubmit,
445
467
  handleMountField,
446
468
  handleUnMountField,
@@ -490,7 +512,8 @@ function useFormStatusBuffer(props) {
490
512
  formState,
491
513
  waitFor,
492
514
  minimumAsyncBehaviorTime,
493
- asyncBehaviorTimeout
515
+ asyncSubmitTimeout,
516
+ onTimeout
494
517
  } = props || {};
495
518
  const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
496
519
  const stateRef = (0, _react.useRef)();
@@ -526,7 +549,7 @@ function useFormStatusBuffer(props) {
526
549
  if (formState === 'complete') {
527
550
  hadCompleteRef.current = true;
528
551
  }
529
- if (formState === 'pending') {
552
+ if (formState === 'pending' && stateRef.current !== 'pending') {
530
553
  clear();
531
554
  nowRef.current = Date.now();
532
555
  hadCompleteRef.current = false;
@@ -546,13 +569,16 @@ function useFormStatusBuffer(props) {
546
569
  clear();
547
570
  }, delay + minimum);
548
571
  }
572
+ }
573
+ if (stateRef.current === 'pending') {
549
574
  timeoutRef.current.timeout = setTimeout(() => {
550
- nowRef.current = 0;
575
+ clear();
551
576
  setState(undefined);
552
- }, asyncBehaviorTimeout !== null && asyncBehaviorTimeout !== void 0 ? asyncBehaviorTimeout : 30000);
577
+ onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();
578
+ }, asyncSubmitTimeout !== null && asyncSubmitTimeout !== void 0 ? asyncSubmitTimeout : 30000);
553
579
  }
554
580
  return clear;
555
- }, [clear, minimumAsyncBehaviorTime, formState, setState, waitFor, asyncBehaviorTimeout]);
581
+ }, [clear, minimumAsyncBehaviorTime, formState, setState, waitFor, asyncSubmitTimeout, onTimeout]);
556
582
  return {
557
583
  bufferedFormState: stateRef.current
558
584
  };