@dnb/eufemia 10.32.0 → 10.33.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 (551) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/flex/Container.js +4 -4
  3. package/cjs/components/flex/Container.js.map +1 -1
  4. package/cjs/components/grid/Container.d.ts +2 -2
  5. package/cjs/components/grid/Container.js.map +1 -1
  6. package/cjs/components/grid/ContainerDocs.d.ts +2 -0
  7. package/cjs/components/grid/ContainerDocs.js +30 -0
  8. package/cjs/components/grid/ContainerDocs.js.map +1 -0
  9. package/cjs/components/grid/style/dnb-grid.css +6 -0
  10. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  11. package/cjs/components/grid/style/grid-container.scss +6 -0
  12. package/cjs/components/slider/SliderDocs.d.ts +3 -0
  13. package/cjs/components/slider/SliderDocs.js +158 -0
  14. package/cjs/components/slider/SliderDocs.js.map +1 -0
  15. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -5
  16. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  17. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  18. package/cjs/extensions/forms/DataContext/Provider/Provider.js +13 -3
  19. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  20. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  21. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  22. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  23. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  24. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  25. package/cjs/extensions/forms/Field/Number/Number.js +3 -3
  26. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  27. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  28. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  29. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  30. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  31. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  32. package/cjs/extensions/forms/Field/Selection/Selection.js +3 -3
  33. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  34. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  35. package/cjs/extensions/forms/Field/Slider/Slider.js +115 -0
  36. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -0
  37. package/cjs/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  38. package/cjs/extensions/forms/Field/Slider/SliderDocs.js +34 -0
  39. package/cjs/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  40. package/cjs/extensions/forms/Field/Slider/index.d.ts +2 -0
  41. package/cjs/extensions/forms/Field/Slider/index.js +27 -0
  42. package/cjs/extensions/forms/Field/Slider/index.js.map +1 -0
  43. package/cjs/extensions/forms/Field/String/String.js +2 -2
  44. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
  46. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  47. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  48. package/cjs/extensions/forms/Field/index.js +7 -0
  49. package/cjs/extensions/forms/Field/index.js.map +1 -1
  50. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  51. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  52. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  53. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  54. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -1
  55. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  56. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +52 -21
  57. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  58. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  59. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  60. package/cjs/extensions/forms/Form/Section/Section.d.ts +44 -0
  61. package/cjs/extensions/forms/Form/Section/Section.js +67 -0
  62. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -0
  63. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  64. package/cjs/extensions/forms/Form/Section/SectionContext.js +12 -0
  65. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  66. package/cjs/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  67. package/cjs/extensions/forms/Form/Section/SectionDocs.js +43 -0
  68. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  69. package/cjs/extensions/forms/Form/Section/index.d.ts +2 -0
  70. package/cjs/extensions/forms/Form/Section/index.js +27 -0
  71. package/cjs/extensions/forms/Form/Section/index.js.map +1 -0
  72. package/cjs/extensions/forms/Form/Visibility/Visibility.js +15 -9
  73. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  74. package/cjs/extensions/forms/Form/data-context/useData.js +6 -2
  75. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  76. package/cjs/extensions/forms/Form/index.d.ts +1 -1
  77. package/cjs/extensions/forms/Form/index.js +7 -5
  78. package/cjs/extensions/forms/Form/index.js.map +1 -1
  79. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
  80. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  81. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  82. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  84. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  85. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  86. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  87. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -2
  88. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  89. package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  90. package/cjs/extensions/forms/Tools/GenerateSchema.js +143 -0
  91. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  92. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  93. package/cjs/extensions/forms/Tools/ListAllProps.js +73 -0
  94. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -0
  95. package/{es/extensions/forms/Form → cjs/extensions/forms}/Tools/index.d.ts +1 -0
  96. package/cjs/extensions/forms/{Form/Tools → Tools}/index.js +7 -0
  97. package/cjs/extensions/forms/Tools/index.js.map +1 -0
  98. package/cjs/extensions/forms/Value/Number/Number.js +4 -2
  99. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  100. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  101. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  102. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
  103. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +46 -0
  104. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
  105. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
  106. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js +27 -0
  107. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
  108. package/cjs/extensions/forms/blocks/Category/index.d.ts +1 -0
  109. package/cjs/extensions/forms/blocks/Category/index.js +14 -0
  110. package/cjs/extensions/forms/blocks/Category/index.js.map +1 -0
  111. package/cjs/extensions/forms/blocks/index.d.ts +1 -0
  112. package/cjs/extensions/forms/blocks/index.js +11 -0
  113. package/cjs/extensions/forms/blocks/index.js.map +1 -0
  114. package/cjs/extensions/forms/hooks/index.d.ts +2 -5
  115. package/cjs/extensions/forms/hooks/index.js +12 -4
  116. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  117. package/cjs/extensions/forms/hooks/useDataValue.d.ts +9 -0
  118. package/cjs/extensions/forms/hooks/useDataValue.js +39 -0
  119. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  120. package/cjs/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  121. package/cjs/extensions/forms/hooks/useExternalValue.js +47 -0
  122. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -0
  123. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  124. package/cjs/extensions/forms/hooks/useFieldProps.js +60 -81
  125. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  126. package/cjs/extensions/forms/hooks/usePath.d.ts +14 -0
  127. package/cjs/extensions/forms/hooks/usePath.js +72 -0
  128. package/cjs/extensions/forms/hooks/usePath.js.map +1 -0
  129. package/cjs/extensions/forms/hooks/useValueProps.js +17 -4
  130. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  131. package/cjs/extensions/forms/index.d.ts +2 -0
  132. package/cjs/extensions/forms/index.js +4 -1
  133. package/cjs/extensions/forms/index.js.map +1 -1
  134. package/cjs/extensions/forms/style/dnb-forms.css +0 -1
  135. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  136. package/cjs/extensions/forms/types.d.ts +6 -3
  137. package/cjs/extensions/forms/types.js.map +1 -1
  138. package/cjs/fragments/drawer-list/DrawerListHelpers.js +3 -2
  139. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  140. package/cjs/shared/Context.d.ts +3 -3
  141. package/cjs/shared/Context.js +8 -8
  142. package/cjs/shared/Context.js.map +1 -1
  143. package/cjs/shared/Eufemia.d.ts +1 -1
  144. package/cjs/shared/Eufemia.js +2 -2
  145. package/cjs/shared/Eufemia.js.map +1 -1
  146. package/cjs/style/core/scopes.scss +1 -1
  147. package/cjs/style/dnb-ui-basis.css +1 -1
  148. package/cjs/style/dnb-ui-basis.min.css +1 -1
  149. package/cjs/style/dnb-ui-body.css +1 -1
  150. package/cjs/style/dnb-ui-body.min.css +1 -1
  151. package/cjs/style/dnb-ui-components.css +6 -1
  152. package/cjs/style/dnb-ui-components.min.css +2 -2
  153. package/cjs/style/dnb-ui-core.css +1 -1
  154. package/cjs/style/dnb-ui-core.min.css +1 -1
  155. package/cjs/style/dnb-ui-extensions.css +0 -1
  156. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  157. package/cjs/style/dnb-ui-forms.css +0 -1
  158. package/cjs/style/dnb-ui-forms.min.css +1 -1
  159. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +6 -2
  160. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  161. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
  162. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  163. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +0 -1
  164. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  165. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +6 -2
  166. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  167. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
  168. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  169. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +0 -1
  170. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  171. package/cjs/style/themes/theme-ui/ui-theme-components.css +6 -2
  172. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  173. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +0 -1
  174. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  175. package/cjs/style/themes/theme-ui/ui-theme-forms.css +0 -1
  176. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  177. package/components/flex/Container.js +4 -4
  178. package/components/flex/Container.js.map +1 -1
  179. package/components/grid/Container.d.ts +2 -2
  180. package/components/grid/Container.js.map +1 -1
  181. package/components/grid/ContainerDocs.d.ts +2 -0
  182. package/components/grid/ContainerDocs.js +23 -0
  183. package/components/grid/ContainerDocs.js.map +1 -0
  184. package/components/grid/style/dnb-grid.css +6 -0
  185. package/components/grid/style/dnb-grid.min.css +1 -1
  186. package/components/grid/style/grid-container.scss +6 -0
  187. package/components/slider/SliderDocs.d.ts +3 -0
  188. package/components/slider/SliderDocs.js +150 -0
  189. package/components/slider/SliderDocs.js.map +1 -0
  190. package/es/components/flex/Container.js +4 -4
  191. package/es/components/flex/Container.js.map +1 -1
  192. package/es/components/grid/Container.d.ts +2 -2
  193. package/es/components/grid/Container.js.map +1 -1
  194. package/es/components/grid/ContainerDocs.d.ts +2 -0
  195. package/es/components/grid/ContainerDocs.js +23 -0
  196. package/es/components/grid/ContainerDocs.js.map +1 -0
  197. package/es/components/grid/style/dnb-grid.css +6 -0
  198. package/es/components/grid/style/dnb-grid.min.css +1 -1
  199. package/es/components/grid/style/grid-container.scss +6 -0
  200. package/es/components/slider/SliderDocs.d.ts +3 -0
  201. package/es/components/slider/SliderDocs.js +150 -0
  202. package/es/components/slider/SliderDocs.js.map +1 -0
  203. package/es/extensions/forms/DataContext/Context.d.ts +7 -5
  204. package/es/extensions/forms/DataContext/Context.js +0 -1
  205. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  206. package/es/extensions/forms/DataContext/Provider/Provider.js +14 -4
  207. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  208. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  209. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  210. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  211. package/es/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  212. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  213. package/es/extensions/forms/Field/Number/Number.js +3 -3
  214. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  215. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  216. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  217. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  218. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  219. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  220. package/es/extensions/forms/Field/Selection/Selection.js +3 -3
  221. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  222. package/es/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  223. package/es/extensions/forms/Field/Slider/Slider.js +103 -0
  224. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -0
  225. package/es/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  226. package/es/extensions/forms/Field/Slider/SliderDocs.js +26 -0
  227. package/es/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  228. package/es/extensions/forms/Field/Slider/index.d.ts +2 -0
  229. package/es/extensions/forms/Field/Slider/index.js +3 -0
  230. package/es/extensions/forms/Field/Slider/index.js.map +1 -0
  231. package/es/extensions/forms/Field/String/String.js +2 -2
  232. package/es/extensions/forms/Field/String/String.js.map +1 -1
  233. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -7
  234. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  235. package/es/extensions/forms/Field/index.d.ts +1 -0
  236. package/es/extensions/forms/Field/index.js +1 -0
  237. package/es/extensions/forms/Field/index.js.map +1 -1
  238. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  239. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  240. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  241. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  242. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -1
  243. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  244. package/es/extensions/forms/Form/FieldProps/FieldProps.js +49 -21
  245. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  246. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  247. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  248. package/es/extensions/forms/Form/Section/Section.d.ts +44 -0
  249. package/es/extensions/forms/Form/Section/Section.js +56 -0
  250. package/es/extensions/forms/Form/Section/Section.js.map +1 -0
  251. package/es/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  252. package/es/extensions/forms/Form/Section/SectionContext.js +4 -0
  253. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  254. package/es/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  255. package/es/extensions/forms/Form/Section/SectionDocs.js +35 -0
  256. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  257. package/es/extensions/forms/Form/Section/index.d.ts +2 -0
  258. package/es/extensions/forms/Form/Section/index.js +3 -0
  259. package/es/extensions/forms/Form/Section/index.js.map +1 -0
  260. package/es/extensions/forms/Form/Visibility/Visibility.js +16 -10
  261. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  262. package/es/extensions/forms/Form/data-context/useData.js +6 -2
  263. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  264. package/es/extensions/forms/Form/index.d.ts +1 -1
  265. package/es/extensions/forms/Form/index.js +1 -1
  266. package/es/extensions/forms/Form/index.js.map +1 -1
  267. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
  268. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  269. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  270. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  271. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  272. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  273. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  274. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  275. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -2
  276. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  277. package/es/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  278. package/es/extensions/forms/Tools/GenerateSchema.js +130 -0
  279. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  280. package/es/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  281. package/es/extensions/forms/Tools/ListAllProps.js +65 -0
  282. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -0
  283. package/{extensions/forms/Form → es/extensions/forms}/Tools/index.d.ts +1 -0
  284. package/es/extensions/forms/Tools/index.js +3 -0
  285. package/es/extensions/forms/Tools/index.js.map +1 -0
  286. package/es/extensions/forms/Value/Number/Number.js +4 -2
  287. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  288. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  289. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  290. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
  291. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +39 -0
  292. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
  293. package/es/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
  294. package/es/extensions/forms/blocks/Category/FirstBlock/index.js +3 -0
  295. package/es/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
  296. package/es/extensions/forms/blocks/Category/index.d.ts +1 -0
  297. package/es/extensions/forms/blocks/Category/index.js +1 -0
  298. package/es/extensions/forms/blocks/Category/index.js.map +1 -0
  299. package/es/extensions/forms/blocks/index.d.ts +1 -0
  300. package/es/extensions/forms/blocks/index.js +1 -0
  301. package/es/extensions/forms/blocks/index.js.map +1 -0
  302. package/es/extensions/forms/hooks/index.d.ts +2 -5
  303. package/es/extensions/forms/hooks/index.js +2 -1
  304. package/es/extensions/forms/hooks/index.js.map +1 -1
  305. package/es/extensions/forms/hooks/useDataValue.d.ts +9 -0
  306. package/es/extensions/forms/hooks/useDataValue.js +32 -0
  307. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  308. package/es/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  309. package/es/extensions/forms/hooks/useExternalValue.js +41 -0
  310. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -0
  311. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  312. package/es/extensions/forms/hooks/useFieldProps.js +59 -78
  313. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  314. package/es/extensions/forms/hooks/usePath.d.ts +14 -0
  315. package/es/extensions/forms/hooks/usePath.js +64 -0
  316. package/es/extensions/forms/hooks/usePath.js.map +1 -0
  317. package/es/extensions/forms/hooks/useValueProps.js +16 -4
  318. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  319. package/es/extensions/forms/index.d.ts +2 -0
  320. package/es/extensions/forms/index.js +1 -0
  321. package/es/extensions/forms/index.js.map +1 -1
  322. package/es/extensions/forms/style/dnb-forms.css +0 -1
  323. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  324. package/es/extensions/forms/types.d.ts +6 -3
  325. package/es/extensions/forms/types.js.map +1 -1
  326. package/es/fragments/drawer-list/DrawerListHelpers.js +3 -2
  327. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  328. package/es/shared/Context.d.ts +3 -3
  329. package/es/shared/Context.js +8 -8
  330. package/es/shared/Context.js.map +1 -1
  331. package/es/shared/Eufemia.d.ts +1 -1
  332. package/es/shared/Eufemia.js +2 -2
  333. package/es/shared/Eufemia.js.map +1 -1
  334. package/es/style/core/scopes.scss +1 -1
  335. package/es/style/dnb-ui-basis.css +1 -1
  336. package/es/style/dnb-ui-basis.min.css +1 -1
  337. package/es/style/dnb-ui-body.css +1 -1
  338. package/es/style/dnb-ui-body.min.css +1 -1
  339. package/es/style/dnb-ui-components.css +6 -1
  340. package/es/style/dnb-ui-components.min.css +2 -2
  341. package/es/style/dnb-ui-core.css +1 -1
  342. package/es/style/dnb-ui-core.min.css +1 -1
  343. package/es/style/dnb-ui-extensions.css +0 -1
  344. package/es/style/dnb-ui-extensions.min.css +1 -1
  345. package/es/style/dnb-ui-forms.css +0 -1
  346. package/es/style/dnb-ui-forms.min.css +1 -1
  347. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +6 -2
  348. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  349. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
  350. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  351. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +0 -1
  352. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  353. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +6 -2
  354. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  355. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
  356. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  357. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +0 -1
  358. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  359. package/es/style/themes/theme-ui/ui-theme-components.css +6 -2
  360. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  361. package/es/style/themes/theme-ui/ui-theme-extensions.css +0 -1
  362. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  363. package/es/style/themes/theme-ui/ui-theme-forms.css +0 -1
  364. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  365. package/esm/dnb-ui-basis.min.mjs +1 -1
  366. package/esm/dnb-ui-components.min.mjs +1 -1
  367. package/esm/dnb-ui-elements.min.mjs +1 -1
  368. package/esm/dnb-ui-extensions.min.mjs +3 -3
  369. package/esm/dnb-ui-lib.min.mjs +1 -1
  370. package/extensions/forms/DataContext/Context.d.ts +7 -5
  371. package/extensions/forms/DataContext/Context.js +0 -1
  372. package/extensions/forms/DataContext/Context.js.map +1 -1
  373. package/extensions/forms/DataContext/Provider/Provider.js +14 -4
  374. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  375. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  376. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  377. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  378. package/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  379. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  380. package/extensions/forms/Field/Number/Number.js +3 -3
  381. package/extensions/forms/Field/Number/Number.js.map +1 -1
  382. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  383. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  384. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  385. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  386. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  387. package/extensions/forms/Field/Selection/Selection.js +3 -3
  388. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  389. package/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  390. package/extensions/forms/Field/Slider/Slider.js +104 -0
  391. package/extensions/forms/Field/Slider/Slider.js.map +1 -0
  392. package/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  393. package/extensions/forms/Field/Slider/SliderDocs.js +26 -0
  394. package/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  395. package/extensions/forms/Field/Slider/index.d.ts +2 -0
  396. package/extensions/forms/Field/Slider/index.js +3 -0
  397. package/extensions/forms/Field/Slider/index.js.map +1 -0
  398. package/extensions/forms/Field/String/String.js +2 -2
  399. package/extensions/forms/Field/String/String.js.map +1 -1
  400. package/extensions/forms/Field/Toggle/Toggle.js +7 -7
  401. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  402. package/extensions/forms/Field/index.d.ts +1 -0
  403. package/extensions/forms/Field/index.js +1 -0
  404. package/extensions/forms/Field/index.js.map +1 -1
  405. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  406. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  407. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  408. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  409. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -1
  410. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  411. package/extensions/forms/Form/FieldProps/FieldProps.js +50 -21
  412. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  413. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  414. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  415. package/extensions/forms/Form/Section/Section.d.ts +44 -0
  416. package/extensions/forms/Form/Section/Section.js +56 -0
  417. package/extensions/forms/Form/Section/Section.js.map +1 -0
  418. package/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  419. package/extensions/forms/Form/Section/SectionContext.js +4 -0
  420. package/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  421. package/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  422. package/extensions/forms/Form/Section/SectionDocs.js +35 -0
  423. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  424. package/extensions/forms/Form/Section/index.d.ts +2 -0
  425. package/extensions/forms/Form/Section/index.js +3 -0
  426. package/extensions/forms/Form/Section/index.js.map +1 -0
  427. package/extensions/forms/Form/Visibility/Visibility.js +16 -10
  428. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  429. package/extensions/forms/Form/data-context/useData.js +6 -2
  430. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  431. package/extensions/forms/Form/index.d.ts +1 -1
  432. package/extensions/forms/Form/index.js +1 -2
  433. package/extensions/forms/Form/index.js.map +1 -1
  434. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
  435. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  436. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  437. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  438. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  439. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  440. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  441. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  442. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -2
  443. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  444. package/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  445. package/extensions/forms/Tools/GenerateSchema.js +133 -0
  446. package/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  447. package/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  448. package/extensions/forms/Tools/ListAllProps.js +67 -0
  449. package/extensions/forms/Tools/ListAllProps.js.map +1 -0
  450. package/{cjs/extensions/forms/Form → extensions/forms}/Tools/index.d.ts +1 -0
  451. package/extensions/forms/Tools/index.js +3 -0
  452. package/extensions/forms/Tools/index.js.map +1 -0
  453. package/extensions/forms/Value/Number/Number.js +4 -2
  454. package/extensions/forms/Value/Number/Number.js.map +1 -1
  455. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  456. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  457. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
  458. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +39 -0
  459. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
  460. package/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
  461. package/extensions/forms/blocks/Category/FirstBlock/index.js +3 -0
  462. package/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
  463. package/extensions/forms/blocks/Category/index.d.ts +1 -0
  464. package/extensions/forms/blocks/Category/index.js +1 -0
  465. package/extensions/forms/blocks/Category/index.js.map +1 -0
  466. package/extensions/forms/blocks/index.d.ts +1 -0
  467. package/extensions/forms/blocks/index.js +3 -0
  468. package/extensions/forms/blocks/index.js.map +1 -0
  469. package/extensions/forms/hooks/index.d.ts +2 -5
  470. package/extensions/forms/hooks/index.js +2 -1
  471. package/extensions/forms/hooks/index.js.map +1 -1
  472. package/extensions/forms/hooks/useDataValue.d.ts +9 -0
  473. package/extensions/forms/hooks/useDataValue.js +33 -0
  474. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  475. package/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  476. package/extensions/forms/hooks/useExternalValue.js +41 -0
  477. package/extensions/forms/hooks/useExternalValue.js.map +1 -0
  478. package/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  479. package/extensions/forms/hooks/useFieldProps.js +59 -79
  480. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  481. package/extensions/forms/hooks/usePath.d.ts +14 -0
  482. package/extensions/forms/hooks/usePath.js +66 -0
  483. package/extensions/forms/hooks/usePath.js.map +1 -0
  484. package/extensions/forms/hooks/useValueProps.js +16 -4
  485. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  486. package/extensions/forms/index.d.ts +2 -0
  487. package/extensions/forms/index.js +2 -0
  488. package/extensions/forms/index.js.map +1 -1
  489. package/extensions/forms/style/dnb-forms.css +0 -1
  490. package/extensions/forms/style/dnb-forms.min.css +1 -1
  491. package/extensions/forms/types.d.ts +6 -3
  492. package/extensions/forms/types.js.map +1 -1
  493. package/fragments/drawer-list/DrawerListHelpers.js +3 -2
  494. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  495. package/package.json +1 -1
  496. package/shared/Context.d.ts +3 -3
  497. package/shared/Context.js +8 -8
  498. package/shared/Context.js.map +1 -1
  499. package/shared/Eufemia.d.ts +1 -1
  500. package/shared/Eufemia.js +2 -2
  501. package/shared/Eufemia.js.map +1 -1
  502. package/style/core/scopes.scss +1 -1
  503. package/style/dnb-ui-basis.css +1 -1
  504. package/style/dnb-ui-basis.min.css +1 -1
  505. package/style/dnb-ui-body.css +1 -1
  506. package/style/dnb-ui-body.min.css +1 -1
  507. package/style/dnb-ui-components.css +6 -1
  508. package/style/dnb-ui-components.min.css +2 -2
  509. package/style/dnb-ui-core.css +1 -1
  510. package/style/dnb-ui-core.min.css +1 -1
  511. package/style/dnb-ui-extensions.css +0 -1
  512. package/style/dnb-ui-extensions.min.css +1 -1
  513. package/style/dnb-ui-forms.css +0 -1
  514. package/style/dnb-ui-forms.min.css +1 -1
  515. package/style/themes/theme-eiendom/eiendom-theme-components.css +6 -2
  516. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  517. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
  518. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  519. package/style/themes/theme-eiendom/eiendom-theme-forms.css +0 -1
  520. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  521. package/style/themes/theme-sbanken/sbanken-theme-components.css +6 -2
  522. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  523. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
  524. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  525. package/style/themes/theme-sbanken/sbanken-theme-forms.css +0 -1
  526. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  527. package/style/themes/theme-ui/ui-theme-components.css +6 -2
  528. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  529. package/style/themes/theme-ui/ui-theme-extensions.css +0 -1
  530. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  531. package/style/themes/theme-ui/ui-theme-forms.css +0 -1
  532. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  533. package/umd/dnb-ui-basis.min.js +1 -1
  534. package/umd/dnb-ui-components.min.js +1 -1
  535. package/umd/dnb-ui-elements.min.js +1 -1
  536. package/umd/dnb-ui-extensions.min.js +3 -3
  537. package/umd/dnb-ui-lib.min.js +1 -1
  538. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
  539. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +0 -100
  540. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
  541. package/cjs/extensions/forms/Form/Tools/index.js.map +0 -1
  542. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
  543. package/es/extensions/forms/Form/Tools/GenerateSchema.js +0 -89
  544. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
  545. package/es/extensions/forms/Form/Tools/index.js +0 -1
  546. package/es/extensions/forms/Form/Tools/index.js.map +0 -1
  547. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
  548. package/extensions/forms/Form/Tools/GenerateSchema.js +0 -90
  549. package/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
  550. package/extensions/forms/Form/Tools/index.js +0 -1
  551. package/extensions/forms/Form/Tools/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","omitDataValueReadWriteProps","add","PushButton","props","iterateElementContext","handlePush","pushValue","className","restProps","_objectWithoutProperties","_excluded","buttonProps","value","handleChange","children","undefined","Array","isArray","Error","handleClick","newValue","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps } from '../../hooks'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { add } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]> & {\n pushValue: unknown | ((value: unknown) => void)\n }\n\nfunction PushButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handlePush } = iterateElementContext ?? {}\n\n const { pushValue, className, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const { value, handleChange, children } = useFieldProps(restProps)\n\n if (value !== undefined && !Array.isArray(value)) {\n throw new Error('PushButton received a non-array value.')\n }\n\n const handleClick = useCallback(() => {\n const newValue =\n typeof pushValue === 'function' ? pushValue(value) : pushValue\n\n if (handlePush) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n return // stop here\n }\n\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n handleChange([...(value ?? []), newValue])\n }, [value, pushValue, handlePush, handleChange])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-push-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {children}\n </Button>\n )\n}\n\nPushButton._supportsSpacingProps = true\nexport default PushButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,GAAG,QAAQ,mBAAmB;AAOvC,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,qBAAqB,GAAGT,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAEO;EAAW,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAElD,MAAM;MAAEE,SAAS;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACpD,MAAMC,WAAW,GAAGX,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAM;IAAEI,KAAK;IAAEC,YAAY;IAAEC;EAAS,CAAC,GAAGf,aAAa,CAACS,SAAS,CAAC;EAElE,IAAII,KAAK,KAAKG,SAAS,IAAI,CAACC,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAChD,MAAM,IAAIM,KAAK,CAAC,wCAAwC,CAAC;EAC3D;EAEA,MAAMC,WAAW,GAAGzB,WAAW,CAAC,MAAM;IACpC,MAAM0B,QAAQ,GACZ,OAAOd,SAAS,KAAK,UAAU,GAAGA,SAAS,CAACM,KAAK,CAAC,GAAGN,SAAS;IAEhE,IAAID,UAAU,EAAE;MAEdA,UAAU,CAACe,QAAQ,CAAC;MACpB;IACF;IAGAP,YAAY,CAAC,CAAC,IAAID,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC,EAAEQ,QAAQ,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACR,KAAK,EAAEN,SAAS,EAAED,UAAU,EAAEQ,YAAY,CAAC,CAAC;EAEhD,OACEpB,KAAA,CAAA4B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLf,SAAS,EAAEX,UAAU,CAAC,+BAA+B,EAAEW,SAAS,CAAE;IAClEgB,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAEvB,GAAI;IACVwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAClBR,WAAW,GAEdG,QACK,CAAC;AAEb;AAEAZ,UAAU,CAACyB,qBAAqB,GAAG,IAAI;AACvC,eAAezB,UAAU"}
1
+ {"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","omitDataValueReadWriteProps","add","PushButton","props","iterateElementContext","handlePush","pushValue","className","restProps","_objectWithoutProperties","_excluded","buttonProps","value","handleChange","children","undefined","Array","isArray","Error","handleClick","newValue","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps } from '../../hooks'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { add } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]> & {\n pushValue: unknown | ((value: unknown) => void)\n }\n\nfunction PushButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handlePush } = iterateElementContext ?? {}\n\n const { pushValue, className, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const { value, handleChange, children } = useFieldProps(restProps)\n\n if (value !== undefined && !Array.isArray(value)) {\n throw new Error('PushButton received a non-array value')\n }\n\n const handleClick = useCallback(() => {\n const newValue =\n typeof pushValue === 'function' ? pushValue(value) : pushValue\n\n if (handlePush) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n return // stop here\n }\n\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n handleChange([...(value ?? []), newValue])\n }, [value, pushValue, handlePush, handleChange])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-push-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {children}\n </Button>\n )\n}\n\nPushButton._supportsSpacingProps = true\nexport default PushButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,GAAG,QAAQ,mBAAmB;AAOvC,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,qBAAqB,GAAGT,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAEO;EAAW,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAElD,MAAM;MAAEE,SAAS;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACpD,MAAMC,WAAW,GAAGX,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAM;IAAEI,KAAK;IAAEC,YAAY;IAAEC;EAAS,CAAC,GAAGf,aAAa,CAACS,SAAS,CAAC;EAElE,IAAII,KAAK,KAAKG,SAAS,IAAI,CAACC,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAChD,MAAM,IAAIM,KAAK,CAAC,uCAAuC,CAAC;EAC1D;EAEA,MAAMC,WAAW,GAAGzB,WAAW,CAAC,MAAM;IACpC,MAAM0B,QAAQ,GACZ,OAAOd,SAAS,KAAK,UAAU,GAAGA,SAAS,CAACM,KAAK,CAAC,GAAGN,SAAS;IAEhE,IAAID,UAAU,EAAE;MAEdA,UAAU,CAACe,QAAQ,CAAC;MACpB;IACF;IAGAP,YAAY,CAAC,CAAC,IAAID,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC,EAAEQ,QAAQ,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACR,KAAK,EAAEN,SAAS,EAAED,UAAU,EAAEQ,YAAY,CAAC,CAAC;EAEhD,OACEpB,KAAA,CAAA4B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLf,SAAS,EAAEX,UAAU,CAAC,+BAA+B,EAAEW,SAAS,CAAE;IAClEgB,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAEvB,GAAI;IACVwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAClBR,WAAW,GAEdG,QACK,CAAC;AAEb;AAEAZ,UAAU,CAACyB,qBAAqB,GAAG,IAAI;AACvC,eAAezB,UAAU"}
@@ -17,7 +17,7 @@ function RemoveButton(props) {
17
17
  handleRemove
18
18
  } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
19
19
  if (!iterateElementContext) {
20
- throw new Error('RemoveButton must be inside an Iterate.Array component.');
20
+ throw new Error('RemoveButton must be inside an Iterate.Array');
21
21
  }
22
22
  const {
23
23
  className
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","useTranslation","ElementBlockContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateElementContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","Iterate","textContent","remove","elementBlockContext","handleRemoveBlock","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps, useTranslation } from '../../hooks'\nimport ElementBlockContext from '../AnimatedContainer/ElementBlockContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handleRemove } = iterateElementContext ?? {}\n\n if (!iterateElementContext) {\n throw new Error(\n 'RemoveButton must be inside an Iterate.Array component.'\n )\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().Iterate\n const textContent = text || children || translation.remove\n\n const elementBlockContext = useContext(ElementBlockContext)\n const { handleRemoveBlock } = elementBlockContext ?? {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveBlock) {\n handleRemoveBlock()\n } else {\n handleRemove()\n }\n }, [handleRemove, handleRemoveBlock])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,EAAEC,cAAc,QAAQ,aAAa;AAC3D,OAAOC,mBAAmB,MAAM,0CAA0C;AAC1E,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,qBAAqB,GAAGX,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAES;EAAa,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAEpD,IAAI,CAACA,qBAAqB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CACb,yDACF,CAAC;EACH;EAEA,MAAM;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGf,aAAa,CAACW,SAAS,CAAC;EACnD,MAAMK,WAAW,GAAGb,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAMM,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACiB,OAAO;EAC5C,MAAMC,WAAW,GAAGJ,IAAI,IAAID,QAAQ,IAAIG,WAAW,CAACG,MAAM;EAE1D,MAAMC,mBAAmB,GAAGzB,UAAU,CAACM,mBAAmB,CAAC;EAC3D,MAAM;IAAEoB;EAAkB,CAAC,GAAGD,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,CAAC,CAAC;EAEvD,MAAME,WAAW,GAAG5B,WAAW,CAAC,MAAM;IACpC,IAAI2B,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC,CAAC;IACrB,CAAC,MAAM;MACLd,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEc,iBAAiB,CAAC,CAAC;EAErC,OACE5B,KAAA,CAAA8B,aAAA,CAAC1B,MAAM,EAAA2B,QAAA;IACLf,SAAS,EAAEb,UAAU,CACnB,yCAAyC,EACzCa,SACF,CAAE;IACFgB,OAAO,EAAEP,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDQ,IAAI,EAAEvB,KAAM;IACZwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBP,WAAW,GAEdG,WACK,CAAC;AAEb;AAEAd,YAAY,CAACyB,qBAAqB,GAAG,IAAI;AACzC,eAAezB,YAAY"}
1
+ {"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","useTranslation","ElementBlockContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateElementContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","Iterate","textContent","remove","elementBlockContext","handleRemoveBlock","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps, useTranslation } from '../../hooks'\nimport ElementBlockContext from '../AnimatedContainer/ElementBlockContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handleRemove } = iterateElementContext ?? {}\n\n if (!iterateElementContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().Iterate\n const textContent = text || children || translation.remove\n\n const elementBlockContext = useContext(ElementBlockContext)\n const { handleRemoveBlock } = elementBlockContext ?? {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveBlock) {\n handleRemoveBlock()\n } else {\n handleRemove()\n }\n }, [handleRemove, handleRemoveBlock])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,EAAEC,cAAc,QAAQ,aAAa;AAC3D,OAAOC,mBAAmB,MAAM,0CAA0C;AAC1E,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,qBAAqB,GAAGX,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAES;EAAa,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAEpD,IAAI,CAACA,qBAAqB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGf,aAAa,CAACW,SAAS,CAAC;EACnD,MAAMK,WAAW,GAAGb,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAMM,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACiB,OAAO;EAC5C,MAAMC,WAAW,GAAGJ,IAAI,IAAID,QAAQ,IAAIG,WAAW,CAACG,MAAM;EAE1D,MAAMC,mBAAmB,GAAGzB,UAAU,CAACM,mBAAmB,CAAC;EAC3D,MAAM;IAAEoB;EAAkB,CAAC,GAAGD,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,CAAC,CAAC;EAEvD,MAAME,WAAW,GAAG5B,WAAW,CAAC,MAAM;IACpC,IAAI2B,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC,CAAC;IACrB,CAAC,MAAM;MACLd,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEc,iBAAiB,CAAC,CAAC;EAErC,OACE5B,KAAA,CAAA8B,aAAA,CAAC1B,MAAM,EAAA2B,QAAA;IACLf,SAAS,EAAEb,UAAU,CACnB,yCAAyC,EACzCa,SACF,CAAE;IACFgB,OAAO,EAAEP,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDQ,IAAI,EAAEvB,KAAM;IACZwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBP,WAAW,GAEdG,WACK,CAAC;AAEb;AAEAd,YAAY,CAACyB,qBAAqB,GAAG,IAAI;AACzC,eAAezB,YAAY"}
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { Props as FlexContainerProps } from '../../../../components/flex/Container';
3
- import { ElementBlockProps } from '../AnimatedContainer/ElementBlock';
3
+ import { ElementSectionProps } from '../AnimatedContainer/ElementBlock';
4
4
  export type Props = {
5
5
  /**
6
6
  * The title of the ViewContainer.
7
7
  */
8
8
  title?: React.ReactNode;
9
9
  };
10
- export type AllProps = Props & FlexContainerProps & ElementBlockProps;
10
+ export type AllProps = Props & FlexContainerProps & ElementSectionProps;
11
11
  declare function ViewContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
12
12
  declare namespace ViewContainer {
13
13
  var _supportsSpacingProps: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ElementBlock","Toolbar","ViewToolbarTools","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ElementBlock, {\n ElementBlockProps,\n} from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\nimport ViewToolbarTools from './ViewToolbarTools'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps & ElementBlockProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <ElementBlock\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-iterate-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </ElementBlock>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,YAAY,MAEZ,mCAAmC;AAC1C,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,gBAAgB,MAAM,oBAAoB;AAWjD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACb,YAAY,EAAAc,QAAA;IACXC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACZ,OAAO,QACNP,KAAA,CAAAmB,aAAA,CAACX,gBAAgB,MAAE,CACZ,CAAC,CACA,CACA,CAAC;AAEnB;AAEAC,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
1
+ {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ElementBlock","Toolbar","ViewToolbarTools","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ElementBlock, {\n ElementSectionProps,\n} from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\nimport ViewToolbarTools from './ViewToolbarTools'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps & ElementSectionProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <ElementBlock\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-iterate-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </ElementBlock>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,YAAY,MAEZ,mCAAmC;AAC1C,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,gBAAgB,MAAM,oBAAoB;AAWjD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACb,YAAY,EAAAc,QAAA;IACXC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACZ,OAAO,QACNP,KAAA,CAAAmB,aAAA,CAACX,gBAAgB,MAAE,CACZ,CAAC,CACA,CACA,CAAC;AAEnB;AAEAC,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { JsonObject } from 'json-pointer';
3
+ import { FilterData } from '../DataContext/Context';
4
+ import { JSONSchema } from '../types';
5
+ export type GenerateSchemaReturn = {
6
+ schema: JSONSchema;
7
+ data: JsonObject;
8
+ propsOfFields: JsonObject;
9
+ propsOfValues: JsonObject;
10
+ };
11
+ export type GenerateSchemaProps = {
12
+ log?: boolean;
13
+ generateRef?: React.MutableRefObject<() => GenerateSchemaReturn>;
14
+ filterData?: FilterData;
15
+ children: React.ReactNode;
16
+ };
17
+ export type GenerateRef = GenerateSchemaProps['generateRef']['current'];
18
+ export declare const schemaParams: string[];
19
+ export default function GenerateSchema(props: GenerateSchemaProps): import("react").ReactNode;
@@ -0,0 +1,133 @@
1
+ "use client";
2
+
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
+ import { useCallback, useContext, useRef } from 'react';
7
+ import pointer from 'json-pointer';
8
+ import DataContext from '../DataContext/Context';
9
+ export const schemaParams = ['minLength', 'maxLength', 'pattern', 'description', 'min', 'max', 'multipleOf', 'exclusiveMinimum', 'exclusiveMaximum'];
10
+ export default function GenerateSchema(props) {
11
+ const {
12
+ generateRef,
13
+ filterData,
14
+ log,
15
+ children
16
+ } = props || {};
17
+ const {
18
+ fieldPropsRef,
19
+ valuePropsRef,
20
+ data,
21
+ hasContext
22
+ } = useContext(DataContext);
23
+ const dataRef = useRef({});
24
+ dataRef.current = data;
25
+ const generate = useCallback(() => {
26
+ const schema = Object.entries((fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : fieldPropsRef.current) || {}).reduce((acc, _ref) => {
27
+ let [path, props] = _ref;
28
+ if (path.startsWith('/')) {
29
+ const objectKey = path.substring(1);
30
+ const pathList = objectKey.split('/');
31
+ const slashCount = pathList.length;
32
+ const type = props.valueType || 'string';
33
+ const propertyValue = {
34
+ type
35
+ };
36
+ for (const prop of schemaParams) {
37
+ if (props[prop]) {
38
+ propertyValue[prop] = props[prop];
39
+ }
40
+ }
41
+ if (slashCount > 1) {
42
+ const nestedPath = [''];
43
+ for (const path of pathList) {
44
+ nestedPath.push(path);
45
+ const pathToSet = nestedPath.join('/properties/');
46
+ const isLast = nestedPath.length - 1 === pathList.length;
47
+ const existingValue = pointer.has(acc, pathToSet) ? pointer.get(acc, pathToSet) : null;
48
+ const pathValue = isLast ? propertyValue : existingValue;
49
+ if (isLast) {
50
+ if ((filterData === null || filterData === void 0 ? void 0 : filterData[pathToSet]) !== false) {
51
+ pointer.set(acc, pathToSet, pathValue);
52
+ }
53
+ } else {
54
+ const pathValue = _objectSpread({
55
+ type: 'object'
56
+ }, existingValue);
57
+ const required = [];
58
+ if (props.required) {
59
+ required.push(pathList.at(-1));
60
+ }
61
+ if (existingValue !== null && existingValue !== void 0 && existingValue.required) {
62
+ required.push(...existingValue.required);
63
+ }
64
+ if (required.length > 0) {
65
+ pathValue.required = required;
66
+ }
67
+ if ((filterData === null || filterData === void 0 ? void 0 : filterData[pathToSet]) !== false) {
68
+ pointer.set(acc, pathToSet, pathValue);
69
+ }
70
+ }
71
+ }
72
+ } else {
73
+ if ((filterData === null || filterData === void 0 ? void 0 : filterData[path]) !== false) {
74
+ pointer.set(acc.properties, path, propertyValue);
75
+ }
76
+ if (props.required) {
77
+ acc.required.push(objectKey);
78
+ }
79
+ }
80
+ }
81
+ return acc;
82
+ }, {
83
+ type: 'object',
84
+ properties: {},
85
+ required: []
86
+ });
87
+ const propsOfFields = Object.entries((fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : fieldPropsRef.current) || {}).reduce((acc, _ref2) => {
88
+ let [path, props] = _ref2;
89
+ if (path.startsWith('/')) {
90
+ const propertyValue = {};
91
+ for (const prop in props) {
92
+ if (props[prop] !== undefined && typeof props[prop] !== 'function') {
93
+ propertyValue[prop] = props[prop];
94
+ }
95
+ }
96
+ pointer.set(acc, path, propertyValue);
97
+ }
98
+ return acc;
99
+ }, {});
100
+ const propsOfValues = Object.entries((valuePropsRef === null || valuePropsRef === void 0 ? void 0 : valuePropsRef.current) || {}).reduce((acc, _ref3) => {
101
+ let [path, props] = _ref3;
102
+ if (path.startsWith('/')) {
103
+ const propertyValue = {};
104
+ for (const prop in props) {
105
+ if (props[prop] !== undefined && typeof props[prop] !== 'function') {
106
+ propertyValue[prop] = props[prop];
107
+ }
108
+ }
109
+ pointer.set(acc, path, propertyValue);
110
+ }
111
+ return acc;
112
+ }, {});
113
+ if (schema.required.length === 0) {
114
+ delete schema.required;
115
+ }
116
+ return {
117
+ schema,
118
+ data: dataRef.current,
119
+ propsOfFields,
120
+ propsOfValues
121
+ };
122
+ }, [fieldPropsRef, filterData, valuePropsRef]);
123
+ if (hasContext) {
124
+ if (log) {
125
+ console.log(generate().schema);
126
+ }
127
+ if (generateRef) {
128
+ generateRef.current = generate;
129
+ }
130
+ }
131
+ return children;
132
+ }
133
+ //# sourceMappingURL=GenerateSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateSchema.js","names":["useCallback","useContext","useRef","pointer","DataContext","schemaParams","GenerateSchema","props","generateRef","filterData","log","children","fieldPropsRef","valuePropsRef","data","hasContext","dataRef","current","generate","schema","Object","entries","reduce","acc","_ref","path","startsWith","objectKey","substring","pathList","split","slashCount","length","type","valueType","propertyValue","prop","nestedPath","push","pathToSet","join","isLast","existingValue","has","get","pathValue","set","_objectSpread","required","at","properties","propsOfFields","_ref2","undefined","propsOfValues","_ref3","console"],"sources":["../../../../../src/extensions/forms/Tools/GenerateSchema.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\nimport { JSONSchema } from '../types'\n\nexport type GenerateSchemaReturn = {\n schema: JSONSchema\n data: JsonObject\n propsOfFields: JsonObject\n propsOfValues: JsonObject\n}\nexport type GenerateSchemaProps = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => GenerateSchemaReturn>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef = GenerateSchemaProps['generateRef']['current']\n\nexport const schemaParams = [\n 'minLength',\n 'maxLength',\n 'pattern',\n 'description',\n 'min',\n 'max',\n 'multipleOf',\n 'exclusiveMinimum',\n 'exclusiveMaximum',\n]\n\nexport default function GenerateSchema(props: GenerateSchemaProps) {\n const { generateRef, filterData, log, children } = props || {}\n const { fieldPropsRef, valuePropsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const schema = Object.entries(fieldPropsRef?.current || {}).reduce(\n (acc, [path, props]) => {\n if (path.startsWith('/')) {\n const objectKey = path.substring(1)\n\n const pathList = objectKey.split('/')\n const slashCount = pathList.length\n\n const type = props.valueType || 'string'\n const propertyValue = {\n type,\n }\n\n for (const prop of schemaParams) {\n if (props[prop]) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (slashCount > 1) {\n const nestedPath = ['']\n for (const path of pathList) {\n nestedPath.push(path)\n const pathToSet = nestedPath.join('/properties/')\n const isLast = nestedPath.length - 1 === pathList.length\n\n const existingValue = pointer.has(acc, pathToSet)\n ? pointer.get(acc, pathToSet)\n : null\n\n const pathValue = isLast ? propertyValue : existingValue\n\n if (isLast) {\n if (filterData?.[pathToSet] !== false) {\n pointer.set(acc, pathToSet, pathValue)\n }\n } else {\n const pathValue = {\n type: 'object',\n ...existingValue,\n }\n\n // - Add required\n const required = []\n if (props.required) {\n required.push(pathList.at(-1))\n }\n if (existingValue?.required) {\n required.push(...existingValue.required)\n }\n if (required.length > 0) {\n pathValue.required = required\n }\n\n if (filterData?.[pathToSet] !== false) {\n pointer.set(acc, pathToSet, pathValue)\n }\n }\n }\n } else {\n if (filterData?.[path] !== false) {\n pointer.set(acc.properties, path, propertyValue)\n }\n if (props.required) {\n acc.required.push(objectKey)\n }\n }\n }\n\n return acc\n },\n { type: 'object', properties: {}, required: [] }\n )\n\n const propsOfFields = Object.entries(\n fieldPropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n pointer.set(acc, path, propertyValue)\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valuePropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n pointer.set(acc, path, propertyValue)\n }\n\n return acc\n }, {})\n\n if (schema.required.length === 0) {\n delete schema.required\n }\n\n return {\n schema,\n data: dataRef.current,\n propsOfFields,\n propsOfValues,\n } as GenerateSchemaReturn\n }, [fieldPropsRef, filterData, valuePropsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate().schema)\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { JsonObject } from 'json-pointer';
3
+ import { FilterData } from '../DataContext/Context';
4
+ export type ListAllPropsReturn = {
5
+ propsOfFields: JsonObject;
6
+ propsOfValues: JsonObject;
7
+ };
8
+ export type ListAllPropsProps = {
9
+ log?: boolean;
10
+ generateRef?: React.MutableRefObject<() => ListAllPropsReturn>;
11
+ filterData?: FilterData;
12
+ children: React.ReactNode;
13
+ };
14
+ export type GenerateRef = ListAllPropsProps['generateRef']['current'];
15
+ export default function ListAllProps(props: ListAllPropsProps): import("react").ReactNode;
@@ -0,0 +1,67 @@
1
+ "use client";
2
+
3
+ import { useCallback, useContext, useRef } from 'react';
4
+ import pointer from 'json-pointer';
5
+ import DataContext from '../DataContext/Context';
6
+ export default function ListAllProps(props) {
7
+ const {
8
+ log,
9
+ generateRef,
10
+ filterData,
11
+ children
12
+ } = props || {};
13
+ const {
14
+ fieldPropsRef,
15
+ valuePropsRef,
16
+ data,
17
+ hasContext
18
+ } = useContext(DataContext);
19
+ const dataRef = useRef({});
20
+ dataRef.current = data;
21
+ const generate = useCallback(() => {
22
+ const propsOfFields = Object.entries((fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : fieldPropsRef.current) || {}).reduce((acc, _ref) => {
23
+ let [path, props] = _ref;
24
+ if (path.startsWith('/')) {
25
+ const propertyValue = {};
26
+ for (const prop in props) {
27
+ if (props[prop] !== undefined && typeof props[prop] !== 'function') {
28
+ propertyValue[prop] = props[prop];
29
+ }
30
+ }
31
+ if ((filterData === null || filterData === void 0 ? void 0 : filterData[path]) !== false) {
32
+ pointer.set(acc, path, propertyValue);
33
+ }
34
+ }
35
+ return acc;
36
+ }, {});
37
+ const propsOfValues = Object.entries((valuePropsRef === null || valuePropsRef === void 0 ? void 0 : valuePropsRef.current) || {}).reduce((acc, _ref2) => {
38
+ let [path, props] = _ref2;
39
+ if (path.startsWith('/')) {
40
+ const propertyValue = {};
41
+ for (const prop in props) {
42
+ if (props[prop] !== undefined && typeof props[prop] !== 'function') {
43
+ propertyValue[prop] = props[prop];
44
+ }
45
+ }
46
+ if ((filterData === null || filterData === void 0 ? void 0 : filterData[path]) !== false) {
47
+ pointer.set(acc, path, propertyValue);
48
+ }
49
+ }
50
+ return acc;
51
+ }, {});
52
+ return {
53
+ propsOfFields,
54
+ propsOfValues
55
+ };
56
+ }, [fieldPropsRef, filterData, valuePropsRef]);
57
+ if (hasContext) {
58
+ if (log) {
59
+ console.log(generate());
60
+ }
61
+ if (generateRef) {
62
+ generateRef.current = generate;
63
+ }
64
+ }
65
+ return children;
66
+ }
67
+ //# sourceMappingURL=ListAllProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListAllProps.js","names":["useCallback","useContext","useRef","pointer","DataContext","ListAllProps","props","log","generateRef","filterData","children","fieldPropsRef","valuePropsRef","data","hasContext","dataRef","current","generate","propsOfFields","Object","entries","reduce","acc","_ref","path","startsWith","propertyValue","prop","undefined","set","propsOfValues","_ref2","console"],"sources":["../../../../../src/extensions/forms/Tools/ListAllProps.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\n\nexport type ListAllPropsReturn = {\n propsOfFields: JsonObject\n propsOfValues: JsonObject\n}\nexport type ListAllPropsProps = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => ListAllPropsReturn>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef = ListAllPropsProps['generateRef']['current']\n\nexport default function ListAllProps(props: ListAllPropsProps) {\n const { log, generateRef, filterData, children } = props || {}\n const { fieldPropsRef, valuePropsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const propsOfFields = Object.entries(\n fieldPropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valuePropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n return { propsOfFields, propsOfValues } as ListAllPropsReturn\n }, [fieldPropsRef, filterData, valuePropsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate())\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACvD,OAAOC,OAAO,MAAsB,cAAc;AAClD,OAAOC,WAAW,MAAsB,wBAAwB;AAchE,eAAe,SAASC,YAAYA,CAACC,KAAwB,EAAE;EAC7D,MAAM;IAAEC,GAAG;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAS,CAAC,GAAGJ,KAAK,IAAI,CAAC,CAAC;EAC9D,MAAM;IAAEK,aAAa;IAAEC,aAAa;IAAEC,IAAI;IAAEC;EAAW,CAAC,GACtDb,UAAU,CAACG,WAAW,CAAC;EAEzB,MAAMW,OAAO,GAAGb,MAAM,CAAa,CAAC,CAAC,CAAC;EACtCa,OAAO,CAACC,OAAO,GAAGH,IAAI;EAEtB,MAAMI,QAAQ,GAAGjB,WAAW,CAAC,MAAM;IACjC,MAAMkB,aAAa,GAAGC,MAAM,CAACC,OAAO,CAClC,CAAAT,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,OAAO,KAAI,CAAC,CAC7B,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAAC,IAAA,KAAoB;MAAA,IAAlB,CAACC,IAAI,EAAElB,KAAK,CAAC,GAAAiB,IAAA;MAC1B,IAAIC,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;QACxB,MAAMC,aAAa,GAAG,CAAC,CAAC;QAExB,KAAK,MAAMC,IAAI,IAAIrB,KAAK,EAAE;UACxB,IACEA,KAAK,CAACqB,IAAI,CAAC,KAAKC,SAAS,IACzB,OAAOtB,KAAK,CAACqB,IAAI,CAAC,KAAK,UAAU,EACjC;YACAD,aAAa,CAACC,IAAI,CAAC,GAAGrB,KAAK,CAACqB,IAAI,CAAC;UACnC;QACF;QAEA,IAAI,CAAAlB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGe,IAAI,CAAC,MAAK,KAAK,EAAE;UAChCrB,OAAO,CAAC0B,GAAG,CAACP,GAAG,EAAEE,IAAI,EAAEE,aAAa,CAAC;QACvC;MACF;MAEA,OAAOJ,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAMQ,aAAa,GAAGX,MAAM,CAACC,OAAO,CAClC,CAAAR,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,OAAO,KAAI,CAAC,CAC7B,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAAS,KAAA,KAAoB;MAAA,IAAlB,CAACP,IAAI,EAAElB,KAAK,CAAC,GAAAyB,KAAA;MAC1B,IAAIP,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;QACxB,MAAMC,aAAa,GAAG,CAAC,CAAC;QAExB,KAAK,MAAMC,IAAI,IAAIrB,KAAK,EAAE;UACxB,IACEA,KAAK,CAACqB,IAAI,CAAC,KAAKC,SAAS,IACzB,OAAOtB,KAAK,CAACqB,IAAI,CAAC,KAAK,UAAU,EACjC;YACAD,aAAa,CAACC,IAAI,CAAC,GAAGrB,KAAK,CAACqB,IAAI,CAAC;UACnC;QACF;QAEA,IAAI,CAAAlB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGe,IAAI,CAAC,MAAK,KAAK,EAAE;UAChCrB,OAAO,CAAC0B,GAAG,CAACP,GAAG,EAAEE,IAAI,EAAEE,aAAa,CAAC;QACvC;MACF;MAEA,OAAOJ,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,OAAO;MAAEJ,aAAa;MAAEY;IAAc,CAAC;EACzC,CAAC,EAAE,CAACnB,aAAa,EAAEF,UAAU,EAAEG,aAAa,CAAC,CAAC;EAE9C,IAAIE,UAAU,EAAE;IACd,IAAIP,GAAG,EAAE;MACPyB,OAAO,CAACzB,GAAG,CAACU,QAAQ,CAAC,CAAC,CAAC;IACzB;IAEA,IAAIT,WAAW,EAAE;MACfA,WAAW,CAACQ,OAAO,GAAGC,QAAQ;IAChC;EACF;EAEA,OAAOP,QAAQ;AACjB"}
@@ -1 +1,2 @@
1
1
  export { default as GenerateSchema } from './GenerateSchema';
2
+ export { default as ListAllProps } from './ListAllProps';
@@ -0,0 +1,3 @@
1
+ export { default as GenerateSchema } from './GenerateSchema';
2
+ export { default as ListAllProps } from './ListAllProps';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default","GenerateSchema","ListAllProps"],"sources":["../../../../../src/extensions/forms/Tools/index.ts"],"sourcesContent":["export { default as GenerateSchema } from './GenerateSchema'\nexport { default as ListAllProps } from './ListAllProps'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc,QAAQ,kBAAkB;AAC5D,SAASD,OAAO,IAAIE,YAAY,QAAQ,gBAAgB"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- const _excluded = ["value", "className"];
3
+ const _excluded = ["value", "inline", "className"];
4
4
  import React from 'react';
5
5
  import classnames from 'classnames';
6
6
  import ValueBlock from '../../ValueBlock';
@@ -12,12 +12,14 @@ function NumberValue(props) {
12
12
  const _useValueProps = useValueProps(props),
13
13
  {
14
14
  value,
15
+ inline,
15
16
  className
16
17
  } = _useValueProps,
17
18
  rest = _objectWithoutProperties(_useValueProps, _excluded);
18
19
  const numberFormatProps = convertCamelCaseProps(omitSpacingProps(rest));
19
20
  return React.createElement(ValueBlock, _extends({
20
- className: classnames('dnb-forms-value-number', className)
21
+ className: classnames('dnb-forms-value-number', className),
22
+ inline: inline
21
23
  }, rest), value && React.createElement(NumberFormat, _extends({
22
24
  value: value
23
25
  }, numberFormatProps)));
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["React","classnames","ValueBlock","useValueProps","omitSpacingProps","NumberFormat","convertCamelCaseProps","NumberValue","props","_useValueProps","value","className","rest","_objectWithoutProperties","_excluded","numberFormatProps","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Number/Number.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport useValueProps from '../../hooks/useValueProps'\nimport { ValueProps } from '../../types'\nimport { omitSpacingProps } from '../../../../components/flex/utils'\nimport NumberFormat, {\n NumberFormatProps,\n} from '../../../../components/NumberFormat'\nimport {\n IncludeCamelCase,\n convertCamelCaseProps,\n} from '../../../../shared/helpers/withCamelCaseProps'\n\nexport type Props = ValueProps<number> &\n IncludeCamelCase<NumberFormatProps>\n\nfunction NumberValue(props: Props) {\n const { value, className, ...rest } = useValueProps(props)\n const numberFormatProps = convertCamelCaseProps(omitSpacingProps(rest))\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-number', className)}\n {...rest}\n >\n {value && <NumberFormat value={value} {...numberFormatProps} />}\n </ValueBlock>\n )\n}\n\nNumberValue._supportsSpacingProps = true\nexport default NumberValue\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,aAAa,MAAM,2BAA2B;AAErD,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,YAAY,MAEZ,qCAAqC;AAC5C,SAEEC,qBAAqB,QAChB,+CAA+C;AAKtD,SAASC,WAAWA,CAACC,KAAY,EAAE;EACjC,MAAAC,cAAA,GAAsCN,aAAa,CAACK,KAAK,CAAC;IAApD;MAAEE,KAAK;MAAEC;IAAmB,CAAC,GAAAF,cAAA;IAANG,IAAI,GAAAC,wBAAA,CAAAJ,cAAA,EAAAK,SAAA;EACjC,MAAMC,iBAAiB,GAAGT,qBAAqB,CAACF,gBAAgB,CAACQ,IAAI,CAAC,CAAC;EAEvE,OACEZ,KAAA,CAAAgB,aAAA,CAACd,UAAU,EAAAe,QAAA;IACTN,SAAS,EAAEV,UAAU,CAAC,wBAAwB,EAAEU,SAAS;EAAE,GACvDC,IAAI,GAEPF,KAAK,IAAIV,KAAA,CAAAgB,aAAA,CAACX,YAAY,EAAAY,QAAA;IAACP,KAAK,EAAEA;EAAM,GAAKK,iBAAiB,CAAG,CACpD,CAAC;AAEjB;AAEAR,WAAW,CAACW,qBAAqB,GAAG,IAAI;AACxC,eAAeX,WAAW"}
1
+ {"version":3,"file":"Number.js","names":["React","classnames","ValueBlock","useValueProps","omitSpacingProps","NumberFormat","convertCamelCaseProps","NumberValue","props","_useValueProps","value","inline","className","rest","_objectWithoutProperties","_excluded","numberFormatProps","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Number/Number.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport useValueProps from '../../hooks/useValueProps'\nimport { ValueProps } from '../../types'\nimport { omitSpacingProps } from '../../../../components/flex/utils'\nimport NumberFormat, {\n NumberFormatProps,\n} from '../../../../components/NumberFormat'\nimport {\n IncludeCamelCase,\n convertCamelCaseProps,\n} from '../../../../shared/helpers/withCamelCaseProps'\n\nexport type Props = ValueProps<number> &\n IncludeCamelCase<NumberFormatProps>\n\nfunction NumberValue(props: Props) {\n const { value, inline, className, ...rest } = useValueProps(props)\n const numberFormatProps = convertCamelCaseProps(omitSpacingProps(rest))\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-number', className)}\n inline={inline}\n {...rest}\n >\n {value && <NumberFormat value={value} {...numberFormatProps} />}\n </ValueBlock>\n )\n}\n\nNumberValue._supportsSpacingProps = true\nexport default NumberValue\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,aAAa,MAAM,2BAA2B;AAErD,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,YAAY,MAEZ,qCAAqC;AAC5C,SAEEC,qBAAqB,QAChB,+CAA+C;AAKtD,SAASC,WAAWA,CAACC,KAAY,EAAE;EACjC,MAAAC,cAAA,GAA8CN,aAAa,CAACK,KAAK,CAAC;IAA5D;MAAEE,KAAK;MAAEC,MAAM;MAAEC;IAAmB,CAAC,GAAAH,cAAA;IAANI,IAAI,GAAAC,wBAAA,CAAAL,cAAA,EAAAM,SAAA;EACzC,MAAMC,iBAAiB,GAAGV,qBAAqB,CAACF,gBAAgB,CAACS,IAAI,CAAC,CAAC;EAEvE,OACEb,KAAA,CAAAiB,aAAA,CAACf,UAAU,EAAAgB,QAAA;IACTN,SAAS,EAAEX,UAAU,CAAC,wBAAwB,EAAEW,SAAS,CAAE;IAC3DD,MAAM,EAAEA;EAAO,GACXE,IAAI,GAEPH,KAAK,IAAIV,KAAA,CAAAiB,aAAA,CAACZ,YAAY,EAAAa,QAAA;IAACR,KAAK,EAAEA;EAAM,GAAKM,iBAAiB,CAAG,CACpD,CAAC;AAEjB;AAEAT,WAAW,CAACY,qBAAqB,GAAG,IAAI;AACxC,eAAeZ,WAAW"}
@@ -262,13 +262,13 @@ function PrerenderFieldPropsProvider(_ref6) {
262
262
  } = _ref6;
263
263
  const {
264
264
  data,
265
- setProps,
265
+ setFieldProps,
266
266
  updateDataValue
267
267
  } = useContext(DataContext);
268
268
  return React.createElement(DataContext.Provider, {
269
269
  value: _objectSpread(_objectSpread({}, defaultContextState), {}, {
270
270
  data,
271
- setProps,
271
+ setFieldProps,
272
272
  updateDataValue,
273
273
  prerenderFieldProps: true
274
274
  })
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","fieldPropsRef","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","titlesRef","prerenderFieldPropsRef","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","Contents","PrerenderFieldPropsOfOtherSteps","_ref3","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","key","clone","cloneElement","document","_ref4","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Object","values","Fn","i","_ref5","createPortal","body","_ref6","setProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n fieldPropsRef,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n fieldPropsRef,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef([])\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n prerenderFieldProps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents>{children}</Contents>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction Contents({ children }) {\n const {\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = []\n return React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","fieldPropsRef","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","titlesRef","prerenderFieldPropsRef","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","Contents","PrerenderFieldPropsOfOtherSteps","_ref3","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","key","clone","cloneElement","document","_ref4","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Object","values","Fn","i","_ref5","createPortal","body","_ref6","setFieldProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n fieldPropsRef,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n fieldPropsRef,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef([])\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n prerenderFieldProps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents>{children}</Contents>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction Contents({ children }) {\n const {\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = []\n return React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,OAAO,QACF,OAAO;AACd,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,KAAK,EAAEC,aAAa,QAAQ,wBAAwB;AAC7D,SAASC,IAAI,QAAQ,qCAAqC;AAC1D,SAASC,OAAO,QAAQ,oCAAoC;AAC5D,OAAOC,KAAK,MAAM,kCAAkC;AACpD,OAAOC,IAAI,MAA8B,SAAS;AAClD,OAAOC,aAAa,MAKb,0BAA0B;AACjC,OAAOC,WAAW,IAChBC,mBAAmB,QACd,2BAA2B;AAClC,OAAOC,OAAO,MAAM,4BAA4B;AAChD,SAEEC,cAAc,QACT,2CAA2C;AAClD,OAAOC,qBAAqB,MAAM,yBAAyB;AAI3D,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGrB,KAAK,CAACsB,SAAS,GAAGtB,KAAK,CAACoB,eAAe;AA0DzE,SAASG,eAAeA,CAACC,KAAY,EAAE;EACrC,MAAM;MACJC,SAAS;MACTC,EAAE,EAAEC,MAAM;MACVC,IAAI,GAAG,QAAQ;MACfC,kBAAkB,GAAG,CAAC;MACtBC,oBAAoB;MACpBC,mBAAmB;MACnBC,YAAY;MACZC,QAAQ;MACRC,WAAW,GAAG,IAAI;MAClBC,mBAAmB,GAAG,IAAI;MAC1BC,OAAO,GAAG,SAAS;MACnBC;IAEF,CAAC,GAAGb,KAAK;IADJc,IAAI,GAAAC,wBAAA,CACLf,KAAK,EAAAgB,SAAA;EAET,MAAM;IACJC,UAAU;IACVC,YAAY;IACZC,gBAAgB;IAChBC,gBAAgB;IAChBC,aAAa;IACbC,cAAc;IACdC;EACF,CAAC,GAAG9C,UAAU,CAACc,WAAW,CAAC;EAE3B,MAAMW,EAAE,GAAGd,KAAK,CAACe,MAAM,CAAC;EACxB,MAAM,GAAGqB,WAAW,CAAC,GAAG5C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM6C,cAAc,GAAG9C,MAAM,CAAY0B,kBAAkB,CAAC;EAC5D,MAAMqB,cAAc,GAAG/C,MAAM,CAA6B,CAAC,CAAC,CAAC;EAC7D,MAAMgD,cAAc,GAAGhD,MAAM,CAAc,CAAC;EAG5C,MAAMiD,cAAc,GAClBjD,MAAM,CAIJ,CAAC;EACLiD,cAAc,CAACC,OAAO,GAAGnC,cAAc,CACrCuB,UAAU,IAAIf,EAAE,GAAGA,EAAE,GAAG,SAAS,GAAG4B,SACtC,CAAC;EAGDJ,cAAc,CAACG,OAAO,CAACJ,cAAc,CAACI,OAAO,CAAC,GAAGR,aAAa;EAE9D,MAAMU,gBAAgB,GAAGrD,WAAW,CAClC,OAAOsD,KAAgB,EAAE5B,IAAyB,KAAK;IACrD,IAAIjB,OAAO,CAACqB,YAAY,CAAC,EAAE;MACzB,OAAO,MAAMA,YAAY,CAACwB,KAAK,EAAE5B,IAAI,CAAC;IACxC;IAEA,OAAOI,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGwB,KAAK,EAAE5B,IAAI,CAAC;EACpC,CAAC,EACD,CAACI,YAAY,CACf,CAAC;EAED,MAAM;IAAEyB,QAAQ;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAC/CxC,qBAAqB,CAAC;IAAE8B,cAAc;IAAEE;EAAe,CAAC,CAAC;EAE3D,MAAMS,kBAAkB,GAAG1D,WAAW,CAAC,MAAM;IAC3C,IAAI,CAAC6B,mBAAmB,EAAE;MACxB0B,QAAQ,CAAC,CAAC;IACZ;IACA,IAAI,CAAC3B,oBAAoB,EAAE;MACzB4B,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAAC5B,oBAAoB,EAAEC,mBAAmB,EAAE0B,QAAQ,EAAEC,WAAW,CAAC,CAAC;EAEtE,MAAMG,gBAAgB,GAAG3D,WAAW,CAClC4D,IAAA,IAU8B;IAAA,IAV7B;MACCN,KAAK;MACLO,cAAc;MACdC,kBAAkB;MAClBC,+BAA+B;MAC/BC,0BAA0B;MAC1BtC;IAIsB,CAAC,GAAAkC,IAAA;IACvBnB,gBAAgB,CAAC;MACfoB,cAAc;MACdI,mBAAmB,EAAEJ,cAAc;MACnCK,oBAAoB,EAAEzD,OAAO,CAACqB,YAAY,CAAC;MAC3CqC,QAAQ,EAAE,MAAAA,CAAA,KAAY;QACpB,IAAI,CAACH,0BAA0B,EAAE;UAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;UAC/B,CAAAF,qBAAA,GAAAlB,cAAc,CAACC,OAAO,cAAAiB,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBG,IAAI,cAAAF,sBAAA,wBAAAC,sBAAA,GAA5BD,sBAAA,CAA8BvC,YAAY,cAAAwC,sBAAA,uBAA1CA,sBAAA,CAAAE,IAAA,CAAAH,sBAAA,EAA6Cf,KAAK,EAAE5B,IAAI,CAAC;QAC3D;QAEA,MAAM+C,MAAM,GACVX,kBAAkB,IACjBC,+BAA+B,IAAI,CAACN,gBAAgB,CAACN,OAAQ,GAC1DC,SAAS,GACT,MAAMC,gBAAgB,CAACC,KAAK,EAAE5B,IAAI,CAAC;QAGzCc,YAAY,CAAC,OAAO,CAAC;QAErB,IAAI,CAACqB,cAAc,EAAE;UAEnBnB,gBAAgB,CAACM,cAAc,CAACG,OAAO,CAACG,KAAK,CAAC,CAAC;QACjD;QAEA,IAAI,EAAEmB,MAAM,YAAYC,KAAK,CAAC,EAAE;UAC9BhB,kBAAkB,CAAC,CAAC;UAEpBX,cAAc,CAACI,OAAO,GAAGG,KAAK;UAC9BR,WAAW,CAAC,CAAC;QACf;QAEA,OAAO2B,MAAM;MACf;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACEpB,gBAAgB,EAChBR,aAAa,EACba,kBAAkB,EAClBjB,gBAAgB,EAChBgB,gBAAgB,EAChB3B,YAAY,EACZU,YAAY,EACZE,gBAAgB,CAEpB,CAAC;EAED,MAAMiC,cAAc,GAAG3E,WAAW,CAChC,CAACsD,KAAgB,EAAEsB,OAA+B,KAAK;IACrD,IAAItB,KAAK,KAAKP,cAAc,CAACI,OAAO,EAAE;MACpC;IACF;IAEA,MAAMzB,IAAI,GAAG4B,KAAK,GAAGP,cAAc,CAACI,OAAO,GAAG,MAAM,GAAG,UAAU;IAEjEQ,gBAAgB,CAAAkB,aAAA;MACdvB,KAAK;MACLO,cAAc,EAAEnC,IAAI,KAAK,UAAU;MACnCA;IAAI,GACDkD,OAAO,CACX,CAAC;EACJ,CAAC,EACD,CAACjB,gBAAgB,CACnB,CAAC;EAED,MAAMmB,cAAc,GAAG9E,WAAW,CAAC,MAAM;IACvC2E,cAAc,CAAC5B,cAAc,CAACI,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACwB,cAAc,CAAC,CAAC;EAEpB,MAAMI,UAAU,GAAG/E,WAAW,CAAC,MAAM;IACnC2E,cAAc,CAAC5B,cAAc,CAACI,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACwB,cAAc,CAAC,CAAC;EAEpB,MAAMK,YAAY,GAAGhF,WAAW,CAC9BiF,KAAA,IAAsB;IAAA,IAArB;MAAEC;IAAa,CAAC,GAAAD,KAAA;IACfN,cAAc,CAACO,YAAY,EAAE;MAAErB,cAAc,EAAE;IAAK,CAAC,CAAC;EACxD,CAAC,EACD,CAACc,cAAc,CACjB,CAAC;EAED,MAAMQ,YAAY,GAAGnF,WAAW,CAC7BoF,KAAY,IAAK;IAChBxC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG;MAAEwC;IAAM,CAAC,CAAC;EAC7B,CAAC,EACD,CAACxC,cAAc,CACjB,CAAC;EAED,MAAMyC,SAAS,GAAGpF,MAAM,CAAC,EAAE,CAAC;EAC5B,MAAMqF,sBAAsB,GAAGrF,MAAM,CAEnC,CAAC,CAAC,CAAC;EAEL,MAAMsF,WAAW,GAAGxC,cAAc,CAACI,OAAO;EAC1C,MAAMqC,UAAU,GAAGH,SAAS,CAAClC,OAAO,CAACsC,MAAM;EAC3C,MAAMC,aAAa,GAAGvF,OAAO,CAC3B,OAAO;IACLqB,EAAE;IACF+D,WAAW;IACXC,UAAU;IACVvC,cAAc;IACdoC,SAAS;IACTtC,cAAc;IACdd,mBAAmB;IACnBqD,sBAAsB;IACtBX,cAAc;IACdG,cAAc;IACdC,UAAU;IACVI;EACF,CAAC,CAAC,EACF,CACE3D,EAAE,EACF+D,WAAW,EACXC,UAAU,EACVvD,mBAAmB,EACnB0C,cAAc,EACdG,cAAc,EACdC,UAAU,EACVI,YAAY,CAEhB,CAAC;EAGDjE,eAAe,CAAC,MAAM;IACpB,IAAIM,EAAE,IAAIe,UAAU,EAAE;MAAA,IAAAoD,sBAAA,EAAAC,sBAAA;MACpB,CAAAD,sBAAA,GAAAzC,cAAc,CAACC,OAAO,cAAAwC,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,MAAM,cAAAD,sBAAA,uBAA9BA,sBAAA,CAAApB,IAAA,CAAAmB,sBAAA,EAAiCD,aAAa,CAAC;IACjD;EACF,CAAC,EAAE,CAAClE,EAAE,EAAEkE,aAAa,CAAC,CAAC;EAEvB,IAAI,CAACnD,UAAU,EAAE;IACf/B,IAAI,CAAC,+CAA+C,CAAC;IACrD,OACEV,KAAA,CAAAgG,aAAA,CAAC/E,OAAO,QACNjB,KAAA,CAAAgG,aAAA,CAACzE,eAAe,EAAA0E,QAAA,KAAKzE,KAAK;MAAEE,EAAE,EAAEA;IAAG,EAAE,CAC9B,CAAC;EAEd;EAEA,OACE1B,KAAA,CAAAgG,aAAA,CAAClF,aAAa,CAACoF,QAAQ;IAACC,KAAK,EAAEP;EAAc,GAC3C5F,KAAA,CAAAgG,aAAA,CAACxF,KAAK,EAAAyF,QAAA;IACJxE,SAAS,EAAElB,UAAU,qDAES6B,OAAQ,IACpCX,SACF;EAAE,GACEa,IAAI,GAERtC,KAAA,CAAAgG,aAAA;IAAOvE,SAAS,EAAC;EAAkC,GACjDzB,KAAA,CAAAgG,aAAA,CAACvF,aAAa,CAAC2F,OAAO;IAACC,UAAU,EAAE3E;EAAG,CAAE,CAAC,EACzC1B,KAAA,CAAAgG,aAAA,CAACvF,aAAa;IACZ6F,MAAM;IACNlB,YAAY,EAAEnC,cAAc,CAACI,OAAQ;IACrCoB,IAAI,EAAEc,SAAS,CAAClC,OAAQ;IACxBzB,IAAI,EAAEA,IAAK;IACX2E,YAAY,EAAErE,WAAY;IAC1BsE,SAAS,EAAEtB,YAAa;IACxBmB,UAAU,EACRjE,OAAO,KAAK,QAAQ,IAAI,CAACC,SAAS,GAC9B,EAAE,GACFA,SAAS,GACTA,SAAS,GACTX;EACL,CACF,CACI,CAAC,EAER1B,KAAA,CAAAgG,aAAA;IAAKvE,SAAS,EAAC;EAAmC,GAChDzB,KAAA,CAAAgG,aAAA,CAACS,QAAQ,QAAExE,QAAmB,CAC3B,CACA,CAAC,EAEPE,mBAAmB,IAClBnC,KAAA,CAAAgG,aAAA,CAACU,+BAA+B;IAC9BlB,sBAAsB,EAAEA;EAAuB,CAChD,CAEmB,CAAC;AAE7B;AAEA,SAASiB,QAAQA,CAAAE,KAAA,EAAe;EAAA,IAAd;IAAE1E;EAAS,CAAC,GAAA0E,KAAA;EAC5B,MAAM;IACJpB,SAAS;IACTtC,cAAc;IACdd,mBAAmB;IACnBqD;EACF,CAAC,GAAGvF,UAAU,CAACa,aAAa,CAAC;EAE7ByE,SAAS,CAAClC,OAAO,GAAG,EAAE;EACtB,OAAOrD,KAAK,CAAC4G,QAAQ,CAACC,GAAG,CAAC5E,QAAQ,EAAE,CAAC6E,KAAK,EAAEtD,KAAK,KAAK;IACpD,IAAIxD,KAAK,CAAC+G,cAAc,CAACD,KAAK,CAAC,EAAE;MAAA,IAAAE,MAAA,EAAAC,OAAA;MAC/B,IAAIC,IAAI,GAAGJ,KAAK;MAEhB,IAAI,EAAAE,MAAA,GAAAF,KAAK,cAAAE,MAAA,uBAALA,MAAA,CAAOG,IAAI,MAAKtG,IAAI,IAAI,OAAOiG,KAAK,CAACK,IAAI,KAAK,UAAU,EAAE;QAAA,IAAAC,KAAA;QAC5DF,IAAI,GAAGJ,KAAK,CAACK,IAAI,CAACE,KAAK,CAACP,KAAK,CAACK,IAAI,EAAE,CAClCL,KAAK,CAACtF,KAAK,CACZ,CAAuB;QAExB,IAAI,EAAA4F,KAAA,GAAAF,IAAI,cAAAE,KAAA,uBAAJA,KAAA,CAAMD,IAAI,MAAKtG,IAAI,EAAE;UACvBiG,KAAK,GAAGI,IAAI;QACd;MACF;MAEA,IAAI,EAAAD,OAAA,GAAAH,KAAK,cAAAG,OAAA,uBAALA,OAAA,CAAOE,IAAI,MAAKtG,IAAI,EAAE;QAAA,IAAAyG,kBAAA;QACxB/B,SAAS,CAAClC,OAAO,CAACkE,IAAI,EAAAD,kBAAA,GAACR,KAAK,CAACtF,KAAK,CAACgG,KAAK,cAAAF,kBAAA,cAAAA,kBAAA,GAAI,eAAe,CAAC;QAC5D,MAAMG,GAAG,GAAI,GAAEjE,KAAM,IAAGP,cAAc,CAACI,OAAQ,EAAC;QAChD,MAAMqE,KAAK,GAAIlG,KAAK,IAClBxB,KAAK,CAAC2H,YAAY,CAACb,KAAK,EAAmCtF,KAAK,CAAC;QAEnE,IACEW,mBAAmB,IACnB,OAAOyF,QAAQ,KAAK,WAAW,IAC/BpE,KAAK,KAAKP,cAAc,CAACI,OAAO,IAChC,OAAOmC,sBAAsB,CAACnC,OAAO,CAAC,OAAO,GAAGG,KAAK,CAAC,KACpD,WAAW,EACb;UACAgC,sBAAsB,CAACnC,OAAO,CAAC,OAAO,GAAGG,KAAK,CAAC,GAAG,MAChDkE,KAAK,CAAC;YACJD,GAAG;YACHjE,KAAK;YACLrB,mBAAmB,EAAE;UACvB,CAAC,CAAC;QACN;QAEA,OAAOuF,KAAK,CAAC;UACXD,GAAG;UACHjE;QACF,CAAC,CAAC;MACJ;IACF;IAEA,OAAOsD,KAAK;EACd,CAAC,CAAC;AACJ;AAEA,SAASJ,+BAA+BA,CAAAmB,KAAA,EAIrC;EAAA,IAJsC;IACvCrC;EAGF,CAAC,GAAAqC,KAAA;EACC,MAAMC,cAAc,GAAG3H,MAAM,CAAC,IAAI,CAAC;EACnC,IAAI,CAAC2H,cAAc,CAACzE,OAAO,EAAE;IAC3B,OAAO,IAAI;EACb;EACAyE,cAAc,CAACzE,OAAO,GAAG,KAAK;EAE9B,OACErD,KAAA,CAAAgG,aAAA,CAAC+B,YAAY,QACX/H,KAAA,CAAAgG,aAAA,CAACgC,2BAA2B,QAC1BhI,KAAA,CAAAgG,aAAA;IAAQwB,KAAK,EAAC,kBAAkB;IAACS,MAAM;EAAA,GACpCC,MAAM,CAACC,MAAM,CAAC3C,sBAAsB,CAACnC,OAAO,CAAC,CAACwD,GAAG,CAAC,CAACuB,EAAE,EAAEC,CAAC,KACvDrI,KAAA,CAAAgG,aAAA,CAACoC,EAAE;IAACX,GAAG,EAAEY;EAAE,CAAE,CACd,CACK,CACmB,CACjB,CAAC;AAEnB;AAEA,SAASN,YAAYA,CAAAO,KAAA,EAAe;EAAA,IAAd;IAAErG;EAAS,CAAC,GAAAqG,KAAA;EAChC,IAAI,OAAOV,QAAQ,KAAK,WAAW,EAAE;IACnC,OAAOtH,QAAQ,CAACiI,YAAY,CAACtG,QAAQ,EAAE2F,QAAQ,CAACY,IAAI,CAAC;EACvD;AACF;AAEA,SAASR,2BAA2BA,CAAAS,KAAA,EAAe;EAAA,IAAd;IAAExG;EAAS,CAAC,GAAAwG,KAAA;EAC/C,MAAM;IAAEhE,IAAI;IAAEiE,aAAa;IAAEC;EAAgB,CAAC,GAAG1I,UAAU,CAACc,WAAW,CAAC;EAExE,OACEf,KAAA,CAAAgG,aAAA,CAACjF,WAAW,CAACmF,QAAQ;IACnBC,KAAK,EAAApB,aAAA,CAAAA,aAAA,KACA/D,mBAAmB;MAGtByD,IAAI;MACJiE,aAAa;MACbC,eAAe;MACfxG,mBAAmB,EAAE;IAAI;EACzB,GAEFnC,KAAA,CAAAgG,aAAA,CAAClF,aAAa,CAACoF,QAAQ;IAACC,KAAK,EAAE;MAAEhE,mBAAmB,EAAE;IAAK;EAAE,GAC1DF,QACqB,CACJ,CAAC;AAE3B;AAEAV,eAAe,CAACqH,qBAAqB,GAAG,IAAI;AAE5C,eAAerH,eAAe"}
@@ -0,0 +1,2 @@
1
+ import { SectionProps } from '../../../Form/Section';
2
+ export default function FirstBlock(props: SectionProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ var _Content, _Field$Name$First, _Field$Name$Last;
3
+ import React from 'react';
4
+ import { Field, Form } from '../../..';
5
+ import { Flex } from '../../../../../components';
6
+ const translations = {
7
+ 'nb-NO': {
8
+ MyBlock: {
9
+ MyField: {
10
+ label: 'Felt label'
11
+ }
12
+ }
13
+ },
14
+ 'en-GB': {
15
+ MyBlock: {
16
+ MyField: {
17
+ label: 'Field label'
18
+ }
19
+ }
20
+ }
21
+ };
22
+ export default function FirstBlock(props) {
23
+ return React.createElement(Form.Section, _extends({
24
+ translations: translations,
25
+ required: true
26
+ }, props), _Content || (_Content = React.createElement(Content, null)));
27
+ }
28
+ function Content() {
29
+ const tr = Form.useTranslation();
30
+ return React.createElement(Flex.Stack, null, _Field$Name$First || (_Field$Name$First = React.createElement(Field.Name.First, {
31
+ path: "/firstName"
32
+ })), _Field$Name$Last || (_Field$Name$Last = React.createElement(Field.Name.Last, {
33
+ path: "/lastName"
34
+ })), React.createElement(Field.String, {
35
+ label: tr.MyBlock.MyField.label,
36
+ path: "/myField"
37
+ }));
38
+ }
39
+ //# sourceMappingURL=FirstBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirstBlock.js","names":["React","Field","Form","Flex","translations","MyBlock","MyField","label","FirstBlock","props","createElement","Section","_extends","required","_Content","Content","tr","useTranslation","Stack","_Field$Name$First","Name","First","path","_Field$Name$Last","Last","String"],"sources":["../../../../../../../src/extensions/forms/blocks/Category/FirstBlock/FirstBlock.tsx"],"sourcesContent":["import React from 'react'\nimport { Field, Form } from '../../..'\nimport { Flex } from '../../../../../components'\nimport { SectionProps } from '../../../Form/Section'\n\nconst translations = {\n 'nb-NO': { MyBlock: { MyField: { label: 'Felt label' } } },\n 'en-GB': { MyBlock: { MyField: { label: 'Field label' } } },\n}\ntype Translation = (typeof translations)[keyof typeof translations]\n\nexport default function FirstBlock(props: SectionProps) {\n return (\n <Form.Section translations={translations} required {...props}>\n <Content />\n </Form.Section>\n )\n}\n\nfunction Content() {\n const tr = Form.useTranslation<Translation>()\n return (\n <Flex.Stack>\n <Field.Name.First path=\"/firstName\" />\n <Field.Name.Last path=\"/lastName\" />\n <Field.String label={tr.MyBlock.MyField.label} path=\"/myField\" />\n </Flex.Stack>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,IAAI,QAAQ,UAAU;AACtC,SAASC,IAAI,QAAQ,2BAA2B;AAGhD,MAAMC,YAAY,GAAG;EACnB,OAAO,EAAE;IAAEC,OAAO,EAAE;MAAEC,OAAO,EAAE;QAAEC,KAAK,EAAE;MAAa;IAAE;EAAE,CAAC;EAC1D,OAAO,EAAE;IAAEF,OAAO,EAAE;MAAEC,OAAO,EAAE;QAAEC,KAAK,EAAE;MAAc;IAAE;EAAE;AAC5D,CAAC;AAGD,eAAe,SAASC,UAAUA,CAACC,KAAmB,EAAE;EACtD,OACET,KAAA,CAAAU,aAAA,CAACR,IAAI,CAACS,OAAO,EAAAC,QAAA;IAACR,YAAY,EAAEA,YAAa;IAACS,QAAQ;EAAA,GAAKJ,KAAK,GAAAK,QAAA,KAAAA,QAAA,GAC1Dd,KAAA,CAAAU,aAAA,CAACK,OAAO,MAAE,CAAC,CACC,CAAC;AAEnB;AAEA,SAASA,OAAOA,CAAA,EAAG;EACjB,MAAMC,EAAE,GAAGd,IAAI,CAACe,cAAc,CAAc,CAAC;EAC7C,OACEjB,KAAA,CAAAU,aAAA,CAACP,IAAI,CAACe,KAAK,QAAAC,iBAAA,KAAAA,iBAAA,GACTnB,KAAA,CAAAU,aAAA,CAACT,KAAK,CAACmB,IAAI,CAACC,KAAK;IAACC,IAAI,EAAC;EAAY,CAAE,CAAC,GAAAC,gBAAA,KAAAA,gBAAA,GACtCvB,KAAA,CAAAU,aAAA,CAACT,KAAK,CAACmB,IAAI,CAACI,IAAI;IAACF,IAAI,EAAC;EAAW,CAAE,CAAC,GACpCtB,KAAA,CAAAU,aAAA,CAACT,KAAK,CAACwB,MAAM;IAAClB,KAAK,EAAES,EAAE,CAACX,OAAO,CAACC,OAAO,CAACC,KAAM;IAACe,IAAI,EAAC;EAAU,CAAE,CACtD,CAAC;AAEjB"}