@dnb/eufemia 10.29.0 → 10.30.1

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 (354) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/cjs/components/checkbox/Checkbox.d.ts +1 -1
  3. package/cjs/components/checkbox/Checkbox.js +6 -3
  4. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  5. package/cjs/components/flex/style/dnb-flex.css +4 -0
  6. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  7. package/cjs/components/flex/style/flex-stack.scss +3 -0
  8. package/cjs/components/height-animation/HeightAnimationInstance.js +4 -3
  9. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  10. package/cjs/components/table/useTableAnimationHandler.js +1 -1
  11. package/cjs/components/table/useTableAnimationHandler.js.map +1 -1
  12. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -1
  13. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  14. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  15. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +13 -0
  16. package/cjs/extensions/forms/DataContext/Provider/Provider.js +17 -6
  17. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  18. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +15 -0
  19. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  20. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +15 -0
  21. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +87 -0
  22. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  23. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  24. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
  25. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  26. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  27. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
  28. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  29. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  30. package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
  31. package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
  32. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  33. package/cjs/extensions/forms/Form/Handler/Handler.js +11 -3
  34. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  35. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -2
  36. package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -11
  37. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  38. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  39. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  40. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  41. package/cjs/extensions/forms/Form/index.js +7 -0
  42. package/cjs/extensions/forms/Form/index.js.map +1 -1
  43. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +17 -1
  44. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  45. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +7 -5
  46. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  47. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.d.ts +1 -1
  48. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +7 -5
  49. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  50. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +8 -6
  51. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  52. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +7 -5
  53. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  54. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -2
  55. package/cjs/extensions/forms/hooks/useFieldProps.js +11 -5
  56. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  57. package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
  58. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  59. package/cjs/shared/Context.d.ts +2 -0
  60. package/cjs/shared/Context.js.map +1 -1
  61. package/cjs/shared/Eufemia.d.ts +1 -1
  62. package/cjs/shared/Eufemia.js +2 -2
  63. package/cjs/shared/Eufemia.js.map +1 -1
  64. package/cjs/shared/component-helper.d.ts +1 -0
  65. package/cjs/shared/component-helper.js +7 -0
  66. package/cjs/shared/component-helper.js.map +1 -1
  67. package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
  68. package/cjs/shared/helpers/assignPropsWithContext.js +27 -0
  69. package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
  70. package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
  71. package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
  72. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  73. package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
  74. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  75. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +13 -3
  76. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  77. package/cjs/style/core/scopes.scss +1 -1
  78. package/cjs/style/dnb-ui-basis.css +1 -1
  79. package/cjs/style/dnb-ui-basis.min.css +1 -1
  80. package/cjs/style/dnb-ui-body.css +1 -1
  81. package/cjs/style/dnb-ui-body.min.css +1 -1
  82. package/cjs/style/dnb-ui-components.css +4 -0
  83. package/cjs/style/dnb-ui-components.min.css +1 -1
  84. package/cjs/style/dnb-ui-core.css +1 -1
  85. package/cjs/style/dnb-ui-core.min.css +1 -1
  86. package/cjs/style/themes/eiendom/basis.js +4 -0
  87. package/cjs/style/themes/eiendom/basis.js.map +1 -0
  88. package/cjs/style/themes/eiendom/index.js +5 -0
  89. package/cjs/style/themes/eiendom/index.js.map +1 -0
  90. package/cjs/style/themes/sbanken/basis.js +4 -0
  91. package/cjs/style/themes/sbanken/basis.js.map +1 -0
  92. package/cjs/style/themes/sbanken/index.js +5 -0
  93. package/cjs/style/themes/sbanken/index.js.map +1 -0
  94. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  95. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  96. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  97. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  98. package/cjs/style/themes/theme-ui/ui-theme-components.css +4 -0
  99. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  100. package/cjs/style/themes/ui/basis.js +4 -0
  101. package/cjs/style/themes/ui/basis.js.map +1 -0
  102. package/cjs/style/themes/ui/index.js +5 -0
  103. package/cjs/style/themes/ui/index.js.map +1 -0
  104. package/components/checkbox/Checkbox.d.ts +1 -1
  105. package/components/checkbox/Checkbox.js +6 -3
  106. package/components/checkbox/Checkbox.js.map +1 -1
  107. package/components/flex/style/dnb-flex.css +4 -0
  108. package/components/flex/style/dnb-flex.min.css +1 -1
  109. package/components/flex/style/flex-stack.scss +3 -0
  110. package/components/height-animation/HeightAnimationInstance.js +4 -3
  111. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  112. package/components/table/useTableAnimationHandler.js +1 -1
  113. package/components/table/useTableAnimationHandler.js.map +1 -1
  114. package/es/components/checkbox/Checkbox.d.ts +1 -1
  115. package/es/components/checkbox/Checkbox.js +6 -3
  116. package/es/components/checkbox/Checkbox.js.map +1 -1
  117. package/es/components/flex/style/dnb-flex.css +4 -0
  118. package/es/components/flex/style/dnb-flex.min.css +1 -1
  119. package/es/components/flex/style/flex-stack.scss +3 -0
  120. package/es/components/height-animation/HeightAnimationInstance.js +4 -3
  121. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  122. package/es/components/table/useTableAnimationHandler.js +1 -1
  123. package/es/components/table/useTableAnimationHandler.js.map +1 -1
  124. package/es/extensions/forms/DataContext/Context.d.ts +2 -1
  125. package/es/extensions/forms/DataContext/Context.js +0 -1
  126. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  127. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +13 -0
  128. package/es/extensions/forms/DataContext/Provider/Provider.js +17 -6
  129. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  130. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +15 -0
  131. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  132. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +15 -0
  133. package/es/extensions/forms/Form/FieldProps/FieldProps.js +78 -0
  134. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  135. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  136. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  137. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  138. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  139. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  140. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  141. package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  142. package/es/extensions/forms/Form/FieldProps/index.js +3 -0
  143. package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
  144. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  145. package/es/extensions/forms/Form/Handler/Handler.js +11 -3
  146. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  147. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -2
  148. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -11
  149. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  150. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  151. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  152. package/es/extensions/forms/Form/index.d.ts +1 -0
  153. package/es/extensions/forms/Form/index.js +1 -0
  154. package/es/extensions/forms/Form/index.js.map +1 -1
  155. package/es/extensions/forms/ValueBlock/ValueBlock.js +18 -2
  156. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  157. package/es/extensions/forms/Wizard/hooks/useNextRouter.js +5 -4
  158. package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  159. package/es/extensions/forms/Wizard/hooks/useQueryLocator.d.ts +1 -1
  160. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +6 -5
  161. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  162. package/es/extensions/forms/Wizard/hooks/useReachRouter.js +6 -5
  163. package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  164. package/es/extensions/forms/Wizard/hooks/useReactRouter.js +5 -4
  165. package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  166. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -2
  167. package/es/extensions/forms/hooks/useFieldProps.js +11 -4
  168. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  169. package/es/extensions/forms/hooks/useTranslation.js +3 -1
  170. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  171. package/es/shared/Context.d.ts +2 -0
  172. package/es/shared/Context.js.map +1 -1
  173. package/es/shared/Eufemia.d.ts +1 -1
  174. package/es/shared/Eufemia.js +2 -2
  175. package/es/shared/Eufemia.js.map +1 -1
  176. package/es/shared/component-helper.d.ts +1 -0
  177. package/es/shared/component-helper.js +1 -0
  178. package/es/shared/component-helper.js.map +1 -1
  179. package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
  180. package/es/shared/helpers/assignPropsWithContext.js +15 -0
  181. package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
  182. package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
  183. package/es/shared/helpers/extendPropsWithContext.js +1 -1
  184. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  185. package/es/shared/helpers/filterValidProps.d.ts +1 -0
  186. package/es/shared/helpers/filterValidProps.js.map +1 -1
  187. package/es/shared/helpers/runCssVersionMismatchWarning.js +13 -3
  188. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  189. package/es/style/core/scopes.scss +1 -1
  190. package/es/style/dnb-ui-basis.css +1 -1
  191. package/es/style/dnb-ui-basis.min.css +1 -1
  192. package/es/style/dnb-ui-body.css +1 -1
  193. package/es/style/dnb-ui-body.min.css +1 -1
  194. package/es/style/dnb-ui-components.css +4 -0
  195. package/es/style/dnb-ui-components.min.css +1 -1
  196. package/es/style/dnb-ui-core.css +1 -1
  197. package/es/style/dnb-ui-core.min.css +1 -1
  198. package/es/style/themes/eiendom/basis.js +1 -0
  199. package/es/style/themes/eiendom/basis.js.map +1 -0
  200. package/es/style/themes/eiendom/index.js +3 -0
  201. package/es/style/themes/eiendom/index.js.map +1 -0
  202. package/es/style/themes/sbanken/basis.js +1 -0
  203. package/es/style/themes/sbanken/basis.js.map +1 -0
  204. package/es/style/themes/sbanken/index.d.ts +1 -0
  205. package/es/style/themes/sbanken/index.js +3 -0
  206. package/es/style/themes/sbanken/index.js.map +1 -0
  207. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  208. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  209. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  210. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  211. package/es/style/themes/theme-ui/ui-theme-components.css +4 -0
  212. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  213. package/es/style/themes/ui/basis.d.ts +1 -0
  214. package/es/style/themes/ui/basis.js +1 -0
  215. package/es/style/themes/ui/basis.js.map +1 -0
  216. package/es/style/themes/ui/index.d.ts +1 -0
  217. package/es/style/themes/ui/index.js +3 -0
  218. package/es/style/themes/ui/index.js.map +1 -0
  219. package/esm/dnb-ui-basis.min.mjs +1 -1
  220. package/esm/dnb-ui-components.min.mjs +1 -1
  221. package/esm/dnb-ui-elements.min.mjs +1 -1
  222. package/esm/dnb-ui-extensions.min.mjs +3 -3
  223. package/esm/dnb-ui-lib.min.mjs +1 -1
  224. package/extensions/forms/DataContext/Context.d.ts +2 -1
  225. package/extensions/forms/DataContext/Context.js +0 -1
  226. package/extensions/forms/DataContext/Context.js.map +1 -1
  227. package/extensions/forms/DataContext/Provider/Provider.d.ts +13 -0
  228. package/extensions/forms/DataContext/Provider/Provider.js +17 -6
  229. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  230. package/extensions/forms/DataContext/Provider/ProviderDocs.js +15 -0
  231. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  232. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +15 -0
  233. package/extensions/forms/Form/FieldProps/FieldProps.js +78 -0
  234. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  235. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  236. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  237. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  238. package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  239. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  240. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  241. package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  242. package/extensions/forms/Form/FieldProps/index.js +3 -0
  243. package/extensions/forms/Form/FieldProps/index.js.map +1 -0
  244. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  245. package/extensions/forms/Form/Handler/Handler.js +11 -3
  246. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  247. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -2
  248. package/extensions/forms/Form/Visibility/Visibility.js +20 -11
  249. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  250. package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  251. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  252. package/extensions/forms/Form/index.d.ts +1 -0
  253. package/extensions/forms/Form/index.js +1 -0
  254. package/extensions/forms/Form/index.js.map +1 -1
  255. package/extensions/forms/ValueBlock/ValueBlock.js +18 -2
  256. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  257. package/extensions/forms/Wizard/hooks/useNextRouter.js +7 -5
  258. package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  259. package/extensions/forms/Wizard/hooks/useQueryLocator.d.ts +1 -1
  260. package/extensions/forms/Wizard/hooks/useQueryLocator.js +7 -5
  261. package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  262. package/extensions/forms/Wizard/hooks/useReachRouter.js +8 -6
  263. package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  264. package/extensions/forms/Wizard/hooks/useReactRouter.js +7 -5
  265. package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  266. package/extensions/forms/hooks/useFieldProps.d.ts +2 -2
  267. package/extensions/forms/hooks/useFieldProps.js +11 -5
  268. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  269. package/extensions/forms/hooks/useTranslation.js +3 -1
  270. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  271. package/package.json +1 -1
  272. package/shared/Context.d.ts +2 -0
  273. package/shared/Context.js.map +1 -1
  274. package/shared/Eufemia.d.ts +1 -1
  275. package/shared/Eufemia.js +2 -2
  276. package/shared/Eufemia.js.map +1 -1
  277. package/shared/component-helper.d.ts +1 -0
  278. package/shared/component-helper.js +1 -0
  279. package/shared/component-helper.js.map +1 -1
  280. package/shared/helpers/assignPropsWithContext.d.ts +1 -0
  281. package/shared/helpers/assignPropsWithContext.js +19 -0
  282. package/shared/helpers/assignPropsWithContext.js.map +1 -0
  283. package/shared/helpers/extendPropsWithContext.d.ts +1 -0
  284. package/shared/helpers/extendPropsWithContext.js +1 -1
  285. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  286. package/shared/helpers/filterValidProps.d.ts +1 -0
  287. package/shared/helpers/filterValidProps.js.map +1 -1
  288. package/shared/helpers/runCssVersionMismatchWarning.js +13 -3
  289. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  290. package/style/core/scopes.scss +1 -1
  291. package/style/dnb-ui-basis.css +1 -1
  292. package/style/dnb-ui-basis.min.css +1 -1
  293. package/style/dnb-ui-body.css +1 -1
  294. package/style/dnb-ui-body.min.css +1 -1
  295. package/style/dnb-ui-components.css +4 -0
  296. package/style/dnb-ui-components.min.css +1 -1
  297. package/style/dnb-ui-core.css +1 -1
  298. package/style/dnb-ui-core.min.css +1 -1
  299. package/style/themes/eiendom/basis.d.ts +1 -0
  300. package/style/themes/eiendom/basis.js +1 -0
  301. package/style/themes/eiendom/basis.js.map +1 -0
  302. package/style/themes/eiendom/index.d.ts +1 -0
  303. package/style/themes/eiendom/index.js +3 -0
  304. package/style/themes/eiendom/index.js.map +1 -0
  305. package/style/themes/sbanken/basis.d.ts +1 -0
  306. package/style/themes/sbanken/basis.js +1 -0
  307. package/style/themes/sbanken/basis.js.map +1 -0
  308. package/style/themes/sbanken/index.d.ts +1 -0
  309. package/style/themes/sbanken/index.js +3 -0
  310. package/style/themes/sbanken/index.js.map +1 -0
  311. package/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  312. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  313. package/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  314. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  315. package/style/themes/theme-ui/ui-theme-components.css +4 -0
  316. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  317. package/style/themes/ui/basis.d.ts +1 -0
  318. package/style/themes/ui/basis.js +1 -0
  319. package/style/themes/ui/basis.js.map +1 -0
  320. package/style/themes/ui/index.d.ts +1 -0
  321. package/style/themes/ui/index.js +3 -0
  322. package/style/themes/ui/index.js.map +1 -0
  323. package/umd/dnb-ui-basis.min.js +1 -1
  324. package/umd/dnb-ui-components.min.js +1 -1
  325. package/umd/dnb-ui-elements.min.js +1 -1
  326. package/umd/dnb-ui-extensions.min.js +2 -2
  327. package/umd/dnb-ui-lib.min.js +1 -1
  328. package/cjs/style/themes/eiendom.js +0 -5
  329. package/cjs/style/themes/eiendom.js.map +0 -1
  330. package/cjs/style/themes/sbanken.js +0 -5
  331. package/cjs/style/themes/sbanken.js.map +0 -1
  332. package/cjs/style/themes/ui.js +0 -5
  333. package/cjs/style/themes/ui.js.map +0 -1
  334. package/es/style/themes/eiendom.js +0 -3
  335. package/es/style/themes/eiendom.js.map +0 -1
  336. package/es/style/themes/sbanken.js +0 -3
  337. package/es/style/themes/sbanken.js.map +0 -1
  338. package/es/style/themes/ui.js +0 -3
  339. package/es/style/themes/ui.js.map +0 -1
  340. package/style/themes/eiendom.js +0 -3
  341. package/style/themes/eiendom.js.map +0 -1
  342. package/style/themes/sbanken.js +0 -3
  343. package/style/themes/sbanken.js.map +0 -1
  344. package/style/themes/ui.js +0 -3
  345. package/style/themes/ui.js.map +0 -1
  346. /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
  347. /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
  348. /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
  349. /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
  350. /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
  351. /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
  352. /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
  353. /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
  354. /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,37 @@
