@dnb/eufemia 10.65.0 → 10.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cjs/components/card/Card.js +1 -1
  3. package/cjs/components/card/Card.js.map +1 -1
  4. package/cjs/components/date-picker/DatePicker.d.ts +3 -1
  5. package/cjs/components/date-picker/DatePicker.js +3 -1
  6. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerAddon.js +8 -1
  8. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  9. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  10. package/cjs/components/date-picker/DatePickerInput.js +54 -36
  11. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  12. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  13. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  14. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  15. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  16. package/cjs/components/flex/Container.d.ts +2 -1
  17. package/cjs/components/flex/Container.js +31 -24
  18. package/cjs/components/flex/Container.js.map +1 -1
  19. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  20. package/cjs/components/flex/ContainerDocs.js +81 -0
  21. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  22. package/cjs/components/flex/style/dnb-flex.css +36 -4
  23. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  24. package/cjs/components/flex/style/flex-container.scss +39 -4
  25. package/cjs/components/help-button/HelpButtonInline.d.ts +6 -0
  26. package/cjs/components/help-button/HelpButtonInline.js +51 -19
  27. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  28. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  29. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  30. package/cjs/components/slider/SliderDocs.js +2 -2
  31. package/cjs/components/slider/SliderDocs.js.map +1 -1
  32. package/cjs/components/slider/SliderProvider.js +0 -2
  33. package/cjs/components/slider/SliderProvider.js.map +1 -1
  34. package/cjs/components/slider/types.d.ts +2 -2
  35. package/cjs/components/slider/types.js.map +1 -1
  36. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  37. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  38. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  39. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  40. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  41. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  42. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  43. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  44. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/Context.d.ts +11 -5
  46. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  48. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  50. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  52. package/cjs/extensions/forms/DataContext/Provider/Provider.js +46 -42
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  55. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  57. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  58. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  59. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  60. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  61. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  62. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  63. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  64. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  65. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  66. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  67. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  68. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  69. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  70. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  71. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  72. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  73. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  74. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  75. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  76. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  77. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  78. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  79. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  81. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  82. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  83. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  84. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  85. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  86. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  87. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  88. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  89. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  90. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  91. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  92. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  93. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  94. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  95. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  96. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  97. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  98. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  99. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  101. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  102. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  103. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  104. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  105. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  106. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  107. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  108. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  109. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  110. package/cjs/extensions/forms/hooks/useFieldProps.js +41 -23
  111. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  112. package/cjs/extensions/forms/style/dnb-forms.css +17 -0
  113. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  114. package/cjs/extensions/forms/types.d.ts +9 -1
  115. package/cjs/extensions/forms/types.js.map +1 -1
  116. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  117. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  118. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  119. package/cjs/shared/Eufemia.d.ts +1 -1
  120. package/cjs/shared/Eufemia.js +2 -2
  121. package/cjs/shared/Eufemia.js.map +1 -1
  122. package/cjs/style/core/scopes.scss +1 -1
  123. package/cjs/style/dnb-ui-basis.css +1 -1
  124. package/cjs/style/dnb-ui-basis.min.css +1 -1
  125. package/cjs/style/dnb-ui-body.css +1 -1
  126. package/cjs/style/dnb-ui-body.min.css +1 -1
  127. package/cjs/style/dnb-ui-components.css +53 -4
  128. package/cjs/style/dnb-ui-components.min.css +2 -2
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +17 -0
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +17 -0
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-ui/ui-theme-components.css +70 -4
  148. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  150. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.css +17 -0
  152. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  153. package/components/card/Card.js +1 -1
  154. package/components/card/Card.js.map +1 -1
  155. package/components/date-picker/DatePicker.d.ts +3 -1
  156. package/components/date-picker/DatePicker.js +3 -1
  157. package/components/date-picker/DatePicker.js.map +1 -1
  158. package/components/date-picker/DatePickerAddon.js +6 -1
  159. package/components/date-picker/DatePickerAddon.js.map +1 -1
  160. package/components/date-picker/DatePickerInput.d.ts +5 -0
  161. package/components/date-picker/DatePickerInput.js +54 -36
  162. package/components/date-picker/DatePickerInput.js.map +1 -1
  163. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  164. package/components/date-picker/DatePickerProvider.js +7 -2
  165. package/components/date-picker/DatePickerProvider.js.map +1 -1
  166. package/components/date-picker/hooks/useDates.js.map +1 -1
  167. package/components/flex/Container.d.ts +2 -1
  168. package/components/flex/Container.js +32 -25
  169. package/components/flex/Container.js.map +1 -1
  170. package/components/flex/ContainerDocs.d.ts +2 -0
  171. package/components/flex/ContainerDocs.js +74 -0
  172. package/components/flex/ContainerDocs.js.map +1 -0
  173. package/components/flex/style/dnb-flex.css +36 -4
  174. package/components/flex/style/dnb-flex.min.css +1 -1
  175. package/components/flex/style/flex-container.scss +39 -4
  176. package/components/help-button/HelpButtonInline.d.ts +6 -0
  177. package/components/help-button/HelpButtonInline.js +51 -19
  178. package/components/help-button/HelpButtonInline.js.map +1 -1
  179. package/components/help-button/HelpButtonInstance.js +1 -1
  180. package/components/help-button/HelpButtonInstance.js.map +1 -1
  181. package/components/slider/SliderDocs.js +2 -2
  182. package/components/slider/SliderDocs.js.map +1 -1
  183. package/components/slider/SliderProvider.js +0 -2
  184. package/components/slider/SliderProvider.js.map +1 -1
  185. package/components/slider/types.d.ts +2 -2
  186. package/components/slider/types.js.map +1 -1
  187. package/components/step-indicator/StepIndicator.d.ts +6 -0
  188. package/components/step-indicator/StepIndicator.js.map +1 -1
  189. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  190. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  191. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  192. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  193. package/components/toggle-button/ToggleButton.d.ts +9 -1
  194. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  195. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  196. package/es/components/card/Card.js +1 -1
  197. package/es/components/card/Card.js.map +1 -1
  198. package/es/components/date-picker/DatePicker.d.ts +3 -1
  199. package/es/components/date-picker/DatePicker.js +3 -1
  200. package/es/components/date-picker/DatePicker.js.map +1 -1
  201. package/es/components/date-picker/DatePickerAddon.js +6 -1
  202. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  203. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  204. package/es/components/date-picker/DatePickerInput.js +54 -36
  205. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  206. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  207. package/es/components/date-picker/DatePickerProvider.js +7 -2
  208. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  209. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  210. package/es/components/flex/Container.d.ts +2 -1
  211. package/es/components/flex/Container.js +32 -25
  212. package/es/components/flex/Container.js.map +1 -1
  213. package/es/components/flex/ContainerDocs.d.ts +2 -0
  214. package/es/components/flex/ContainerDocs.js +74 -0
  215. package/es/components/flex/ContainerDocs.js.map +1 -0
  216. package/es/components/flex/style/dnb-flex.css +36 -4
  217. package/es/components/flex/style/dnb-flex.min.css +1 -1
  218. package/es/components/flex/style/flex-container.scss +39 -4
  219. package/es/components/help-button/HelpButtonInline.d.ts +6 -0
  220. package/es/components/help-button/HelpButtonInline.js +50 -18
  221. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  222. package/es/components/help-button/HelpButtonInstance.js +1 -1
  223. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  224. package/es/components/slider/SliderDocs.js +2 -2
  225. package/es/components/slider/SliderDocs.js.map +1 -1
  226. package/es/components/slider/SliderProvider.js +0 -2
  227. package/es/components/slider/SliderProvider.js.map +1 -1
  228. package/es/components/slider/types.d.ts +2 -2
  229. package/es/components/slider/types.js.map +1 -1
  230. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  231. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  232. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  233. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  234. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  235. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  236. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  237. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  238. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  239. package/es/extensions/forms/DataContext/Context.d.ts +11 -5
  240. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  241. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  242. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  243. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  244. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  245. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  246. package/es/extensions/forms/DataContext/Provider/Provider.js +36 -35
  247. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  248. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  249. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  250. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  251. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  252. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  253. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  254. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  255. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  256. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  257. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  258. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  259. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  260. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  261. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  262. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  263. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  264. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  265. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  266. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  267. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  268. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  269. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  270. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  271. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  272. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  273. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  274. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  275. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  276. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  277. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  278. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  279. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  280. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  281. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  282. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  283. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  284. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  285. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  286. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  287. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  288. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  289. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  290. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  291. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  292. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  293. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  294. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  295. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  296. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  297. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  298. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  299. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  300. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  301. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  302. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  303. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  304. package/es/extensions/forms/hooks/useFieldProps.js +42 -22
  305. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  306. package/es/extensions/forms/style/dnb-forms.css +17 -0
  307. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  308. package/es/extensions/forms/types.d.ts +9 -1
  309. package/es/extensions/forms/types.js.map +1 -1
  310. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  311. package/es/fragments/drawer-list/DrawerList.js +1 -0
  312. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  313. package/es/shared/Eufemia.d.ts +1 -1
  314. package/es/shared/Eufemia.js +2 -2
  315. package/es/shared/Eufemia.js.map +1 -1
  316. package/es/style/core/scopes.scss +1 -1
  317. package/es/style/dnb-ui-basis.css +1 -1
  318. package/es/style/dnb-ui-basis.min.css +1 -1
  319. package/es/style/dnb-ui-body.css +1 -1
  320. package/es/style/dnb-ui-body.min.css +1 -1
  321. package/es/style/dnb-ui-components.css +53 -4
  322. package/es/style/dnb-ui-components.min.css +2 -2
  323. package/es/style/dnb-ui-core.css +1 -1
  324. package/es/style/dnb-ui-core.min.css +1 -1
  325. package/es/style/dnb-ui-extensions.css +17 -0
  326. package/es/style/dnb-ui-extensions.min.css +1 -1
  327. package/es/style/dnb-ui-forms.css +17 -0
  328. package/es/style/dnb-ui-forms.min.css +1 -1
  329. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  330. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  331. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  332. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  333. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  334. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  335. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  336. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  337. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  338. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  339. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  340. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  341. package/es/style/themes/theme-ui/ui-theme-components.css +70 -4
  342. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  343. package/es/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  344. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  345. package/es/style/themes/theme-ui/ui-theme-forms.css +17 -0
  346. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  347. package/esm/dnb-ui-basis.min.mjs +1 -1
  348. package/esm/dnb-ui-components.min.mjs +1 -1
  349. package/esm/dnb-ui-elements.min.mjs +1 -1
  350. package/esm/dnb-ui-extensions.min.mjs +3 -3
  351. package/esm/dnb-ui-lib.min.mjs +1 -1
  352. package/extensions/forms/DataContext/Context.d.ts +11 -5
  353. package/extensions/forms/DataContext/Context.js.map +1 -1
  354. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  355. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  356. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  357. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  358. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  359. package/extensions/forms/DataContext/Provider/Provider.js +46 -42
  360. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  361. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  362. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  363. package/extensions/forms/Field/Slider/Slider.js +13 -4
  364. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  365. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  366. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  367. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  368. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  369. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  370. package/extensions/forms/Value/ValueDocs.js +5 -0
  371. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  372. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  373. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  374. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  375. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  376. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  377. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  378. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  379. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  380. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  381. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  382. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  383. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  384. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  385. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  386. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  387. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  388. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  389. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  390. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  391. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  392. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  393. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  394. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  395. package/extensions/forms/Wizard/Context/types.js +1 -0
  396. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  397. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  398. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  399. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  400. package/extensions/forms/Wizard/Step/Step.js +29 -10
  401. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  402. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  403. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  404. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  405. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  406. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  407. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  408. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  409. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  410. package/extensions/forms/constants/locales/en-GB.js +2 -1
  411. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  412. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  413. package/extensions/forms/constants/locales/index.d.ts +2 -0
  414. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  415. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  416. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  417. package/extensions/forms/hooks/useFieldProps.js +41 -23
  418. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  419. package/extensions/forms/style/dnb-forms.css +17 -0
  420. package/extensions/forms/style/dnb-forms.min.css +1 -1
  421. package/extensions/forms/types.d.ts +9 -1
  422. package/extensions/forms/types.js.map +1 -1
  423. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  424. package/fragments/drawer-list/DrawerList.js +1 -0
  425. package/fragments/drawer-list/DrawerList.js.map +1 -1
  426. package/package.json +1 -1
  427. package/shared/Eufemia.d.ts +1 -1
  428. package/shared/Eufemia.js +2 -2
  429. package/shared/Eufemia.js.map +1 -1
  430. package/style/core/scopes.scss +1 -1
  431. package/style/dnb-ui-basis.css +1 -1
  432. package/style/dnb-ui-basis.min.css +1 -1
  433. package/style/dnb-ui-body.css +1 -1
  434. package/style/dnb-ui-body.min.css +1 -1
  435. package/style/dnb-ui-components.css +53 -4
  436. package/style/dnb-ui-components.min.css +2 -2
  437. package/style/dnb-ui-core.css +1 -1
  438. package/style/dnb-ui-core.min.css +1 -1
  439. package/style/dnb-ui-extensions.css +17 -0
  440. package/style/dnb-ui-extensions.min.css +1 -1
  441. package/style/dnb-ui-forms.css +17 -0
  442. package/style/dnb-ui-forms.min.css +1 -1
  443. package/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  444. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  445. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  446. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  447. package/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  448. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  450. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  451. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  452. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  453. package/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  454. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  455. package/style/themes/theme-ui/ui-theme-components.css +70 -4
  456. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  457. package/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  458. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  459. package/style/themes/theme-ui/ui-theme-forms.css +17 -0
  460. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  461. package/umd/dnb-ui-basis.min.js +1 -1
  462. package/umd/dnb-ui-components.min.js +1 -1
  463. package/umd/dnb-ui-elements.min.js +1 -1
  464. package/umd/dnb-ui-extensions.min.js +1 -1
  465. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderDocs.js","names":["ProviderProperties","defaultData","doc","type","status","data","id","schema","errorMessages","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","ajvInstance","transformIn","transformOut","globalStatusId","required","disabled","locale","children","exports","ProviderEvents","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/ProviderDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ProviderProperties: PropertiesTableProps = {\n defaultData: {\n doc: 'Default source data, only used if no other source is available, and not leading to updates if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Dynamic source data used as both initial data, and updates internal data if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n id: {\n doc: 'Unique id for connecting Form.Handler and helper tools such as Form.useData.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n schema: {\n doc: 'JSON Schema for validation of the data set.',\n type: 'object',\n status: 'optional',\n },\n errorMessages: {\n doc: 'Object containing error messages by either type of JSON Pointer path and type.',\n type: 'object',\n status: 'optional',\n },\n minimumAsyncBehaviorTime: {\n doc: 'Minimum time to display the submit indicator. Default is 1s.',\n type: 'boolean',\n status: 'optional',\n },\n asyncSubmitTimeout: {\n doc: 'The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission. Default is 30s.',\n type: 'boolean',\n status: 'optional',\n },\n scrollTopOnSubmit: {\n doc: 'True for the UI to scroll to the top of the page when data is submitted.',\n type: 'boolean',\n status: 'optional',\n },\n sessionStorageId: {\n doc: 'Key for saving active data to session storage and loading it on mount.',\n type: 'string',\n status: 'optional',\n },\n ajvInstance: {\n doc: 'Provide your own custom Ajv instance. More info in the [Schema validation](/uilib/extensions/forms/Form/schema-validation/#custom-ajv-instance-and-keywords) section.',\n type: 'ajv',\n status: 'optional',\n },\n transformIn: {\n doc: \"Mutate the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n transformOut: {\n doc: \"Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n globalStatusId: {\n doc: 'If needed, you can define a custom [GlobalStatus](/uilib/components/global-status) id. Defaults to `main`.',\n type: 'string',\n status: 'optional',\n },\n required: {\n doc: 'Make all fields required.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'Disable all fields.',\n type: 'boolean',\n status: 'optional',\n },\n locale: {\n doc: 'Locale (language) to use for all nested Eufemia components.',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const ProviderEvents: PropertiesTableProps = {\n onChange: {\n doc: \"Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument. When an async function is provided, it will show an indicator on the current label during a field change. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` in addition to { success: 'saved' } indicate the field was saved. Will emit unvalidated by default and validated when an async function is provided (like `onSubmit`). The second parameter is an object containing the `filterData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onPathChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the `path` (JSON Pointer) and new `value` as arguments. Can be an async function. Will emit unvalidated by default and validated when `onChange` is an async function.',\n type: 'function',\n status: 'optional',\n },\n onSubmit: {\n doc: \"Will be called (on validation success) when the user submit the form (i.e by clicking a [SubmitButton](/uilib/extensions/forms/Form/SubmitButton) component inside), with the data set as argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ status: 'pending', info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` to be shown in a [FormStatus](/uilib/components/form-status). Will only emit when every validation has passed. The second parameter is an object containing the `filterData`, `reduceToVisibleFields`, `transformData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onSubmitRequest: {\n doc: 'Will be called when the user tries to submit, but errors stop the data from being submitted.',\n type: 'function',\n status: 'optional',\n },\n onSubmitComplete: {\n doc: 'Will be called after onSubmit has finished and had not errors. It supports the same return values as `onSubmit` and will be merged together.',\n type: 'function',\n status: 'optional',\n },\n onClear: {\n doc: 'Will be called when the form is cleared via `Form.clearData` or via the `onSubmit` event (or `onCommit`) argument `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProviderDocs.js","names":["ProviderProperties","defaultData","doc","type","status","data","id","schema","errorMessages","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","ajvInstance","transformIn","transformOut","globalStatusId","required","disabled","locale","children","exports","ProviderEvents","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/ProviderDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ProviderProperties: PropertiesTableProps = {\n defaultData: {\n doc: 'Default source data, only used if no other source is available, and not leading to updates if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Dynamic source data used as both initial data, and updates internal data if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n id: {\n doc: 'Unique id for connecting Form.Handler and helper tools such as Form.useData.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n schema: {\n doc: 'JSON Schema for validation of the data set.',\n type: 'object',\n status: 'optional',\n },\n errorMessages: {\n doc: 'Object containing error messages by either type of JSON Pointer path and type.',\n type: 'object',\n status: 'optional',\n },\n minimumAsyncBehaviorTime: {\n doc: 'Minimum time to display the submit indicator. Default is 1s.',\n type: 'boolean',\n status: 'optional',\n },\n asyncSubmitTimeout: {\n doc: 'The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission. Default is 30s.',\n type: 'boolean',\n status: 'optional',\n },\n scrollTopOnSubmit: {\n doc: 'True for the UI to scroll to the top of the page when data is submitted.',\n type: 'boolean',\n status: 'optional',\n },\n sessionStorageId: {\n doc: 'Key for saving active data to session storage and loading it on mount.',\n type: 'string',\n status: 'optional',\n },\n ajvInstance: {\n doc: 'Provide your own custom Ajv instance. More info in the [Schema validation](/uilib/extensions/forms/Form/schema-validation/#custom-ajv-instance-and-keywords) section.',\n type: 'ajv',\n status: 'optional',\n },\n transformIn: {\n doc: \"Mutate the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n transformOut: {\n doc: \"Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n globalStatusId: {\n doc: 'If needed, you can define a custom [GlobalStatus](/uilib/components/global-status) id. Defaults to `main`.',\n type: 'string',\n status: 'optional',\n },\n required: {\n doc: 'Make all fields required.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'Disable all fields.',\n type: 'boolean',\n status: 'optional',\n },\n locale: {\n doc: 'Locale (language) to use for all nested Eufemia components.',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const ProviderEvents: PropertiesTableProps = {\n onChange: {\n doc: \"Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument. When an async function is provided, it will show an indicator on the current label during a field change. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` in addition to { success: 'saved' } indicate the field was saved. Will emit unvalidated by default and validated when an async function is provided (like `onSubmit`). The second parameter is an object containing the `filterData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onPathChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the `path` (JSON Pointer) and new `value` as arguments. Can be an async function. Will emit unvalidated by default and validated when `onChange` is an async function.',\n type: 'function',\n status: 'optional',\n },\n onSubmit: {\n doc: \"Will be called (on validation success) when the user submit the form (i.e by clicking a [SubmitButton](/uilib/extensions/forms/Form/SubmitButton) component inside), with the data set as argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ status: 'pending', info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` to be shown in a [FormStatus](/uilib/components/form-status). Will only emit when every validation has passed. The second parameter is an object containing the `filterData`, `reduceToVisibleFields`, `transformData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onSubmitRequest: {\n doc: 'Will be called when the user tries to submit, but errors stop the data from being submitted. The first parameter is aa object containing the `getErrors` method, returning an array with field errors. Each error object contains the `path`, `error` and `props` of the field. You can use this to log the errors before the form is submitted.',\n type: 'function',\n status: 'optional',\n },\n onSubmitComplete: {\n doc: 'Will be called after onSubmit has finished and had not errors. It supports the same return values as `onSubmit` and will be merged together.',\n type: 'function',\n status: 'optional',\n },\n onClear: {\n doc: 'Will be called when the form is cleared via `Form.clearData` or via the `onSubmit` event (or `onCommit`) argument `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ var _Slider = _interopRequireDefault(require("../../../../components/Slider"));
13
13
  var _utils = require("../../../../components/flex/utils");
14
14
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
15
15
  var _useDataValue = _interopRequireDefault(require("../../hooks/useDataValue"));
16
+ var _shared = require("../../../../shared");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
18
19
  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; }
@@ -25,6 +26,12 @@ function SliderComponent(props) {
25
26
  var _ref, _ref2, _props$paths;
26
27
  const dataContextRef = (0, _react.useRef)();
27
28
  dataContextRef.current = (0, _react.useContext)(_Context.default);
29
+ const {
30
+ Slider: {
31
+ addTitle: addTitleLabel,
32
+ subtractTitle: subtractTitleLabel
33
+ }
34
+ } = (0, _shared.useTranslation)();
28
35
  const {
29
36
  getSourceValue
30
37
  } = (0, _useDataValue.default)();
@@ -53,10 +60,10 @@ function SliderComponent(props) {
53
60
  vertical,
54
61
  reverse,
55
62
  hideButtons,
56
- multiThumbBehavior,
63
+ multiThumbBehavior = 'swap',
57
64
  thumbTitle,
58
- subtractTitle,
59
- addTitle,
65
+ subtractTitle = subtractTitleLabel,
66
+ addTitle = addTitleLabel,
60
67
  numberFormat,
61
68
  tooltip,
62
69
  alwaysShowTooltip,
@@ -88,10 +95,12 @@ function SliderComponent(props) {
88
95
  handleChange === null || handleChange === void 0 ? void 0 : handleChange(value);
89
96
  }, [handleChange, props.paths]);
90
97
  const fieldBlockProps = _objectSpread({
91
- forId: id,
98
+ id: id,
99
+ forId: `${id}-slider-thumb-0`,
92
100
  width
93
101
  }, (0, _utils.pickSpacingProps)(props));
94
102
  const sliderProps = {
103
+ id: `${id}-slider`,
95
104
  value,
96
105
  step,
97
106
  min,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_SliderHelpers","_Slider","_utils","_Context","_useDataValue","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","SliderComponent","props","_ref","_ref2","_props$paths","dataContextRef","useRef","current","useContext","DataContext","getSourceValue","useDataValue","getValues","useCallback","Array","isArray","map","s","paths","path","defaultValue","preparedProps","step","min","max","id","itemPath","width","hasError","disabled","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","handleChange","handleFocus","handleBlur","setDisplayValue","useFieldProps","omitMultiplePathWarning","useMemo","number","getFormattedNumber","handleLocalChange","_ref3","updateDataValue","fieldBlockProps","forId","pickSpacingProps","sliderProps","status","on_change","on_drag_start","on_drag_end","stretch","createElement","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps, Path } from '../../types'\nimport { getFormattedNumber } from '../../../../components/slider/SliderHelpers'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n}\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(\n props.paths ?? props.path ?? props.value ?? props.defaultValue\n )\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n path,\n itemPath,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n hasError,\n disabled,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n handleChange,\n handleFocus,\n handleBlur,\n setDisplayValue,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n useMemo(() => {\n if ((path || itemPath) && numberFormat) {\n const { number } = getFormattedNumber(value, numberFormat)\n setDisplayValue(number)\n }\n }, [itemPath, numberFormat, path, setDisplayValue, value])\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_SliderHelpers","_Slider","_utils","_Context","_useDataValue","_shared","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","SliderComponent","props","_ref","_ref2","_props$paths","dataContextRef","useRef","current","useContext","DataContext","Slider","addTitle","addTitleLabel","subtractTitle","subtractTitleLabel","useSharedTranslation","getSourceValue","useDataValue","getValues","useCallback","Array","isArray","map","s","paths","path","defaultValue","preparedProps","step","min","max","id","itemPath","width","hasError","disabled","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","handleChange","handleFocus","handleBlur","setDisplayValue","useFieldProps","omitMultiplePathWarning","useMemo","number","getFormattedNumber","handleLocalChange","_ref3","updateDataValue","fieldBlockProps","forId","pickSpacingProps","sliderProps","status","on_change","on_drag_start","on_drag_end","stretch","createElement","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps, Path } from '../../types'\nimport { getFormattedNumber } from '../../../../components/slider/SliderHelpers'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n}\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n const {\n Slider: { addTitle: addTitleLabel, subtractTitle: subtractTitleLabel },\n } = useSharedTranslation()\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(\n props.paths ?? props.path ?? props.value ?? props.defaultValue\n )\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n path,\n itemPath,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n hasError,\n disabled,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior = 'swap',\n thumbTitle,\n subtractTitle = subtractTitleLabel,\n addTitle = addTitleLabel,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n handleChange,\n handleFocus,\n handleBlur,\n setDisplayValue,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n useMemo(() => {\n if ((path || itemPath) && numberFormat) {\n const { number } = getFormattedNumber(value, numberFormat)\n setDisplayValue(number)\n }\n }, [itemPath, numberFormat, path, setDisplayValue, value])\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n id: id,\n forId: `${id}-slider-thumb-0`,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n id: `${id}-slider`,\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -58,7 +58,7 @@ function FieldBlock(props) {
58
58
  required,
59
59
  info,
60
60
  warning,
61
- error: errorProp,
61
+ error,
62
62
  disableStatusSummary,
63
63
  fieldState,
64
64
  disabled,
@@ -73,6 +73,9 @@ function FieldBlock(props) {
73
73
  rest = _objectWithoutProperties(_Object$assign, _excluded);
74
74
  const hasCustomWidth = /\d(rem)$/.test(String(width));
75
75
  const hasCustomContentWidth = /\d(rem)$/.test(String(contentWidth));
76
+ const infoRef = (0, _react.useRef)();
77
+ const warningRef = (0, _react.useRef)();
78
+ const errorRef = (0, _react.useRef)();
76
79
  const blockId = (0, _useId.default)(props.id);
77
80
  const [salt, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
78
81
  const mountedFieldsRef = (0, _react.useRef)({});
@@ -80,9 +83,7 @@ function FieldBlock(props) {
80
83
  const stateRecordRef = (0, _react.useRef)({});
81
84
  const fieldStateIdsRef = (0, _react.useRef)(null);
82
85
  const contentsRef = (0, _react.useRef)(null);
83
- const hasInitiallyErrorProp = (0, _react.useMemo)(() => {
84
- return Boolean(errorProp);
85
- }, []);
86
+ const hasInitiallyErrorPropRef = (0, _react.useRef)(Boolean(error));
86
87
  const label = (0, _useIItemNo.useIterateItemNo)({
87
88
  label: labelProp,
88
89
  labelSuffix,
@@ -144,15 +145,17 @@ function FieldBlock(props) {
144
145
  }
145
146
  }, [nestedFieldBlockContext]);
146
147
  const statusContent = (0, _react.useMemo)(() => {
147
- if (typeof errorProp !== 'undefined') {
148
+ if (typeof error !== 'undefined' || errorRef.current && !error) {
149
+ errorRef.current = error;
148
150
  setInternalRecord({
149
151
  identifier: blockId,
150
- showInitially: hasInitiallyErrorProp,
152
+ showInitially: hasInitiallyErrorPropRef.current,
151
153
  type: 'error',
152
- content: errorProp
154
+ content: error
153
155
  });
154
156
  }
155
- if (typeof warning !== 'undefined') {
157
+ if (typeof warning !== 'undefined' || warningRef.current !== warning) {
158
+ warningRef.current = warning;
156
159
  setInternalRecord({
157
160
  identifier: blockId,
158
161
  showInitially: true,
@@ -160,7 +163,8 @@ function FieldBlock(props) {
160
163
  content: warning
161
164
  });
162
165
  }
163
- if (typeof info !== 'undefined') {
166
+ if (typeof info !== 'undefined' || infoRef.current !== info) {
167
+ infoRef.current = info;
164
168
  setInternalRecord({
165
169
  identifier: blockId,
166
170
  showInitially: true,
@@ -242,12 +246,12 @@ function FieldBlock(props) {
242
246
  }
243
247
  return acc;
244
248
  }, salt);
245
- }, [errorProp, warning, info, salt, setInternalRecord, blockId, hasInitiallyErrorProp, props.id, forId, label]);
249
+ }, [error, warning, info, salt, setInternalRecord, blockId, props.id, forId, label]);
246
250
  (0, _react.useEffect)(() => {
247
251
  if (!nestedFieldBlockContext) {
248
- showFieldError(blockId, Boolean(errorProp));
252
+ showFieldError(blockId, Boolean(error));
249
253
  }
250
- }, [errorProp, blockId, showFieldError, nestedFieldBlockContext]);
254
+ }, [error, blockId, showFieldError, nestedFieldBlockContext]);
251
255
  (0, _react.useEffect)(() => () => {
252
256
  mountedFieldsRef.current = {};
253
257
  stateRecordRef.current = {};
@@ -300,7 +304,7 @@ function FieldBlock(props) {
300
304
  setBlockRecord,
301
305
  setFieldState,
302
306
  showFieldError,
303
- hasErrorProp: Boolean(errorProp),
307
+ hasErrorProp: Boolean(error),
304
308
  fieldStateIdsRef,
305
309
  mountedFieldsRef,
306
310
  composition,
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_components","_elements","_componentHelper","_useId","_HelpButtonInline","_SubmitIndicator","_useSharedState","_useTranslation","_utils","_useIItemNo","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","_props$id","dataContext","useContext","DataContext","fieldBlockContext","FieldBlockContext","nestedFieldBlockContext","disableStatusSummary","id","useId","forId","sharedData","createSharedState","_Object$assign","data","className","layout","layoutOptions","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","help","asFieldset","required","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","labelHeight","align","labelSize","contentClassName","children","rest","hasCustomWidth","test","hasCustomContentWidth","blockId","salt","forceUpdate","useReducer","mountedFieldsRef","useRef","fieldStateRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","useIterateItemNo","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setBlockRecordNested","setBlockRecord","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","messages","getMessagesFromError","message","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","convertJsxToString","createElement","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","size","mainStyle","_lO$minWidth","_lO$maxWidth","style","lO","min","getFieldWidth","minWidth","max","maxWidth","prerenderFieldProps","hasLabelDescription","isFragment","fragmentHasChildren","fragmentHasOnlyUndefinedChildren","hasHelp","title","Provider","hasErrorProp","Space","FormLabel","contentId","HelpButtonInlineContent","breakout","outset","parseFloat","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","useTranslation","Field","Fragment","errorSummary","stateSummary","Ul","_ref5","Li","FormError","Array","isArray","errors","Error","React","isValidElement","toString","fragment","Children","isUndefined","toArray","every","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n SubmitState,\n Identifier,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../components/help-button/HelpButtonInline'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\nimport { FormError } from '../utils'\nimport { useIterateItemNo } from '../Iterate/ItemNo/useIItemNo'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\n/**\n * The width of a field block\n */\nexport type CustomWidth = `${number}rem`\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n | CustomWidth\nexport type FieldBlockHorizontalLabelWidth =\n | 'small'\n | 'medium'\n | 'large'\n | CustomWidth\nexport type FieldBlockHorizontalLabelHeight =\n | 'default'\n | 'small'\n | 'medium'\n | 'large'\n\nexport type SharedFieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'vertical' | 'horizontal'\n /** Use this to set additional options for the layout */\n layoutOptions?: {\n width?: FieldBlockHorizontalLabelWidth\n minWidth?: FieldBlockHorizontalLabelWidth\n maxWidth?: FieldBlockHorizontalLabelWidth\n }\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Width of outer block element\n */\n width?: FieldBlockWidth\n /**\n * Width of contents block, while label etc can be wider if space is available\n */\n contentWidth?: FieldBlockWidth\n /**\n * Provide help content for the field.\n */\n help?: HelpProps\n}\n\nexport type Props = SharedFieldBlockProps &\n Pick<\n FieldProps,\n keyof ComponentProps | 'info' | 'warning' | 'error' | 'disabled'\n > & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** Defines the height of an component (size prop), so the label can be aligned correctly */\n labelHeight?: FieldBlockHorizontalLabelHeight\n /** Disable the error summary for this field block */\n disableStatusSummary?: boolean\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n } & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const nestedFieldBlockContext = !fieldBlockContext?.disableStatusSummary\n ? fieldBlockContext\n : null\n\n const id = useId(props.id ?? props.forId)\n const sharedData = createSharedState<Props>('field-block-props-' + id)\n const {\n className,\n forId,\n layout = 'vertical',\n layoutOptions,\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n help,\n asFieldset,\n required,\n info,\n warning,\n error: errorProp,\n disableStatusSummary,\n fieldState,\n disabled,\n width,\n contentWidth,\n labelHeight,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n const hasCustomWidth = /\\d(rem)$/.test(String(width))\n const hasCustomContentWidth = /\\d(rem)$/.test(String(contentWidth))\n\n const blockId = useId(props.id)\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const fieldStateRef = useRef<SubmitState>(null)\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useIterateItemNo({\n label: labelProp,\n labelSuffix,\n required,\n })\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setBlockRecordNested = nestedFieldBlockContext?.setBlockRecord\n const setBlockRecord = useCallback(\n (props: StateBasis) => {\n if (setBlockRecordNested) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n setBlockRecordNested(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [setBlockRecordNested, setInternalRecord]\n )\n\n const setFieldState = useCallback(\n (identifier: Identifier, fieldState: SubmitState) => {\n if (fieldState !== fieldStateRef.current) {\n fieldStateRef.current = fieldState\n\n forceUpdate()\n }\n },\n []\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const messages = getMessagesFromError(cur).map((message) => {\n return {\n ...cur,\n message,\n }\n })\n\n if (existing) {\n existing.messages.push(...messages)\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages,\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n children: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, salt) as StatusContent\n }, [\n errorProp,\n warning,\n info,\n salt,\n setInternalRecord,\n blockId,\n hasInitiallyErrorProp,\n props.id,\n forId,\n label,\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width &&\n `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`,\n contentWidth &&\n `dnb-forms-field-block--content-width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n labelHeight && `dnb-forms-field-block--label-height-${labelHeight}`,\n composition && 'dnb-forms-field-block__composition',\n composition &&\n `dnb-forms-field-block__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n id: `${id}-label`,\n className: 'dnb-forms-field-block__label',\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: 0, // Use CSS for spacing, but we need to reset space for doing so\n size: labelSize,\n disabled,\n }\n\n const mainStyle = useMemo(() => {\n const style: React.CSSProperties = {}\n\n if (hasCustomWidth) {\n style['--dnb-forms-field-block-width'] = width\n }\n\n if (hasCustomContentWidth) {\n style['--dnb-forms-field-block-content-width'] = contentWidth\n }\n\n const lO = layoutOptions || {}\n const min = getFieldWidth(lO.minWidth ?? lO.width)\n const max = getFieldWidth(lO.maxWidth ?? lO.width)\n\n if (typeof min === 'string') {\n style['--dnb-forms-field-block-layout-width-min'] = min\n }\n if (typeof max === 'string') {\n style['--dnb-forms-field-block-layout-width-max'] = max\n }\n\n return style\n }, [\n contentWidth,\n hasCustomContentWidth,\n hasCustomWidth,\n layoutOptions,\n width,\n ])\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n const hasLabelDescription = isFragment(labelDescription)\n ? fragmentHasChildren(labelDescription) &&\n !fragmentHasOnlyUndefinedChildren(labelDescription)\n : labelDescription\n const hasHelp = help?.title || help?.content\n\n return (\n <FieldBlockContext.Provider\n value={{\n setBlockRecord,\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n disableStatusSummary,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n style={mainStyle}\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {(label || labelDescription || hasHelp) && (\n <FormLabel {...labelProps}>\n <span>\n {label && (\n <span className=\"dnb-forms-field-block__label__content\">\n {label}\n </span>\n )}\n\n {hasLabelDescription && (\n <span className=\"dnb-forms-field-block__label__description\">\n {labelDescription}\n </span>\n )}\n\n {hasHelp && (\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n )}\n </span>\n </FormLabel>\n )}\n\n {hasHelp && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n className=\"dnb-forms-field-block__help\"\n help={help}\n breakout={\n layout === 'vertical' &&\n !nestedFieldBlockContext?.composition\n }\n outset={layout !== 'horizontal'}\n />\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__status',\n\n // Handle the width of the status messages\n contentWidth &&\n contentWidth !== 'small' &&\n contentWidth !== 'medium' &&\n !(parseFloat(contentWidth) <= 11) &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`\n )}\n >\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n\n <SubmitIndicator\n state={fieldState ?? fieldStateRef.current}\n className=\"dnb-forms-field-block__indicator dnb-forms-submit-indicator--inline-wrap\"\n />\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nexport function getMessagesFromError(\n item: Partial<StateWithMessage>\n): Array<StateMessage> {\n const { content } = item\n\n if (content instanceof FormError && Array.isArray(content.errors)) {\n return content.errors.map((error) => {\n return error.message\n })\n }\n\n if (Array.isArray(content)) {\n return content.map((content) => {\n return content instanceof FormError || content instanceof Error\n ? content.message\n : content\n })\n }\n\n if (content instanceof FormError || content instanceof Error) {\n return [content.message as StateMessage]\n }\n\n return [\n ((React.isValidElement(content) ? content : content?.toString()) ||\n content) as StateMessage,\n ]\n}\n\nfunction isFragment(fragment: React.ReactNode) {\n return React.isValidElement(fragment) && fragment.type === React.Fragment\n}\n\nfunction fragmentHasChildren(fragment: React.ReactNode) {\n return (\n React.isValidElement(fragment) &&\n React.Children.count(fragment.props.children) > 0\n )\n}\n\nfunction fragmentHasOnlyUndefinedChildren(fragment: React.ReactNode) {\n const isUndefined = (child) => child === undefined\n\n return (\n React.isValidElement(fragment) &&\n React.Children.toArray(fragment.props.children).every(isUndefined)\n )\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n\nfunction getFieldWidth(width: FieldBlockHorizontalLabelWidth) {\n switch (width) {\n case 'small':\n return 'var(--forms-field-width--small)'\n case 'medium':\n return 'var(--forms-field-width--medium)'\n case 'large':\n return 'var(--forms-field-width--large)'\n }\n\n return width\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_components","_elements","_componentHelper","_useId","_HelpButtonInline","_SubmitIndicator","_useSharedState","_useTranslation","_utils","_useIItemNo","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","_props$id","dataContext","useContext","DataContext","fieldBlockContext","FieldBlockContext","nestedFieldBlockContext","disableStatusSummary","id","useId","forId","sharedData","createSharedState","_Object$assign","data","className","layout","layoutOptions","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","help","asFieldset","required","info","warning","error","fieldState","disabled","width","contentWidth","labelHeight","align","labelSize","contentClassName","children","rest","hasCustomWidth","test","hasCustomContentWidth","infoRef","useRef","warningRef","errorRef","blockId","salt","forceUpdate","useReducer","mountedFieldsRef","fieldStateRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorPropRef","Boolean","useIterateItemNo","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setBlockRecordNested","setBlockRecord","setFieldState","showFieldError","show","map","showInitially","statusContent","useMemo","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","messages","getMessagesFromError","message","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","convertJsxToString","createElement","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","size","mainStyle","_lO$minWidth","_lO$maxWidth","style","lO","min","getFieldWidth","minWidth","max","maxWidth","prerenderFieldProps","hasLabelDescription","isFragment","fragmentHasChildren","fragmentHasOnlyUndefinedChildren","hasHelp","title","Provider","hasErrorProp","Space","FormLabel","contentId","HelpButtonInlineContent","breakout","outset","parseFloat","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","useTranslation","Field","Fragment","errorSummary","stateSummary","Ul","_ref5","Li","FormError","Array","isArray","errors","Error","React","isValidElement","toString","fragment","Children","isUndefined","toArray","every","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n SubmitState,\n Identifier,\n UseFieldProps,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../components/help-button/HelpButtonInline'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\nimport { FormError } from '../utils'\nimport { useIterateItemNo } from '../Iterate/ItemNo/useIItemNo'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\n/**\n * The width of a field block\n */\nexport type CustomWidth = `${number}rem`\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n | CustomWidth\nexport type FieldBlockHorizontalLabelWidth =\n | 'small'\n | 'medium'\n | 'large'\n | CustomWidth\nexport type FieldBlockHorizontalLabelHeight =\n | 'default'\n | 'small'\n | 'medium'\n | 'large'\n\nexport type SharedFieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'vertical' | 'horizontal'\n /** Use this to set additional options for the layout */\n layoutOptions?: {\n width?: FieldBlockHorizontalLabelWidth\n minWidth?: FieldBlockHorizontalLabelWidth\n maxWidth?: FieldBlockHorizontalLabelWidth\n }\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Width of outer block element\n */\n width?: FieldBlockWidth\n /**\n * Width of contents block, while label etc can be wider if space is available\n */\n contentWidth?: FieldBlockWidth\n /**\n * Provide help content for the field.\n */\n help?: HelpProps\n}\n\nexport type Props = SharedFieldBlockProps &\n Pick<\n FieldProps,\n keyof ComponentProps | 'info' | 'warning' | 'error' | 'disabled'\n > & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** Defines the height of an component (size prop), so the label can be aligned correctly */\n labelHeight?: FieldBlockHorizontalLabelHeight\n /** Disable the error summary for this field block */\n disableStatusSummary?: boolean\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n } & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const nestedFieldBlockContext = !fieldBlockContext?.disableStatusSummary\n ? fieldBlockContext\n : null\n\n const id = useId(props.id ?? props.forId)\n const sharedData = createSharedState<Props>('field-block-props-' + id)\n const {\n className,\n forId,\n layout = 'vertical',\n layoutOptions,\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n help,\n asFieldset,\n required,\n info,\n warning,\n error,\n disableStatusSummary,\n fieldState,\n disabled,\n width,\n contentWidth,\n labelHeight,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n const hasCustomWidth = /\\d(rem)$/.test(String(width))\n const hasCustomContentWidth = /\\d(rem)$/.test(String(contentWidth))\n\n const infoRef = useRef<UseFieldProps['info']>()\n const warningRef = useRef<UseFieldProps['warning']>()\n const errorRef = useRef<UseFieldProps['error']>()\n\n const blockId = useId(props.id)\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const fieldStateRef = useRef<SubmitState>(null)\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorPropRef = useRef(Boolean(error))\n\n const label = useIterateItemNo({\n label: labelProp,\n labelSuffix,\n required,\n })\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setBlockRecordNested = nestedFieldBlockContext?.setBlockRecord\n const setBlockRecord = useCallback(\n (props: StateBasis) => {\n if (setBlockRecordNested) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n setBlockRecordNested(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [setBlockRecordNested, setInternalRecord]\n )\n\n const setFieldState = useCallback(\n (identifier: Identifier, fieldState: SubmitState) => {\n if (fieldState !== fieldStateRef.current) {\n fieldStateRef.current = fieldState\n\n forceUpdate()\n }\n },\n []\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof error !== 'undefined' || (errorRef.current && !error)) {\n errorRef.current = error\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorPropRef.current,\n type: 'error',\n content: error,\n })\n }\n\n if (typeof warning !== 'undefined' || warningRef.current !== warning) {\n warningRef.current = warning\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined' || infoRef.current !== info) {\n infoRef.current = info\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const messages = getMessagesFromError(cur).map((message) => {\n return {\n ...cur,\n message,\n }\n })\n\n if (existing) {\n existing.messages.push(...messages)\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages,\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n children: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, salt) as StatusContent\n }, [\n error,\n warning,\n info,\n salt,\n setInternalRecord,\n blockId,\n props.id,\n forId,\n label,\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(error))\n }\n }, [error, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width &&\n `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`,\n contentWidth &&\n `dnb-forms-field-block--content-width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n labelHeight && `dnb-forms-field-block--label-height-${labelHeight}`,\n composition && 'dnb-forms-field-block__composition',\n composition &&\n `dnb-forms-field-block__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n id: `${id}-label`,\n className: 'dnb-forms-field-block__label',\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: 0, // Use CSS for spacing, but we need to reset space for doing so\n size: labelSize,\n disabled,\n }\n\n const mainStyle = useMemo(() => {\n const style: React.CSSProperties = {}\n\n if (hasCustomWidth) {\n style['--dnb-forms-field-block-width'] = width\n }\n\n if (hasCustomContentWidth) {\n style['--dnb-forms-field-block-content-width'] = contentWidth\n }\n\n const lO = layoutOptions || {}\n const min = getFieldWidth(lO.minWidth ?? lO.width)\n const max = getFieldWidth(lO.maxWidth ?? lO.width)\n\n if (typeof min === 'string') {\n style['--dnb-forms-field-block-layout-width-min'] = min\n }\n if (typeof max === 'string') {\n style['--dnb-forms-field-block-layout-width-max'] = max\n }\n\n return style\n }, [\n contentWidth,\n hasCustomContentWidth,\n hasCustomWidth,\n layoutOptions,\n width,\n ])\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n const hasLabelDescription = isFragment(labelDescription)\n ? fragmentHasChildren(labelDescription) &&\n !fragmentHasOnlyUndefinedChildren(labelDescription)\n : labelDescription\n const hasHelp = help?.title || help?.content\n\n return (\n <FieldBlockContext.Provider\n value={{\n setBlockRecord,\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(error),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n disableStatusSummary,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n style={mainStyle}\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {(label || labelDescription || hasHelp) && (\n <FormLabel {...labelProps}>\n <span>\n {label && (\n <span className=\"dnb-forms-field-block__label__content\">\n {label}\n </span>\n )}\n\n {hasLabelDescription && (\n <span className=\"dnb-forms-field-block__label__description\">\n {labelDescription}\n </span>\n )}\n\n {hasHelp && (\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n )}\n </span>\n </FormLabel>\n )}\n\n {hasHelp && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n className=\"dnb-forms-field-block__help\"\n help={help}\n breakout={\n layout === 'vertical' &&\n !nestedFieldBlockContext?.composition\n }\n outset={layout !== 'horizontal'}\n />\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__status',\n\n // Handle the width of the status messages\n contentWidth &&\n contentWidth !== 'small' &&\n contentWidth !== 'medium' &&\n !(parseFloat(contentWidth) <= 11) &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`\n )}\n >\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n\n <SubmitIndicator\n state={fieldState ?? fieldStateRef.current}\n className=\"dnb-forms-field-block__indicator dnb-forms-submit-indicator--inline-wrap\"\n />\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nexport function getMessagesFromError(\n item: Partial<StateWithMessage>\n): Array<StateMessage> {\n const { content } = item\n\n if (content instanceof FormError && Array.isArray(content.errors)) {\n return content.errors.map((error) => {\n return error.message\n })\n }\n\n if (Array.isArray(content)) {\n return content.map((content) => {\n return content instanceof FormError || content instanceof Error\n ? content.message\n : content\n })\n }\n\n if (content instanceof FormError || content instanceof Error) {\n return [content.message as StateMessage]\n }\n\n return [\n ((React.isValidElement(content) ? content : content?.toString()) ||\n content) as StateMessage,\n ]\n}\n\nfunction isFragment(fragment: React.ReactNode) {\n return React.isValidElement(fragment) && fragment.type === React.Fragment\n}\n\nfunction fragmentHasChildren(fragment: React.ReactNode) {\n return (\n React.isValidElement(fragment) &&\n React.Children.count(fragment.props.children) > 0\n )\n}\n\nfunction fragmentHasOnlyUndefinedChildren(fragment: React.ReactNode) {\n const isUndefined = (child) => child === undefined\n\n return (\n React.isValidElement(fragment) &&\n React.Children.toArray(fragment.props.children).every(isUndefined)\n )\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n\nfunction getFieldWidth(width: FieldBlockHorizontalLabelWidth) {\n switch (width) {\n case 'small':\n return 'var(--forms-field-width--small)'\n case 'medium':\n return 'var(--forms-field-width--medium)'\n case 'large':\n return 'var(--forms-field-width--large)'\n }\n\n return width\n}\n"],"mappings":"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"}
@@ -34,9 +34,11 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
34
34
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
35
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
36
36
  function PushContainer(props) {
37
- var _useContext;
38
37
  const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
39
- const requiredInherited = (_useContext = (0, _react.useContext)(_Context.default)) === null || _useContext === void 0 ? void 0 : _useContext.required;
38
+ const {
39
+ data: outerData,
40
+ required: requiredInherited
41
+ } = (0, _react.useContext)(_Context.default) || {};
40
42
  const {
41
43
  data: dataProp,
42
44
  defaultData: defaultDataProp,
@@ -92,6 +94,9 @@ function PushContainer(props) {
92
94
  pushContainerItems: [dataProp !== null && dataProp !== void 0 ? dataProp : _Provider.clearedData]
93
95
  });
94
96
  }, [dataProp, defaultDataProp, isolatedData]);
97
+ if (outerData) {
98
+ Object.assign(data, outerData);
99
+ }
95
100
  const defaultData = (0, _react.useMemo)(() => {
96
101
  return _objectSpread(_objectSpread({}, !dataProp ? isolatedData : null), {}, {
97
102
  pushContainerItems: [defaultDataProp !== null && defaultDataProp !== void 0 ? defaultDataProp : _Provider.clearedData]