3
3
  All notable changes to @dnb/eufemia will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.30.1](https://github.com/dnbexperience/eufemia/compare/v10.30.0...v10.30.1) (2024-05-10)
7
+
8
+
9
+ ### :memo: Documentation
10
+
11
+ * **Portal:** updates css import documentation ([#3542](https://github.com/dnbexperience/eufemia/issues/3542)) ([0b80110](https://github.com/dnbexperience/eufemia/commit/0b801103d40b4e6c43ea3270dfdb7914ebc9d7da))
12
+
13
+
14
+ ### :bug: Bug Fixes
15
+
16
+ * **Checkbox:** fix types issues ([#3540](https://github.com/dnbexperience/eufemia/issues/3540)) ([ed7b1cd](https://github.com/dnbexperience/eufemia/commit/ed7b1cd3f5a3c5012f18dbc16994102bcc8c5466))
17
+ * **Flex.Stack:** align Button to not stretch ([#3544](https://github.com/dnbexperience/eufemia/issues/3544)) ([931d80e](https://github.com/dnbexperience/eufemia/commit/931d80e438f66a988ce9de7457d943c01952f018))
18
+ * **forms:** add `filterData` support to Visibility ([#3543](https://github.com/dnbexperience/eufemia/issues/3543)) ([7ee3f25](https://github.com/dnbexperience/eufemia/commit/7ee3f259c89007d3756c28b8f7e132c93232a16a))
19
+ * **forms:** make id of Wizard location hooks optional ([#3545](https://github.com/dnbexperience/eufemia/issues/3545)) ([91f1026](https://github.com/dnbexperience/eufemia/commit/91f102649a65f30f98e6e8a7e94e317e91efd24b))
20
+ * **forms:** warn when Value component should be wrapped within Value.SummaryList ([#3547](https://github.com/dnbexperience/eufemia/issues/3547)) ([7691eb9](https://github.com/dnbexperience/eufemia/commit/7691eb99889f30baa614e9a732624e828314f15e))
21
+ * **HeightAnimation:** overcome flickering issue due to false height pre-calculation ([#3546](https://github.com/dnbexperience/eufemia/issues/3546)) ([62c08a3](https://github.com/dnbexperience/eufemia/commit/62c08a30b13faa6d4fc56d5fa9f776066540af89))
22
+
23
+ ## [10.30.0](https://github.com/dnbexperience/eufemia/compare/v10.29.0...v10.30.0) (2024-05-08)
24
+
25
+
26
+ ### :bug: Bug Fixes
27
+
28
+ * **Eufemia:** enhance CSS version check for dnb-core-style ([#3522](https://github.com/dnbexperience/eufemia/issues/3522)) ([eac2bcf](https://github.com/dnbexperience/eufemia/commit/eac2bcf6f0296d3b44277332847d0bb589627fff))
29
+
30
+
31
+ ### :sparkles: Features
32
+
33
+ * **forms:** add `fieldPropsWhenHidden` to Visibility ([#3539](https://github.com/dnbexperience/eufemia/issues/3539)) ([5d8d6db](https://github.com/dnbexperience/eufemia/commit/5d8d6dba4c0c6b3e85b8b03a6a563d8384e20c08))
34
+ * **forms:** add `Form.FieldProps` provider to forward a certain props to all fields ([#3536](https://github.com/dnbexperience/eufemia/issues/3536)) ([0f875bd](https://github.com/dnbexperience/eufemia/commit/0f875bdc722f929d609956c75cac3eea82eae5bf))
35
+ * **forms:** add `locale`, `translations`, `required` and `disabled` prop support to `Form.Handler` ([#3537](https://github.com/dnbexperience/eufemia/issues/3537)) ([b95f215](https://github.com/dnbexperience/eufemia/commit/b95f215823f781a13f3ca468f635fa27104fdfee))
36
+
6
37
  ## [10.29.0](https://github.com/dnbexperience/eufemia/compare/v10.28.0...v10.29.0) (2024-05-07)
7
38
 
8
39
 
@@ -78,7 +78,7 @@ export type CheckboxProps = {
78
78
  type DeprecatedCheckboxProps = {
79
79
  /** @deprecated use the `label` prop instead */
80
80
  children?: React.ReactNode;
81
- /** @deprecated use `onComplete` */
81
+ /** @deprecated use `onChange` */
82
82
  on_change?: (args: OnChangeParams) => void;
83
83
  /** @deprecated use `labelPosition` */
84
84
  label_position?: CheckboxLabelPosition;
@@ -83,7 +83,7 @@ function Checkbox(localProps) {
83
83
  const callOnChange = (0, _react.useCallback)(args => {
84
84
  onChange === null || onChange === void 0 ? void 0 : onChange(args);
85
85
  }, [onChange]);
86
- const onChangeHandler = (0, _react.useCallback)(event => {
86
+ const handleChange = (0, _react.useCallback)(event => {
87
87
  if (readOnly) {
88
88
  return event.preventDefault();
89
89
  }
@@ -97,13 +97,16 @@ function Checkbox(localProps) {
97
97
  ref.current.focus();
98
98
  }
99
99
  }, [callOnChange, isChecked, readOnly, ref]);
100
+ const onChangeHandler = (0, _react.useCallback)(event => {
101
+ handleChange(event);
102
+ }, [handleChange]);
100
103
  const onKeyDownHandler = (0, _react.useCallback)(event => {
101
104
  switch ((0, _keycode.default)(event)) {
102
105
  case 'enter':
103
- onChangeHandler(event);
106
+ handleChange(event);
104
107
  break;
105
108
  }
106
- }, [onChangeHandler]);
109
+ }, [handleChange]);
107
110
  const mainParams = {
108
111
  className: (0, _classnames.default)("dnb-checkbox dnb-form-component", (0, _SkeletonHelper.createSkeletonClass)(null, skeleton), (0, _SpacingHelper.createSpacingClasses)(props), className, status && `dnb-checkbox__status--${statusState}`, size && `dnb-checkbox--${size}`, label && `dnb-checkbox--label-position-${labelPosition || 'right'}`)
109
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_keycode","_componentHelper","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_Context","_Suffix","_useId","_filterValidProps","_withSnakeCaseProps","_FormLabel","_FormStatus","_CheckIcon","_AlignmentHelper","_span","_excluded","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","_extends","assign","bind","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","statusState","Checkbox","localProps","context","useContext","Context","props","extractPropsFromContext","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","skeleton","className","id","idProp","checked","onChange","innerRef","rest","useId","isFn","refHook","useRef","ref","useEffect","current","isChecked","setIsChecked","useState","prevChecked","setPrevChecked","callOnChange","useCallback","args","onChangeHandler","event","preventDefault","updatedCheck","focus","onKeyDownHandler","keycode","mainParams","classnames","createSkeletonClass","createSpacingClasses","showStatus","getStatusState","inputParams","handleInputAttributes","statusComp","createElement","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","name","type","onKeyDown","combineDescribedBy","validateDOMAttributes","skeletonDOMAttributes","extendPropsWithContext","convertSnakeCaseProps","pickFormElementProps","FormRow","formElement","_default","exports"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\n\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange'\n > &\n DeprecatedCheckboxProps\n\n// depracated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onComplete` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n checked,\n onChange,\n innerRef,\n ...rest\n } = props\n\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const [isChecked, setIsChecked] = useState<boolean>(checked ?? false)\n const [prevChecked, setPrevChecked] = useState<boolean>(checked)\n\n useEffect(() => {\n if (checked !== prevChecked) {\n setIsChecked(!!checked)\n setPrevChecked(!!checked)\n }\n }, [checked, prevChecked])\n\n const callOnChange = useCallback(\n (args: OnChangeParams) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const onChangeHandler = useCallback(\n (event) => {\n if (readOnly) {\n return event.preventDefault()\n }\n const updatedCheck = !isChecked\n\n setIsChecked(updatedCheck)\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, isChecked, readOnly, ref]\n )\n\n const onKeyDownHandler = useCallback(\n (event) => {\n switch (keycode(event)) {\n case 'enter':\n onChangeHandler(event)\n break\n }\n },\n [onChangeHandler]\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const showStatus = getStatusState(status)\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isChecked ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n function handleInputAttributes() {\n const inputParams = {\n disabled,\n checked: isChecked,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }\n\n function extractPropsFromContext() {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }\n}\n\nexport default Checkbox\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_keycode","_componentHelper","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_Context","_Suffix","_useId","_filterValidProps","_withSnakeCaseProps","_FormLabel","_FormStatus","_CheckIcon","_AlignmentHelper","_span","_excluded","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","_extends","assign","bind","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","statusState","Checkbox","localProps","context","useContext","Context","props","extractPropsFromContext","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","skeleton","className","id","idProp","checked","onChange","innerRef","rest","useId","isFn","refHook","useRef","ref","useEffect","current","isChecked","setIsChecked","useState","prevChecked","setPrevChecked","callOnChange","useCallback","args","handleChange","event","preventDefault","updatedCheck","focus","onChangeHandler","onKeyDownHandler","keycode","mainParams","classnames","createSkeletonClass","createSpacingClasses","showStatus","getStatusState","inputParams","handleInputAttributes","statusComp","createElement","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","name","type","onKeyDown","combineDescribedBy","validateDOMAttributes","skeletonDOMAttributes","extendPropsWithContext","convertSnakeCaseProps","pickFormElementProps","FormRow","formElement","_default","exports"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\n\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange'\n > &\n DeprecatedCheckboxProps\n\n// depracated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onChange` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n checked,\n onChange,\n innerRef,\n ...rest\n } = props\n\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const [isChecked, setIsChecked] = useState<boolean>(checked ?? false)\n const [prevChecked, setPrevChecked] = useState<boolean>(checked)\n\n useEffect(() => {\n if (checked !== prevChecked) {\n setIsChecked(!!checked)\n setPrevChecked(!!checked)\n }\n }, [checked, prevChecked])\n\n const callOnChange: CheckboxProps['onChange'] = useCallback(\n (args) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const handleChange = useCallback(\n (event: OnChangeParams['event']) => {\n if (readOnly) {\n return event.preventDefault()\n }\n const updatedCheck = !isChecked\n\n setIsChecked(updatedCheck)\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, isChecked, readOnly, ref]\n )\n\n const onChangeHandler = useCallback(\n (event: OnChangeParams['event']) => {\n handleChange(event)\n },\n [handleChange]\n )\n\n const onKeyDownHandler = useCallback(\n (event: KeyboardEvent & OnChangeParams['event']) => {\n switch (keycode(event)) {\n case 'enter':\n handleChange(event)\n break\n }\n },\n [handleChange]\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const showStatus = getStatusState(status)\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isChecked ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n function handleInputAttributes() {\n const inputParams = {\n disabled,\n checked: isChecked,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }\n\n function extractPropsFromContext() {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }\n}\n\nexport default Checkbox\n"],"mappings":"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"}
@@ -124,4 +124,8 @@
124
124
 
125
125
  .dnb-flex-stack + .dnb-flex-stack {
126
126
  margin-top: var(--spacing-small);
127
+ }
128
+
129
+ .dnb-flex-stack > .dnb-button {
130
+ align-self: flex-start;
127
131
  }
@@ -1 +1 @@
1
- .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-off{--gap:0}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-small)}
1
+ .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-off{--gap:0}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-small)}.dnb-flex-stack>.dnb-button{align-self:flex-start}
@@ -1,3 +1,6 @@
1
1
  .dnb-flex-stack + .dnb-flex-stack {
2
2
  margin-top: var(--spacing-small);
3
3
  }
4
+ .dnb-flex-stack > .dnb-button {
5
+ align-self: flex-start;
6
+ }
@@ -148,19 +148,17 @@ class HeightAnimation {
148
148
  if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {
149
149
  return this.__currentHeight;
150
150
  }
151
- const width = this.elem.clientWidth;
152
151
  const clonedElem = this.elem.cloneNode(true);
153
152
  const inputs = clonedElem.querySelectorAll('input');
154
153
  inputs.forEach(input => {
155
154
  input.removeAttribute('name');
156
155
  input.removeAttribute('id');
157
156
  });
158
- (_this$elem$parentNode = this.elem.parentNode) === null || _this$elem$parentNode === void 0 ? void 0 : _this$elem$parentNode.insertBefore(clonedElem, this.elem.nextSibling);
159
157
  for (const key in this.firstPaintStyle) {
160
158
  clonedElem.style[key] = this.firstPaintStyle[key];
161
159
  }
162
- clonedElem.style.width = width ? `${String(width)}px` : 'auto';
163
160
  clonedElem.style.position = 'absolute';
161
+ (_this$elem$parentNode = this.elem.parentNode) === null || _this$elem$parentNode === void 0 ? void 0 : _this$elem$parentNode.insertBefore(clonedElem, this.elem.nextSibling);
164
162
  const height = parseFloat(String(clonedElem.clientHeight)) || parseFloat(clonedElem.getAttribute('data-height')) || null;
165
163
  (_clonedElem$parentNod = clonedElem.parentNode) === null || _clonedElem$parentNod === void 0 ? void 0 : _clonedElem$parentNod.removeChild(clonedElem);
166
164
  if (height) {
@@ -215,6 +213,9 @@ class HeightAnimation {
215
213
  const toHeight = this.getUnknownHeight();
216
214
  this.addEndEvent(e => {
217
215
  if (e.target === e.currentTarget || !e.currentTarget) {
216
+ if (this.elem) {
217
+ this.elem.style.overflowY = '';
218
+ }
218
219
  this.setState('opened');
219
220
  this.readjust();
220
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","arguments","length","undefined","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","width","clientWidth","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","parentNode","insertBefore","nextSibling","key","firstPaintStyle","style","position","getAttribute","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","readjust","close","overflowY","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime","exports","default"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n }\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const width = this.elem.clientWidth\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.width = width ? `${String(width)}px` : 'auto' // set width because of the \"position: absolute\"\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n const height =\n parseFloat(String(clonedElem.clientHeight)) ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","arguments","length","undefined","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","key","firstPaintStyle","style","position","parentNode","insertBefore","nextSibling","getAttribute","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","overflowY","readjust","close","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime","exports","default"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n }\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n\n // Hide the cloned element\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n const height =\n parseFloat(String(clonedElem.clientHeight)) ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.overflowY = ''\n }\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
@@ -24,7 +24,7 @@ function useTableAnimationHandler(_ref) {
24
24
  const scrollViewHandler = (0, _react.useCallback)(clip => {
25
25
  const scrollView = (0, _componentHelper.getClosestScrollViewElement)(trRef.current);
26
26
  if (scrollView instanceof HTMLElement) {
27
- scrollView.style.overflow = clip ? 'clip' : '';
27
+ scrollView.style.overflowY = clip ? 'clip' : '';
28
28
  }
29
29
  }, [trRef]);
30
30
  const onOpen = (0, _react.useCallback)(state => {
@@ -1 +1 @@
1
- {"version":3,"file":"useTableAnimationHandler.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_useHeightAnimation","_TableContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useTableAnimationHandler","_ref","innerRef","trRef","expanded","noAnimation","tableAccordionContext","React","useContext","TableAccordionContext","ariaLive","setAriaLive","useState","open","Boolean","trIsOpen","scrollViewHandler","useCallback","clip","scrollView","getClosestScrollViewElement","current","HTMLElement","style","overflow","onOpen","state","onAnimationStart","onAnimationEnd","_tableAccordionContex","_tableAccordionContex2","event","target","onOpened","onClosed","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","useHeightAnimation","animate","_default","exports"],"sources":["../../../../src/components/table/useTableAnimationHandler.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { getClosestScrollViewElement } from '../../shared/component-helper'\nimport { useHeightAnimation } from '../height-animation/useHeightAnimation'\nimport { TableAccordionTrProps } from './TableAccordionTr'\nimport { TableAccordionContext } from './TableContext'\n\nexport type useTableAnimationHandlerProps = {\n /**\n * Ref to <div> inside the <tr> element being expanded/collapsed\n */\n innerRef: React.MutableRefObject<HTMLDivElement>\n /**\n * Ref to the <tr> element being clicked\n */\n trRef: React.MutableRefObject<HTMLTableRowElement>\n}\n\nexport function useTableAnimationHandler({\n innerRef,\n trRef,\n expanded,\n noAnimation,\n}: useTableAnimationHandlerProps & TableAccordionTrProps) {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const [ariaLive, setAriaLive] = React.useState(null)\n const open = Boolean(expanded || tableAccordionContext?.trIsOpen)\n\n const scrollViewHandler = useCallback(\n (clip: boolean) => {\n const scrollView = getClosestScrollViewElement(\n trRef.current\n ) as HTMLElement\n if (scrollView instanceof HTMLElement) {\n scrollView.style.overflow = clip ? 'clip' : ''\n }\n },\n [trRef]\n )\n\n const onOpen = useCallback((state) => {\n setAriaLive(state ? true : null)\n }, [])\n\n const onAnimationStart = useCallback(() => {\n scrollViewHandler(true)\n }, [scrollViewHandler])\n\n const onAnimationEnd = useCallback(\n (state) => {\n const event = { target: trRef.current }\n switch (state) {\n case 'opened':\n tableAccordionContext.onOpened?.(event)\n break\n\n case 'closed':\n tableAccordionContext.onClosed?.(event)\n break\n }\n\n scrollViewHandler(false)\n },\n [scrollViewHandler, tableAccordionContext, trRef]\n )\n\n const { isInDOM, isAnimating, isVisibleParallax, firstPaintStyle } =\n useHeightAnimation(innerRef, {\n open,\n animate: Boolean(\n !noAnimation && !tableAccordionContext?.noAnimation\n ),\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n return {\n ariaLive,\n isInDOM,\n isAnimating,\n isVisibleParallax,\n firstPaintStyle,\n }\n}\n\nexport default useTableAnimationHandler\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTableAnimationHandler.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_useHeightAnimation","_TableContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useTableAnimationHandler","_ref","innerRef","trRef","expanded","noAnimation","tableAccordionContext","React","useContext","TableAccordionContext","ariaLive","setAriaLive","useState","open","Boolean","trIsOpen","scrollViewHandler","useCallback","clip","scrollView","getClosestScrollViewElement","current","HTMLElement","style","overflowY","onOpen","state","onAnimationStart","onAnimationEnd","_tableAccordionContex","_tableAccordionContex2","event","target","onOpened","onClosed","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","useHeightAnimation","animate","_default","exports"],"sources":["../../../../src/components/table/useTableAnimationHandler.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { getClosestScrollViewElement } from '../../shared/component-helper'\nimport { useHeightAnimation } from '../height-animation/useHeightAnimation'\nimport { TableAccordionTrProps } from './TableAccordionTr'\nimport { TableAccordionContext } from './TableContext'\n\nexport type useTableAnimationHandlerProps = {\n /**\n * Ref to <div> inside the <tr> element being expanded/collapsed\n */\n innerRef: React.MutableRefObject<HTMLDivElement>\n /**\n * Ref to the <tr> element being clicked\n */\n trRef: React.MutableRefObject<HTMLTableRowElement>\n}\n\nexport function useTableAnimationHandler({\n innerRef,\n trRef,\n expanded,\n noAnimation,\n}: useTableAnimationHandlerProps & TableAccordionTrProps) {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const [ariaLive, setAriaLive] = React.useState(null)\n const open = Boolean(expanded || tableAccordionContext?.trIsOpen)\n\n const scrollViewHandler = useCallback(\n (clip: boolean) => {\n const scrollView = getClosestScrollViewElement(\n trRef.current\n ) as HTMLElement\n if (scrollView instanceof HTMLElement) {\n scrollView.style.overflowY = clip ? 'clip' : ''\n }\n },\n [trRef]\n )\n\n const onOpen = useCallback((state) => {\n setAriaLive(state ? true : null)\n }, [])\n\n const onAnimationStart = useCallback(() => {\n scrollViewHandler(true)\n }, [scrollViewHandler])\n\n const onAnimationEnd = useCallback(\n (state) => {\n const event = { target: trRef.current }\n switch (state) {\n case 'opened':\n tableAccordionContext.onOpened?.(event)\n break\n\n case 'closed':\n tableAccordionContext.onClosed?.(event)\n break\n }\n\n scrollViewHandler(false)\n },\n [scrollViewHandler, tableAccordionContext, trRef]\n )\n\n const { isInDOM, isAnimating, isVisibleParallax, firstPaintStyle } =\n useHeightAnimation(innerRef, {\n open,\n animate: Boolean(\n !noAnimation && !tableAccordionContext?.noAnimation\n ),\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n return {\n ariaLive,\n isInDOM,\n isAnimating,\n isVisibleParallax,\n firstPaintStyle,\n }\n}\n\nexport default useTableAnimationHandler\n"],"mappings":"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"}
@@ -59,7 +59,8 @@ export interface ContextState {
59
59
  ajvInstance: Ajv;
60
60
  contextErrorMessages: CustomErrorMessagesWithPaths;
61
61
  schema: AllJSONSchemaVersions;
62
- disabled: boolean;
62
+ disabled?: boolean;
63
+ required?: boolean;
63
64
  submitState: Partial<EventStateObject>;
64
65
  _isInsideFormElement?: boolean;
65
66
  props: ProviderProps<unknown>;
@@ -11,7 +11,6 @@ const defaultContextState = {
11
11
  hasContext: false,
12
12
  data: undefined,
13
13
  schema: undefined,
14
- disabled: undefined,
15
14
  submitState: undefined,
16
15
  handlePathChange: () => null,
17
16
  handlePathChangeUnvalidated: () => 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","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setSubmitState","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\nexport type TransformData = (\n path: Path,\n value: any,\n props: FieldProps,\n internal: {\n error: Error | undefined\n }\n) => any\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\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 mutateDataHandler?: (data: any, mutate: TransformData) => any\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 setSubmitState?: (state: EventStateObject) => 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 validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => 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;AAiH5C,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,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,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,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"}
1
+ {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setSubmitState","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\nexport type TransformData = (\n path: Path,\n value: any,\n props: FieldProps,\n internal: {\n error: Error | undefined\n }\n) => any\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\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 mutateDataHandler?: (data: any, mutate: TransformData) => any\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 setSubmitState?: (state: EventStateObject) => 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 required?: 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 submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => 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;AAkH5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,SAAS,EAAEX,SAAS;EACpBY,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,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"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { JsonObject } from 'json-pointer';
3
3
  import { Ajv } from '../../utils/ajv';
4
4
  import { CustomErrorMessagesWithPaths, AllJSONSchemaVersions, Path, OnSubmit, OnChange, EventReturnWithStateObject } from '../../types';
5
+ import { ContextProps } from '../../../../shared/Context';
5
6
  import { FilterData, TransformData } from '../Context';
6
7
  export interface Props<Data extends JsonObject> {
7
8
  /**
@@ -90,6 +91,18 @@ export interface Props<Data extends JsonObject> {
90
91
  * Key for caching the data in session storage
91
92
  */
92
93
  sessionStorageId?: string;
94
+ /**
95
+ * Locale to use for all nested Eufemia components
96
+ */
97
+ locale?: ContextProps['locale'];
98
+ /**
99
+ * Provide your own translations. Use the same format as defined in the translation files
100
+ */
101
+ translations?: ContextProps['translations'];
102
+ /**
103
+ * Make all fields required
104
+ */
105
+ required?: boolean;
93
106
  children: React.ReactNode;
94
107
  }
95
108
  export default function Provider<Data extends JsonObject>(props: Props<Data>): import("react/jsx-runtime").JSX.Element;
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _jsonPointer = _interopRequireDefault(require("json-pointer"));
12
12
  var _ajv = require("../../utils/ajv");
13
13
  var _helpers = require("../../../../shared/helpers");
14
- var _Provider = _interopRequireDefault(require("../../../../shared/Provider"));
14
+ var _FieldProps = _interopRequireDefault(require("../../Form/FieldProps"));
15
15
  var _useMountEffect = _interopRequireDefault(require("../../../../shared/helpers/useMountEffect"));
16
16
  var _useUpdateEffect = _interopRequireDefault(require("../../../../shared/helpers/useUpdateEffect"));
17
17
  var _isAsync = require("../../../../shared/helpers/isAsync");
@@ -19,7 +19,7 @@ var _useSharedState = require("../../../../shared/helpers/useSharedState");
19
19
  var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
20
20
  var _Context = _interopRequireDefault(require("../Context"));
21
21
  var _structuredClone = _interopRequireDefault(require("@ungap/structured-clone"));
22
- const _excluded = ["id", "globalStatusId", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "scrollTopOnSubmit", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "sessionStorageId", "ajvInstance", "transformIn", "transformOut", "filterSubmitData", "filterData", "errorMessages", "children"];
22
+ const _excluded = ["id", "globalStatusId", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "scrollTopOnSubmit", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "sessionStorageId", "ajvInstance", "transformIn", "transformOut", "filterSubmitData", "filterData", "locale", "translations", "required", "errorMessages", "children"];
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
  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); }
25
25
  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; }
@@ -55,6 +55,9 @@ function Provider(props) {
55
55
  transformOut,
56
56
  filterSubmitData,
57
57
  filterData,
58
+ locale,
59
+ translations,
60
+ required,
58
61
  errorMessages: contextErrorMessages,
59
62
  children
60
63
  } = props,
@@ -172,6 +175,11 @@ function Provider(props) {
172
175
  const fieldPropsRef = (0, _react.useRef)({});
173
176
  const setProps = (0, _react.useCallback)((path, props) => {
174
177
  fieldPropsRef.current[path] = _objectSpread(_objectSpread({}, fieldPropsRef.current[path]), props);
178
+ for (const key in fieldPropsRef.current[path]) {
179
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
180
+ delete fieldPropsRef.current[path][key];
181
+ }
182
+ }
175
183
  }, []);
176
184
  const hasFieldWithAsyncValidator = (0, _react.useCallback)(() => {
177
185
  for (const path in fieldPropsRef.current) {
@@ -520,6 +528,7 @@ function Provider(props) {
520
528
  scrollToTop,
521
529
  schema,
522
530
  disabled,
531
+ required,
523
532
  formState,
524
533
  submitState,
525
534
  contextErrorMessages,
@@ -532,7 +541,7 @@ function Provider(props) {
532
541
  data: internalDataRef.current,
533
542
  props
534
543
  }, rest)
535
- }, _react.default.createElement(_Provider.default, {
544
+ }, _react.default.createElement(_FieldProps.default, {
536
545
  FormStatus: globalStatusId ? {
537
546
  globalStatus: {
538
547
  id: globalStatusId,
@@ -540,9 +549,11 @@ function Provider(props) {
540
549
  show: showAllErrorsRef.current
541
550
  }
542
551
  } : undefined,
543
- formElement: {
544
- disabled
545
- }
552
+ formElement: disabled ? {
553
+ disabled: true
554
+ } : undefined,
555
+ locale: locale ? locale : undefined,
556
+ translations: translations ? translations : undefined
546
557
  }, children));
547
558
  }
548
559
  function addListPath(paths, path) {