@dnb/eufemia 10.35.0 → 10.36.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 (416) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cjs/components/accordion/Accordion.d.ts +3 -3
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionHeader.d.ts +5 -5
  5. package/cjs/components/accordion/AccordionHeader.js +3 -2
  6. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  7. package/cjs/components/anchor/Anchor.d.ts +20 -0
  8. package/cjs/components/anchor/Anchor.js +13 -4
  9. package/cjs/components/anchor/Anchor.js.map +1 -1
  10. package/cjs/components/anchor/AnchorDocs.d.ts +3 -0
  11. package/cjs/components/anchor/AnchorDocs.js +82 -0
  12. package/cjs/components/anchor/AnchorDocs.js.map +1 -0
  13. package/cjs/components/autocomplete/Autocomplete.js +16 -2
  14. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  15. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  16. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  17. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  18. package/cjs/components/height-animation/useHeightAnimation.d.ts +5 -1
  19. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  20. package/cjs/components/icon/Icon.d.ts +493 -61
  21. package/cjs/components/icon/Icon.js +97 -134
  22. package/cjs/components/icon/Icon.js.map +1 -1
  23. package/cjs/components/icon/IconHelpers.d.ts +2 -1
  24. package/cjs/components/icon/IconHelpers.js +1 -1
  25. package/cjs/components/icon/IconHelpers.js.map +1 -1
  26. package/cjs/components/icon/IconPrimary.d.ts +2 -2
  27. package/cjs/components/icon/IconPrimary.js.map +1 -1
  28. package/cjs/components/icon-primary/IconPrimary.d.ts +8 -11
  29. package/cjs/components/icon-primary/IconPrimary.js +37 -38
  30. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  31. package/cjs/components/step-indicator/StepIndicatorContext.js +66 -59
  32. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  33. package/cjs/components/step-indicator/StepIndicatorItem.js +15 -23
  34. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  35. package/cjs/components/step-indicator/StepIndicatorModal.js +5 -5
  36. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  37. package/cjs/components/step-indicator/StepIndicatorSidebar.js +9 -7
  38. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  39. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  40. package/cjs/components/table/Table.d.ts +1 -1
  41. package/cjs/components/table/Table.js.map +1 -1
  42. package/cjs/components/table/TableContext.d.ts +12 -2
  43. package/cjs/components/table/TableContext.js +1 -3
  44. package/cjs/components/table/TableContext.js.map +1 -1
  45. package/cjs/components/table/TableDocs.d.ts +7 -0
  46. package/cjs/components/table/TableDocs.js +202 -0
  47. package/cjs/components/table/TableDocs.js.map +1 -0
  48. package/cjs/components/table/TableTd.d.ts +3 -3
  49. package/cjs/components/table/TableTd.js +2 -2
  50. package/cjs/components/table/TableTd.js.map +1 -1
  51. package/cjs/components/table/TableTr.d.ts +9 -5
  52. package/cjs/components/table/TableTr.js +4 -4
  53. package/cjs/components/table/TableTr.js.map +1 -1
  54. package/cjs/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  55. package/cjs/components/table/{TableAccordionTd.js → table-accordion/TableAccordionContent.js} +52 -17
  56. package/cjs/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  57. package/cjs/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  58. package/cjs/components/table/table-accordion/TableAccordionContext.js +11 -0
  59. package/cjs/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  60. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  61. package/cjs/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +17 -18
  62. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  63. package/{es/components/table → cjs/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  64. package/cjs/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +4 -4
  65. package/cjs/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  66. package/cjs/components/tabs/Tabs.d.ts +0 -3
  67. package/cjs/components/tabs/TabsDocs.d.ts +1 -0
  68. package/cjs/components/tabs/TabsDocs.js +32 -4
  69. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  70. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -2
  71. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  72. package/cjs/components/toggle-button/style/dnb-toggle-button.css +15 -6
  73. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  74. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
  76. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  77. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  78. package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -72
  79. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  80. package/cjs/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  81. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +101 -0
  82. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  83. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  84. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  85. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  86. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  87. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  88. package/cjs/extensions/forms/Wizard/Step/Step.js +6 -2
  89. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  90. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  91. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  93. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  94. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  95. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  96. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  97. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  98. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  99. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  100. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  101. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -9
  102. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  103. package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -9
  104. package/cjs/extensions/forms/constants/locales/index.d.ts +14 -18
  105. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  106. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -9
  107. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  108. package/cjs/shared/Context.d.ts +4 -0
  109. package/cjs/shared/Context.js.map +1 -1
  110. package/cjs/shared/Eufemia.d.ts +1 -1
  111. package/cjs/shared/Eufemia.js +2 -2
  112. package/cjs/shared/Eufemia.js.map +1 -1
  113. package/cjs/style/core/scopes.scss +1 -1
  114. package/cjs/style/dnb-ui-basis.css +1 -1
  115. package/cjs/style/dnb-ui-basis.min.css +1 -1
  116. package/cjs/style/dnb-ui-body.css +1 -1
  117. package/cjs/style/dnb-ui-body.min.css +1 -1
  118. package/cjs/style/dnb-ui-components.css +15 -6
  119. package/cjs/style/dnb-ui-components.min.css +1 -1
  120. package/cjs/style/dnb-ui-core.css +1 -1
  121. package/cjs/style/dnb-ui-core.min.css +1 -1
  122. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  123. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  124. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  125. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  126. package/cjs/style/themes/theme-ui/ui-theme-components.css +15 -6
  127. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  128. package/components/accordion/Accordion.d.ts +3 -3
  129. package/components/accordion/Accordion.js.map +1 -1
  130. package/components/accordion/AccordionHeader.d.ts +5 -5
  131. package/components/accordion/AccordionHeader.js +3 -2
  132. package/components/accordion/AccordionHeader.js.map +1 -1
  133. package/components/anchor/Anchor.d.ts +20 -0
  134. package/components/anchor/Anchor.js +13 -4
  135. package/components/anchor/Anchor.js.map +1 -1
  136. package/components/anchor/AnchorDocs.d.ts +3 -0
  137. package/components/anchor/AnchorDocs.js +74 -0
  138. package/components/anchor/AnchorDocs.js.map +1 -0
  139. package/components/autocomplete/Autocomplete.js +17 -3
  140. package/components/autocomplete/Autocomplete.js.map +1 -1
  141. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  142. package/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  143. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  144. package/components/height-animation/useHeightAnimation.d.ts +5 -1
  145. package/components/height-animation/useHeightAnimation.js.map +1 -1
  146. package/components/icon/Icon.d.ts +493 -61
  147. package/components/icon/Icon.js +89 -127
  148. package/components/icon/Icon.js.map +1 -1
  149. package/components/icon/IconHelpers.d.ts +2 -1
  150. package/components/icon/IconHelpers.js +1 -1
  151. package/components/icon/IconHelpers.js.map +1 -1
  152. package/components/icon/IconPrimary.d.ts +2 -2
  153. package/components/icon/IconPrimary.js.map +1 -1
  154. package/components/icon-primary/IconPrimary.d.ts +8 -11
  155. package/components/icon-primary/IconPrimary.js +25 -31
  156. package/components/icon-primary/IconPrimary.js.map +1 -1
  157. package/components/step-indicator/StepIndicatorContext.js +67 -60
  158. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  159. package/components/step-indicator/StepIndicatorItem.js +16 -24
  160. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  161. package/components/step-indicator/StepIndicatorModal.js +6 -6
  162. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  163. package/components/step-indicator/StepIndicatorSidebar.js +10 -8
  164. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  165. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  166. package/components/table/Table.d.ts +1 -1
  167. package/components/table/Table.js.map +1 -1
  168. package/components/table/TableContext.d.ts +12 -2
  169. package/components/table/TableContext.js +0 -1
  170. package/components/table/TableContext.js.map +1 -1
  171. package/components/table/TableDocs.d.ts +7 -0
  172. package/components/table/TableDocs.js +190 -0
  173. package/components/table/TableDocs.js.map +1 -0
  174. package/components/table/TableTd.d.ts +3 -3
  175. package/components/table/TableTd.js +2 -2
  176. package/components/table/TableTd.js.map +1 -1
  177. package/components/table/TableTr.d.ts +9 -5
  178. package/components/table/TableTr.js +4 -4
  179. package/components/table/TableTr.js.map +1 -1
  180. package/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  181. package/components/table/table-accordion/TableAccordionContent.js +95 -0
  182. package/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  183. package/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  184. package/components/table/table-accordion/TableAccordionContext.js +3 -0
  185. package/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  186. package/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  187. package/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
  188. package/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  189. package/{cjs/components/table → components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  190. package/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  191. package/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  192. package/components/tabs/Tabs.d.ts +0 -3
  193. package/components/tabs/TabsDocs.d.ts +1 -0
  194. package/components/tabs/TabsDocs.js +30 -3
  195. package/components/tabs/TabsDocs.js.map +1 -1
  196. package/components/toggle-button/ToggleButtonGroup.js +2 -2
  197. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  198. package/components/toggle-button/style/dnb-toggle-button.css +15 -6
  199. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  200. package/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  201. package/es/components/accordion/Accordion.d.ts +3 -3
  202. package/es/components/accordion/Accordion.js.map +1 -1
  203. package/es/components/accordion/AccordionHeader.d.ts +5 -5
  204. package/es/components/accordion/AccordionHeader.js +3 -2
  205. package/es/components/accordion/AccordionHeader.js.map +1 -1
  206. package/es/components/anchor/Anchor.d.ts +20 -0
  207. package/es/components/anchor/Anchor.js +13 -4
  208. package/es/components/anchor/Anchor.js.map +1 -1
  209. package/es/components/anchor/AnchorDocs.d.ts +3 -0
  210. package/es/components/anchor/AnchorDocs.js +74 -0
  211. package/es/components/anchor/AnchorDocs.js.map +1 -0
  212. package/es/components/autocomplete/Autocomplete.js +17 -3
  213. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  214. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  215. package/es/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  216. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  217. package/es/components/height-animation/useHeightAnimation.d.ts +5 -1
  218. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  219. package/es/components/icon/Icon.d.ts +493 -61
  220. package/es/components/icon/Icon.js +82 -116
  221. package/es/components/icon/Icon.js.map +1 -1
  222. package/es/components/icon/IconHelpers.d.ts +2 -1
  223. package/es/components/icon/IconHelpers.js +1 -1
  224. package/es/components/icon/IconHelpers.js.map +1 -1
  225. package/es/components/icon/IconPrimary.d.ts +2 -2
  226. package/es/components/icon/IconPrimary.js.map +1 -1
  227. package/es/components/icon-primary/IconPrimary.d.ts +8 -11
  228. package/es/components/icon-primary/IconPrimary.js +25 -31
  229. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  230. package/es/components/step-indicator/StepIndicatorContext.js +67 -60
  231. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  232. package/es/components/step-indicator/StepIndicatorItem.js +17 -25
  233. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  234. package/es/components/step-indicator/StepIndicatorModal.js +6 -6
  235. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  236. package/es/components/step-indicator/StepIndicatorSidebar.js +10 -8
  237. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  238. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  239. package/es/components/table/Table.d.ts +1 -1
  240. package/es/components/table/Table.js.map +1 -1
  241. package/es/components/table/TableContext.d.ts +12 -2
  242. package/es/components/table/TableContext.js +0 -1
  243. package/es/components/table/TableContext.js.map +1 -1
  244. package/es/components/table/TableDocs.d.ts +7 -0
  245. package/es/components/table/TableDocs.js +190 -0
  246. package/es/components/table/TableDocs.js.map +1 -0
  247. package/es/components/table/TableTd.d.ts +3 -3
  248. package/es/components/table/TableTd.js +2 -2
  249. package/es/components/table/TableTd.js.map +1 -1
  250. package/es/components/table/TableTr.d.ts +9 -5
  251. package/es/components/table/TableTr.js +4 -4
  252. package/es/components/table/TableTr.js.map +1 -1
  253. package/es/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  254. package/es/components/table/table-accordion/TableAccordionContent.js +92 -0
  255. package/es/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  256. package/es/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  257. package/es/components/table/table-accordion/TableAccordionContext.js +3 -0
  258. package/es/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  259. package/es/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  260. package/es/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
  261. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  262. package/{components/table → es/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  263. package/es/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  264. package/es/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  265. package/es/components/tabs/Tabs.d.ts +0 -3
  266. package/es/components/tabs/TabsDocs.d.ts +1 -0
  267. package/es/components/tabs/TabsDocs.js +30 -3
  268. package/es/components/tabs/TabsDocs.js.map +1 -1
  269. package/es/components/toggle-button/ToggleButtonGroup.js +2 -2
  270. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  271. package/es/components/toggle-button/style/dnb-toggle-button.css +15 -6
  272. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  273. package/es/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  274. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
  275. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  276. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  277. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -71
  278. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  279. package/es/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  280. package/es/extensions/forms/Form/Visibility/useVisibility.js +94 -0
  281. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  282. package/es/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  283. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  284. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  285. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  286. package/es/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  287. package/es/extensions/forms/Wizard/Step/Step.js +6 -2
  288. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  289. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  290. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  291. package/es/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  292. package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  293. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  294. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  295. package/es/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  296. package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  297. package/es/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  298. package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  299. package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  300. package/es/extensions/forms/constants/locales/en-GB.js +7 -9
  301. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  302. package/es/extensions/forms/constants/locales/en-US.d.ts +7 -9
  303. package/es/extensions/forms/constants/locales/index.d.ts +14 -18
  304. package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  305. package/es/extensions/forms/constants/locales/nb-NO.js +7 -9
  306. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  307. package/es/shared/Context.d.ts +4 -0
  308. package/es/shared/Context.js.map +1 -1
  309. package/es/shared/Eufemia.d.ts +1 -1
  310. package/es/shared/Eufemia.js +2 -2
  311. package/es/shared/Eufemia.js.map +1 -1
  312. package/es/style/core/scopes.scss +1 -1
  313. package/es/style/dnb-ui-basis.css +1 -1
  314. package/es/style/dnb-ui-basis.min.css +1 -1
  315. package/es/style/dnb-ui-body.css +1 -1
  316. package/es/style/dnb-ui-body.min.css +1 -1
  317. package/es/style/dnb-ui-components.css +15 -6
  318. package/es/style/dnb-ui-components.min.css +1 -1
  319. package/es/style/dnb-ui-core.css +1 -1
  320. package/es/style/dnb-ui-core.min.css +1 -1
  321. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  322. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  323. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  324. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  325. package/es/style/themes/theme-ui/ui-theme-components.css +15 -6
  326. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  327. package/esm/dnb-ui-basis.min.mjs +1 -1
  328. package/esm/dnb-ui-components.min.mjs +1 -1
  329. package/esm/dnb-ui-elements.min.mjs +1 -1
  330. package/esm/dnb-ui-extensions.min.mjs +5 -5
  331. package/esm/dnb-ui-lib.min.mjs +1 -1
  332. package/extensions/forms/DataContext/Provider/Provider.js +1 -1
  333. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  334. package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  335. package/extensions/forms/Form/Visibility/Visibility.js +20 -71
  336. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  337. package/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  338. package/extensions/forms/Form/Visibility/useVisibility.js +95 -0
  339. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  340. package/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  341. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  342. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  343. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  344. package/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  345. package/extensions/forms/Wizard/Step/Step.js +6 -2
  346. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  347. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  348. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  349. package/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  350. package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  351. package/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  352. package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  353. package/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  354. package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  355. package/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  356. package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  357. package/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  358. package/extensions/forms/constants/locales/en-GB.js +7 -9
  359. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  360. package/extensions/forms/constants/locales/en-US.d.ts +7 -9
  361. package/extensions/forms/constants/locales/index.d.ts +14 -18
  362. package/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  363. package/extensions/forms/constants/locales/nb-NO.js +7 -9
  364. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  365. package/package.json +1 -1
  366. package/shared/Context.d.ts +4 -0
  367. package/shared/Context.js.map +1 -1
  368. package/shared/Eufemia.d.ts +1 -1
  369. package/shared/Eufemia.js +2 -2
  370. package/shared/Eufemia.js.map +1 -1
  371. package/style/core/scopes.scss +1 -1
  372. package/style/dnb-ui-basis.css +1 -1
  373. package/style/dnb-ui-basis.min.css +1 -1
  374. package/style/dnb-ui-body.css +1 -1
  375. package/style/dnb-ui-body.min.css +1 -1
  376. package/style/dnb-ui-components.css +15 -6
  377. package/style/dnb-ui-components.min.css +1 -1
  378. package/style/dnb-ui-core.css +1 -1
  379. package/style/dnb-ui-core.min.css +1 -1
  380. package/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  381. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  382. package/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  383. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  384. package/style/themes/theme-ui/ui-theme-components.css +15 -6
  385. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  386. package/umd/dnb-ui-basis.min.js +1 -1
  387. package/umd/dnb-ui-components.min.js +1 -1
  388. package/umd/dnb-ui-elements.min.js +1 -1
  389. package/umd/dnb-ui-extensions.min.js +5 -5
  390. package/umd/dnb-ui-lib.min.js +1 -1
  391. package/cjs/components/table/TableAccordion.d.ts +0 -8
  392. package/cjs/components/table/TableAccordion.js.map +0 -1
  393. package/cjs/components/table/TableAccordionTd.d.ts +0 -9
  394. package/cjs/components/table/TableAccordionTd.js.map +0 -1
  395. package/cjs/components/table/TableAccordionTr.d.ts +0 -13
  396. package/cjs/components/table/TableAccordionTr.js +0 -61
  397. package/cjs/components/table/TableAccordionTr.js.map +0 -1
  398. package/cjs/components/table/useTableAnimationHandler.js.map +0 -1
  399. package/components/table/TableAccordion.d.ts +0 -8
  400. package/components/table/TableAccordion.js.map +0 -1
  401. package/components/table/TableAccordionTd.d.ts +0 -9
  402. package/components/table/TableAccordionTd.js +0 -61
  403. package/components/table/TableAccordionTd.js.map +0 -1
  404. package/components/table/TableAccordionTr.d.ts +0 -13
  405. package/components/table/TableAccordionTr.js +0 -51
  406. package/components/table/TableAccordionTr.js.map +0 -1
  407. package/components/table/useTableAnimationHandler.js.map +0 -1
  408. package/es/components/table/TableAccordion.d.ts +0 -8
  409. package/es/components/table/TableAccordion.js.map +0 -1
  410. package/es/components/table/TableAccordionTd.d.ts +0 -9
  411. package/es/components/table/TableAccordionTd.js +0 -61
  412. package/es/components/table/TableAccordionTd.js.map +0 -1
  413. package/es/components/table/TableAccordionTr.d.ts +0 -13
  414. package/es/components/table/TableAccordionTr.js +0 -51
  415. package/es/components/table/TableAccordionTr.js.map +0 -1
  416. package/es/components/table/useTableAnimationHandler.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVisibility.js","names":["useCallback","useContext","useRef","pointer","DataContext","SectionContext","useVisibility","props","filterDataHandler","data","originalData","sectionContext","sectionPath","path","composePath","propsRef","current","check","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","hasPath","has","_visibleWhen","_visibleWhen2","value","get","withValue","result","Object","prototype","hasOwnProperty","call","getValue","Boolean"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/useVisibility.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from 'json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport SectionContext from '../Section/SectionContext'\nimport { Path } from '../../types'\nimport { Props } from './Visibility'\n\nexport type { Props }\n\nexport default function useVisibility(props?: Partial<Props>) {\n const { filterDataHandler, data: originalData } = useContext(DataContext)\n const sectionContext = useContext(SectionContext)\n\n const sectionPath = sectionContext?.path\n const composePath = useCallback(\n (path: Path) => {\n return `${\n sectionPath && sectionPath !== '/' ? sectionPath : ''\n }${path}`\n },\n [sectionPath]\n )\n\n // Forward props to the \"check\" method with ref to avoid infinite loop\n const propsRef = useRef(props)\n propsRef.current = props\n\n const check = useCallback(\n (\n {\n visible,\n visibleWhen,\n visibleWhenNot,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n filterData,\n }: Partial<Props> = propsRef.current\n ) => {\n if (visible === false) {\n return false\n }\n\n const data =\n (filterData && filterDataHandler?.(originalData, filterData)) ||\n originalData\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n const hasPath = pointer.has(data, composePath(visibleWhen.path))\n if (hasPath) {\n const value = pointer.get(data, composePath(visibleWhen.path))\n\n const withValue = visibleWhen?.['withValue']\n const result =\n (withValue && withValue?.(value) === false) ||\n (Object.prototype.hasOwnProperty.call(\n visibleWhen,\n 'hasValue'\n ) &&\n visibleWhen?.['hasValue'] !== value)\n\n if (visibleWhenNot) {\n if (!result) {\n return false\n }\n } else if (result) {\n return false\n }\n } else {\n return false\n }\n }\n\n if (pathDefined && !pointer.has(data, composePath(pathDefined))) {\n return false\n }\n if (pathUndefined && pointer.has(data, composePath(pathUndefined))) {\n return false\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathTrue && getValue(composePath(pathTrue)) !== true) {\n return false\n }\n if (pathFalse && getValue(composePath(pathFalse)) !== false) {\n return false\n }\n if (\n pathTruthy &&\n Boolean(getValue(composePath(pathTruthy))) === false\n ) {\n return false\n }\n if (\n pathFalsy &&\n Boolean(getValue(composePath(pathFalsy))) === true\n ) {\n return false\n }\n if (inferData && !inferData(data)) {\n return false\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(composePath(pathValue)) !== whenValue) {\n return false\n }\n\n return true\n },\n [composePath, filterDataHandler, originalData]\n )\n\n return { check }\n}\n"],"mappings":"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"}
@@ -19,6 +19,7 @@ import DataContext, { defaultContextState } from '../../DataContext/Context';
19
19
  import Handler from '../../Form/Handler/Handler';
20
20
  import { useSharedState } from '../../../../shared/helpers/useSharedState';
21
21
  import useHandleLayoutEffect from './useHandleLayoutEffect';
22
+ import useVisibility from '../../Form/Visibility/useVisibility';
22
23
  const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
23
24
  function WizardContainer(props) {
24
25
  const {
@@ -139,6 +140,9 @@ function WizardContainer(props) {
139
140
  const titlesRef = useRef({});
140
141
  const updateTitlesRef = useRef();
141
142
  const prerenderFieldPropsRef = useRef({});
143
+ const {
144
+ check
145
+ } = useVisibility();
142
146
  const activeIndex = activeIndexRef.current;
143
147
  const providerValue = useMemo(() => {
144
148
  return {
@@ -150,12 +154,13 @@ function WizardContainer(props) {
150
154
  activeIndexRef,
151
155
  prerenderFieldProps,
152
156
  prerenderFieldPropsRef,
157
+ check,
153
158
  setActiveIndex,
154
159
  handlePrevious,
155
160
  handleNext,
156
161
  setFormError
157
162
  };
158
- }, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, setActiveIndex, setFormError]);
163
+ }, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, check, setActiveIndex, setFormError]);
159
164
  useLayoutEffect(() => {
160
165
  if (id && hasContext) {
161
166
  var _sharedStateRef$curre4, _sharedStateRef$curre5;
@@ -226,6 +231,7 @@ function IterateOverSteps(_ref4) {
226
231
  children
227
232
  } = _ref4;
228
233
  const {
234
+ check,
229
235
  titlesRef,
230
236
  activeIndexRef,
231
237
  prerenderFieldProps,
@@ -233,7 +239,6 @@ function IterateOverSteps(_ref4) {
233
239
  } = useContext(WizardContext);
234
240
  titlesRef.current = {};
235
241
  let incrementIndex = -1;
236
- let decrementIndex = -1;
237
242
  const childrenArray = React.Children.map(children, child => {
238
243
  if (React.isValidElement(child)) {
239
244
  var _child, _child2;
@@ -249,12 +254,13 @@ function IterateOverSteps(_ref4) {
249
254
  if (child.props.active === false) {
250
255
  return null;
251
256
  }
252
- if (child.props.active === false) {
253
- decrementIndex--;
254
- } else {
255
- incrementIndex++;
257
+ if (child.props.activeWhen && !check({
258
+ visibleWhen: child.props.activeWhen
259
+ })) {
260
+ return null;
256
261
  }
257
- const index = child.props.active === false ? decrementIndex : incrementIndex;
262
+ incrementIndex++;
263
+ const index = incrementIndex;
258
264
  titlesRef.current[index] = child.props.title !== undefined ? convertJsxToString(child.props.title) : 'Title missing';
259
265
  const key = `${index}-${activeIndexRef.current}`;
260
266
  const clone = props => React.cloneElement(child, props);
@@ -273,9 +279,9 @@ function IterateOverSteps(_ref4) {
273
279
  }
274
280
  return child;
275
281
  });
276
- if (childrenArray.length === 0) {
282
+ if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) === 0) {
277
283
  activeIndexRef.current = 0;
278
- } else if (childrenArray.length < activeIndexRef.current + 1) {
284
+ } else if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) < activeIndexRef.current + 1) {
279
285
  activeIndexRef.current = childrenArray.length - 1;
280
286
  }
281
287
  return childrenArray;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","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","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","updateTitlesRef","prerenderFieldPropsRef","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref3","sidebar_id","Sidebar","bottom","Object","values","no_animation","on_change","_ref4","incrementIndex","decrementIndex","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","active","title","key","clone","cloneElement","document","length","_ref5","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref6","createPortal","body","_ref7","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 {\n convertJsxToString,\n warn,\n} 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 } = 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 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 updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n titlesRef,\n updateTitlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n setActiveIndex,\n setFormError,\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 useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [titlesRef.current])\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 <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, titlesRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(titlesRef.current)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = {}\n let incrementIndex = -1\n let decrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\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 if (child.props.active === false) {\n return null\n }\n\n if (child.props.active === false) {\n decrementIndex--\n } else {\n incrementIndex++\n }\n const index =\n child.props.active === false ? decrementIndex : incrementIndex\n\n titlesRef.current[index] =\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : '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 // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n return childrenArray\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":"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"}
1
+ {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useVisibility","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","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","updateTitlesRef","prerenderFieldPropsRef","check","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref3","sidebar_id","Sidebar","bottom","Object","values","no_animation","on_change","_ref4","incrementIndex","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","title","key","clone","cloneElement","document","length","_ref5","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref6","createPortal","body","_ref7","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 {\n convertJsxToString,\n warn,\n} 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'\nimport useVisibility from '../../Form/Visibility/useVisibility'\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 } = 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 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 updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n titlesRef,\n updateTitlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\n setFormError,\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 useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [titlesRef.current])\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 <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, titlesRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(titlesRef.current)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\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 if (child.props.active === false) {\n return null\n }\n\n if (\n child.props.activeWhen &&\n !check({ visibleWhen: child.props.activeWhen })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n titlesRef.current[index] =\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : '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 // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n return childrenArray\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":"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"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { EventReturnWithStateObject } from '../../types';
3
+ import { VisibleWhen } from '../../Form/Visibility';
3
4
  export type OnStepChange = (index: StepIndex, mode: 'previous' | 'next') => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
4
5
  export type StepIndex = number;
5
6
  export type SetActiveIndexOptions = {
@@ -22,6 +23,9 @@ export interface WizardContextState {
22
23
  handleNext?: () => void;
23
24
  setActiveIndex?: (index: StepIndex, { skipStepChangeCall, skipStepChangeCallBeforeMounted, skipStepChangeCallFromHook, }?: SetActiveIndexOptions) => void;
24
25
  setFormError?: (error: Error) => void;
26
+ check?: ({ visibleWhen }: {
27
+ visibleWhen: VisibleWhen;
28
+ }) => boolean;
25
29
  }
26
30
  declare const WizardContext: React.Context<WizardContextState>;
27
31
  export default WizardContext;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Record<string, string>>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA2CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
1
+ {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Record<string, string>>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA6CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ComponentProps } from '../../types';
3
3
  import { Props as FlexContainerProps } from '../../../../components/flex/Container';
4
+ import type { VisibleWhen } from '../../Form/Visibility';
4
5
  export type Props = ComponentProps & FlexContainerProps & {
5
6
  /**
6
7
  * A title that will be displayed in the indicator.
@@ -19,6 +20,10 @@ export type Props = ComponentProps & FlexContainerProps & {
19
20
  * If set to `false`, the step will not be rendered.
20
21
  */
21
22
  active?: boolean;
23
+ /**
24
+ * Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.
25
+ */
26
+ activeWhen?: VisibleWhen;
22
27
  /**
23
28
  * If set to `true`, the step will always be rendered.
24
29
  * For internal use only.
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["className", "title", "index", "active", "required", "prerenderFieldProps", "children"];
5
+ const _excluded = ["className", "title", "index", "active", "activeWhen", "required", "prerenderFieldProps", "children"];
6
6
  import React, { useContext, useMemo, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import WizardContext from '../Context/WizardContext';
@@ -16,12 +16,14 @@ function Step(props) {
16
16
  title,
17
17
  index,
18
18
  active = true,
19
+ activeWhen,
19
20
  required,
20
21
  prerenderFieldProps,
21
22
  children
22
23
  } = props,
23
24
  restProps = _objectWithoutProperties(props, _excluded);
24
25
  const {
26
+ check,
25
27
  activeIndex,
26
28
  titlesRef,
27
29
  stepElementRef
@@ -44,7 +46,9 @@ function Step(props) {
44
46
  if (prerenderFieldProps) {
45
47
  return children;
46
48
  }
47
- if (activeIndex !== index || active === false) {
49
+ if (activeIndex !== index || active === false || activeWhen && !check({
50
+ visibleWhen: activeWhen
51
+ })) {
48
52
  return React.createElement(React.Fragment, null);
49
53
  }
50
54
  const fieldProps = typeof required === 'boolean' ? {
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","active","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","activeIndex","titlesRef","stepElementRef","ariaLabel","_ref","_titlesRef$current","current","currentElementRef","createElement","Fragment","fieldProps","undefined","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\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 FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n active?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n active = true,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { activeIndex, titlesRef, stepElementRef } =\n useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps && titlesRef?.current?.[index]) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, titlesRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (activeIndex !== index || active === false) {\n // Another step is active\n return <></>\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProps {...fieldProps}>{children}</FieldProps>\n ) : (\n children\n )}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,UAAU,MAAM,uBAAuB;AAG9C,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGV,KAAK,CAACW,SAAS,GAAGX,KAAK,CAACS,eAAe;AAgCzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,KAAK;MACLC,MAAM,GAAG,IAAI;MACbC,QAAQ;MACRC,mBAAmB;MACnBC;IAEF,CAAC,GAAGP,KAAK;IADJQ,SAAS,GAAAC,wBAAA,CACVT,KAAK,EAAAU,SAAA;EACT,MAAM;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAAe,CAAC,GAC9CzB,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEjC,MAAMsB,SAAS,GAAGzB,OAAO,CAAC,MAAM;IAAA,IAAA0B,IAAA,EAAAC,kBAAA;IAC9B,QAAAD,IAAA,GACG,CAACT,mBAAmB,KAAIM,SAAS,aAATA,SAAS,wBAAAI,kBAAA,GAATJ,SAAS,CAAEK,OAAO,cAAAD,kBAAA,uBAAlBA,kBAAA,CAAqBb,KAAK,CAAC,eAAAY,IAAA,cAAAA,IAAA,GACpDrB,kBAAkB,CAACQ,KAAK,CAAC;EAE7B,CAAC,EAAE,CAACC,KAAK,EAAEG,mBAAmB,EAAEJ,KAAK,EAAEU,SAAS,CAAC,CAAC;EAElD,MAAMM,iBAAiB,GAAG5B,MAAM,CAAc,CAAC;EAC/CM,eAAe,CAAC,MAAM;IACpB,IAAI,CAACU,mBAAmB,IAAI,OAAOO,cAAc,KAAK,WAAW,EAAE;MACjE,IAAIK,iBAAiB,CAACD,OAAO,EAAE;QAC7BJ,cAAc,CAACI,OAAO,GAAGC,iBAAiB,CAACD,OAAO;MACpD;MACA,OAAO,MAAM;QACXJ,cAAc,CAACI,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACX,mBAAmB,EAAEO,cAAc,CAAC,CAAC;EAEzC,IAAIP,mBAAmB,EAAE;IACvB,OAAOC,QAAQ;EACjB;EAEA,IAAII,WAAW,KAAKR,KAAK,IAAIC,MAAM,KAAK,KAAK,EAAE;IAE7C,OAAOjB,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAiC,QAAA,MAAI,CAAC;EACd;EAEA,MAAMC,UAAU,GACd,OAAOhB,QAAQ,KAAK,SAAS,GAAG;IAAEA;EAAS,CAAC,GAAGiB,SAAS;EAE1D,OACEnC,KAAA,CAAAgC,aAAA,CAAC1B,IAAI,CAAC8B,KAAK,EAAAC,QAAA;IACTvB,SAAS,EAAEV,UAAU,CAAC,gBAAgB,EAAEU,SAAS,CAAE;IACnDwB,OAAO,EAAC,SAAS;IACjB,cAAYX,SAAU;IACtBY,QAAQ,EAAER,iBAAkB;IAC5BS,QAAQ,EAAE,CAAC;EAAE,GACTnB,SAAS,GAEZa,UAAU,GACTlC,KAAA,CAAAgC,aAAA,CAACxB,UAAU,EAAK0B,UAAU,EAAGd,QAAqB,CAAC,GAEnDA,QAEQ,CAAC;AAEjB;AAEAR,IAAI,CAAC6B,qBAAqB,GAAG,IAAI;AACjC,eAAe7B,IAAI"}
1
+ {"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","active","activeWhen","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","check","activeIndex","titlesRef","stepElementRef","ariaLabel","_ref","_titlesRef$current","current","currentElementRef","visibleWhen","createElement","Fragment","fieldProps","undefined","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\nimport type { VisibleWhen } from '../../Form/Visibility'\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 FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n active?: boolean\n\n /**\n * Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.\n */\n activeWhen?: VisibleWhen\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n active = true,\n activeWhen,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { check, activeIndex, titlesRef, stepElementRef } =\n useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps && titlesRef?.current?.[index]) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, titlesRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (\n activeIndex !== index ||\n active === false ||\n (activeWhen && !check({ visibleWhen: activeWhen }))\n ) {\n // Another step is active\n return <></>\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProps {...fieldProps}>{children}</FieldProps>\n ) : (\n children\n )}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,UAAU,MAAM,uBAAuB;AAI9C,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGV,KAAK,CAACW,SAAS,GAAGX,KAAK,CAACS,eAAe;AAqCzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,KAAK;MACLC,MAAM,GAAG,IAAI;MACbC,UAAU;MACVC,QAAQ;MACRC,mBAAmB;MACnBC;IAEF,CAAC,GAAGR,KAAK;IADJS,SAAS,GAAAC,wBAAA,CACVV,KAAK,EAAAW,SAAA;EACT,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAAe,CAAC,GACrD3B,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEjC,MAAMwB,SAAS,GAAG3B,OAAO,CAAC,MAAM;IAAA,IAAA4B,IAAA,EAAAC,kBAAA;IAC9B,QAAAD,IAAA,GACG,CAACV,mBAAmB,KAAIO,SAAS,aAATA,SAAS,wBAAAI,kBAAA,GAATJ,SAAS,CAAEK,OAAO,cAAAD,kBAAA,uBAAlBA,kBAAA,CAAqBf,KAAK,CAAC,eAAAc,IAAA,cAAAA,IAAA,GACpDvB,kBAAkB,CAACQ,KAAK,CAAC;EAE7B,CAAC,EAAE,CAACC,KAAK,EAAEI,mBAAmB,EAAEL,KAAK,EAAEY,SAAS,CAAC,CAAC;EAElD,MAAMM,iBAAiB,GAAG9B,MAAM,CAAc,CAAC;EAC/CM,eAAe,CAAC,MAAM;IACpB,IAAI,CAACW,mBAAmB,IAAI,OAAOQ,cAAc,KAAK,WAAW,EAAE;MACjE,IAAIK,iBAAiB,CAACD,OAAO,EAAE;QAC7BJ,cAAc,CAACI,OAAO,GAAGC,iBAAiB,CAACD,OAAO;MACpD;MACA,OAAO,MAAM;QACXJ,cAAc,CAACI,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACZ,mBAAmB,EAAEQ,cAAc,CAAC,CAAC;EAEzC,IAAIR,mBAAmB,EAAE;IACvB,OAAOC,QAAQ;EACjB;EAEA,IACEK,WAAW,KAAKV,KAAK,IACrBC,MAAM,KAAK,KAAK,IACfC,UAAU,IAAI,CAACO,KAAK,CAAC;IAAES,WAAW,EAAEhB;EAAW,CAAC,CAAE,EACnD;IAEA,OAAOlB,KAAA,CAAAmC,aAAA,CAAAnC,KAAA,CAAAoC,QAAA,MAAI,CAAC;EACd;EAEA,MAAMC,UAAU,GACd,OAAOlB,QAAQ,KAAK,SAAS,GAAG;IAAEA;EAAS,CAAC,GAAGmB,SAAS;EAE1D,OACEtC,KAAA,CAAAmC,aAAA,CAAC7B,IAAI,CAACiC,KAAK,EAAAC,QAAA;IACT1B,SAAS,EAAEV,UAAU,CAAC,gBAAgB,EAAEU,SAAS,CAAE;IACnD2B,OAAO,EAAC,SAAS;IACjB,cAAYZ,SAAU;IACtBa,QAAQ,EAAET,iBAAkB;IAC5BU,QAAQ,EAAE,CAAC;EAAE,GACTrB,SAAS,GAEZe,UAAU,GACTrC,KAAA,CAAAmC,aAAA,CAAC3B,UAAU,EAAK6B,UAAU,EAAGhB,QAAqB,CAAC,GAEnDA,QAEQ,CAAC;AAEjB;AAEAT,IAAI,CAACgC,qBAAqB,GAAG,IAAI;AACjC,eAAehC,IAAI"}
@@ -14,6 +14,11 @@ export const StepProperties = {
14
14
  type: 'boolean',
15
15
  status: 'optional'
16
16
  },
17
+ activeWhen: {
18
+ doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',
19
+ type: 'object',
20
+ status: 'optional'
21
+ },
17
22
  children: {
18
23
  doc: 'Contents.',
19
24
  type: 'React.Node',
@@ -1 +1 @@
1
- {"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","active","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n active: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMI,UAAgC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","active","activeWhen","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n active: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n activeWhen: {\n doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,UAAU,EAAE;IACVL,GAAG,EAAE,4NAA4N;IACjOC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMK,UAAgC,GAAG,CAAC,CAAC"}
@@ -33,7 +33,7 @@ export default function useNextRouter() {
33
33
  useLayoutEffect(() => {
34
34
  const routerIndex = getIndex();
35
35
  if (!isNaN(routerIndex)) {
36
- setActiveIndex(routerIndex, {
36
+ setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
37
37
  skipStepChangeCallFromHook: true,
38
38
  skipStepChangeCallBeforeMounted: true
39
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useNextRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useNextRouter","id","arguments","length","undefined","useRouter","usePathname","useSearchParams","name","setFormError","router","pathname","searchParams","onStepChange","index","params","URLSearchParams","toString","set","String","push","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useNextRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useNextRouter(\n id: string = null,\n { useRouter, usePathname, useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const params = new URLSearchParams(searchParams.toString())\n params.set(name, String(index))\n router.push(`${pathname}?${params.toString()}`)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, pathname, router, searchParams, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,aAAaA,CAAA,EAGnC;EAAA,IAFAC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACjB;IAAEG,SAAS;IAAEC,WAAW;IAAEC;EAAgB,CAAC,GAAAL,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAE3C,MAAMI,IAAI,GAAGP,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEQ;EAAa,CAAC,GAAGb,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMS,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAMM,YAAY,GAAGL,eAAe,CAAC,CAAC;EAEtC,MAAMM,YAAY,GAAGlB,WAAW,CAC7BmB,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAACJ,YAAY,CAACK,QAAQ,CAAC,CAAC,CAAC;MAC3DF,MAAM,CAACG,GAAG,CAACV,IAAI,EAAEW,MAAM,CAACL,KAAK,CAAC,CAAC;MAC/BJ,MAAM,CAACU,IAAI,CAAE,GAAET,QAAS,IAAGI,MAAM,CAACE,QAAQ,CAAC,CAAE,EAAC,CAAC;IACjD,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdZ,YAAY,CAACY,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAEG,QAAQ,EAAED,MAAM,EAAEE,YAAY,EAAEH,YAAY,CACrD,CAAC;EAED,MAAM;IAAEa;EAAe,CAAC,GAAG1B,OAAO,CAACK,EAAE,EAAE;IAAEY;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAG5B,WAAW,CAC1B,MAAM6B,UAAU,CAACZ,YAAY,CAACa,GAAG,CAACjB,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEI,YAAY,CACrB,CAAC;EAEDf,eAAe,CAAC,MAAM;IACpB,MAAM6B,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,CAACI,WAAW,EAAE;QAC1BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEtB,EAAE,EAAEW,YAAY,EAAEU,cAAc,EAAEb,YAAY,CAAC,CAAC;EAE9D,OAAO;IAAEc;EAAS,CAAC;AACrB"}
1
+ {"version":3,"file":"useNextRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useNextRouter","id","arguments","length","undefined","useRouter","usePathname","useSearchParams","name","setFormError","router","pathname","searchParams","onStepChange","index","params","URLSearchParams","toString","set","String","push","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useNextRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useNextRouter(\n id: string = null,\n { useRouter, usePathname, useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const params = new URLSearchParams(searchParams.toString())\n params.set(name, String(index))\n router.push(`${pathname}?${params.toString()}`)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, pathname, router, searchParams, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,aAAaA,CAAA,EAGnC;EAAA,IAFAC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACjB;IAAEG,SAAS;IAAEC,WAAW;IAAEC;EAAgB,CAAC,GAAAL,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAE3C,MAAMI,IAAI,GAAGP,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEQ;EAAa,CAAC,GAAGb,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMS,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAMM,YAAY,GAAGL,eAAe,CAAC,CAAC;EAEtC,MAAMM,YAAY,GAAGlB,WAAW,CAC7BmB,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAACJ,YAAY,CAACK,QAAQ,CAAC,CAAC,CAAC;MAC3DF,MAAM,CAACG,GAAG,CAACV,IAAI,EAAEW,MAAM,CAACL,KAAK,CAAC,CAAC;MAC/BJ,MAAM,CAACU,IAAI,CAAE,GAAET,QAAS,IAAGI,MAAM,CAACE,QAAQ,CAAC,CAAE,EAAC,CAAC;IACjD,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdZ,YAAY,CAACY,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAEG,QAAQ,EAAED,MAAM,EAAEE,YAAY,EAAEH,YAAY,CACrD,CAAC;EAED,MAAM;IAAEa;EAAe,CAAC,GAAG1B,OAAO,CAACK,EAAE,EAAE;IAAEY;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAG5B,WAAW,CAC1B,MAAM6B,UAAU,CAACZ,YAAY,CAACa,GAAG,CAACjB,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEI,YAAY,CACrB,CAAC;EAEDf,eAAe,CAAC,MAAM;IACpB,MAAM6B,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGI,WAAW,EAAE;QAC5BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEtB,EAAE,EAAEW,YAAY,EAAEU,cAAc,EAAEb,YAAY,CAAC,CAAC;EAE9D,OAAO;IAAEc;EAAS,CAAC;AACrB"}
@@ -34,7 +34,7 @@ export default function useQueryLocator() {
34
34
  const popstateListener = () => {
35
35
  const routerIndex = getIndex();
36
36
  if (!isNaN(routerIndex)) {
37
- setActiveIndex(routerIndex, {
37
+ setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
38
38
  skipStepChangeCallFromHook: true,
39
39
  skipStepChangeCallBeforeMounted: true
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryLocator.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useQueryLocator","id","arguments","length","undefined","setFormError","name","onStepChange","index","url","URL","location","href","searchParams","set","String","history","pushState","toString","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","popstateListener","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted","addEventListener","removeEventListener"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useQueryLocator.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useQueryLocator(id: string = undefined) {\n const { setFormError } = useStep(id)\n const name = id ? `${id}-step` : 'step'\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(window.location.href)\n url.searchParams.set(name, String(index))\n window.history.pushState({}, '', url.toString())\n } catch (error) {\n setFormError(error)\n }\n },\n [name, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(window.location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [name, setFormError])\n\n useLayoutEffect(() => {\n try {\n const popstateListener = () => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }\n\n // Initial setup call\n popstateListener()\n\n window.addEventListener('popstate', popstateListener)\n return () => window.removeEventListener('popstate', popstateListener)\n } catch (error) {\n setFormError(error)\n }\n }, [getIndex, id, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,eAAeA,CAAA,EAAyB;EAAA,IAAxBC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAC5D,MAAM;IAAEC;EAAa,CAAC,GAAGT,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMK,IAAI,GAAGL,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EAEvC,MAAMM,YAAY,GAAGZ,WAAW,CAC7Ba,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACZ,MAAM,CAACa,QAAQ,CAACC,IAAI,CAAC;MACzCH,GAAG,CAACI,YAAY,CAACC,GAAG,CAACR,IAAI,EAAES,MAAM,CAACP,KAAK,CAAC,CAAC;MACzCV,MAAM,CAACkB,OAAO,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAER,GAAG,CAACS,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAED,YAAY,CACrB,CAAC;EAED,MAAM;IAAEe;EAAe,CAAC,GAAGxB,OAAO,CAACK,EAAE,EAAE;IAAEM;EAAa,CAAC,CAAC;EAExD,MAAMc,QAAQ,GAAG1B,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMkB,YAAY,GAAG,IAAIS,eAAe,CAACxB,MAAM,CAACa,QAAQ,CAACY,MAAM,CAAC;MAChE,OAAOC,UAAU,CAACX,YAAY,CAACY,GAAG,CAACnB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOa,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACb,IAAI,EAAED,YAAY,CAAC,CAAC;EAExBR,eAAe,CAAC,MAAM;IACpB,IAAI;MACF,MAAM6B,gBAAgB,GAAGA,CAAA,KAAM;QAC7B,MAAMC,WAAW,GAAGN,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAACO,KAAK,CAACD,WAAW,CAAC,EAAE;UACvBP,cAAc,CAACO,WAAW,EAAE;YAC1BE,0BAA0B,EAAE,IAAI;YAChCC,+BAA+B,EAAE;UACnC,CAAC,CAAC;QACJ;MACF,CAAC;MAGDJ,gBAAgB,CAAC,CAAC;MAElB5B,MAAM,CAACiC,gBAAgB,CAAC,UAAU,EAAEL,gBAAgB,CAAC;MACrD,OAAO,MAAM5B,MAAM,CAACkC,mBAAmB,CAAC,UAAU,EAAEN,gBAAgB,CAAC;IACvE,CAAC,CAAC,OAAOP,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACE,QAAQ,EAAEpB,EAAE,EAAEmB,cAAc,EAAEf,YAAY,CAAC,CAAC;EAEhD,OAAO;IAAEgB;EAAS,CAAC;AACrB"}
1
+ {"version":3,"file":"useQueryLocator.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useQueryLocator","id","arguments","length","undefined","setFormError","name","onStepChange","index","url","URL","location","href","searchParams","set","String","history","pushState","toString","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","popstateListener","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted","addEventListener","removeEventListener"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useQueryLocator.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useQueryLocator(id: string = undefined) {\n const { setFormError } = useStep(id)\n const name = id ? `${id}-step` : 'step'\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(window.location.href)\n url.searchParams.set(name, String(index))\n window.history.pushState({}, '', url.toString())\n } catch (error) {\n setFormError(error)\n }\n },\n [name, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(window.location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [name, setFormError])\n\n useLayoutEffect(() => {\n try {\n const popstateListener = () => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }\n\n // Initial setup call\n popstateListener()\n\n window.addEventListener('popstate', popstateListener)\n return () => window.removeEventListener('popstate', popstateListener)\n } catch (error) {\n setFormError(error)\n }\n }, [getIndex, id, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,eAAeA,CAAA,EAAyB;EAAA,IAAxBC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAC5D,MAAM;IAAEC;EAAa,CAAC,GAAGT,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMK,IAAI,GAAGL,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EAEvC,MAAMM,YAAY,GAAGZ,WAAW,CAC7Ba,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACZ,MAAM,CAACa,QAAQ,CAACC,IAAI,CAAC;MACzCH,GAAG,CAACI,YAAY,CAACC,GAAG,CAACR,IAAI,EAAES,MAAM,CAACP,KAAK,CAAC,CAAC;MACzCV,MAAM,CAACkB,OAAO,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAER,GAAG,CAACS,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAED,YAAY,CACrB,CAAC;EAED,MAAM;IAAEe;EAAe,CAAC,GAAGxB,OAAO,CAACK,EAAE,EAAE;IAAEM;EAAa,CAAC,CAAC;EAExD,MAAMc,QAAQ,GAAG1B,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMkB,YAAY,GAAG,IAAIS,eAAe,CAACxB,MAAM,CAACa,QAAQ,CAACY,MAAM,CAAC;MAChE,OAAOC,UAAU,CAACX,YAAY,CAACY,GAAG,CAACnB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOa,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACb,IAAI,EAAED,YAAY,CAAC,CAAC;EAExBR,eAAe,CAAC,MAAM;IACpB,IAAI;MACF,MAAM6B,gBAAgB,GAAGA,CAAA,KAAM;QAC7B,MAAMC,WAAW,GAAGN,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAACO,KAAK,CAACD,WAAW,CAAC,EAAE;UACvBP,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGO,WAAW,EAAE;YAC5BE,0BAA0B,EAAE,IAAI;YAChCC,+BAA+B,EAAE;UACnC,CAAC,CAAC;QACJ;MACF,CAAC;MAGDJ,gBAAgB,CAAC,CAAC;MAElB5B,MAAM,CAACiC,gBAAgB,CAAC,UAAU,EAAEL,gBAAgB,CAAC;MACrD,OAAO,MAAM5B,MAAM,CAACkC,mBAAmB,CAAC,UAAU,EAAEN,gBAAgB,CAAC;IACvE,CAAC,CAAC,OAAOP,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACE,QAAQ,EAAEpB,EAAE,EAAEmB,cAAc,EAAEf,YAAY,CAAC,CAAC;EAEhD,OAAO;IAAEgB;EAAS,CAAC;AACrB"}
@@ -37,7 +37,7 @@ export default function useReachRouter() {
37
37
  useLayoutEffect(() => {
38
38
  const routerIndex = getIndex();
39
39
  if (!isNaN(routerIndex)) {
40
- setActiveIndex(routerIndex, {
40
+ setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
41
41
  skipStepChangeCallFromHook: true,
42
42
  skipStepChangeCallBeforeMounted: true
43
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useReachRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReachRouter","id","arguments","length","undefined","useLocation","navigate","name","setFormError","location","onStepChange","index","url","URL","href","searchParams","set","String","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReachRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReachRouter(\n id: string = null,\n { useLocation, navigate }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const location = useLocation()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(location.href)\n url.searchParams.set(name, String(index))\n navigate(url.href)\n } catch (error) {\n setFormError(error)\n }\n },\n [location.href, name, navigate, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [location.search, name, setFormError])\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, setActiveIndex])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CAAA,EAGpC;EAAA,IAFAC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACjB;IAAEG,WAAW;IAAEC;EAAS,CAAC,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEzB,MAAMG,IAAI,GAAGN,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEO;EAAa,CAAC,GAAGZ,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMQ,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAE9B,MAAMK,YAAY,GAAGf,WAAW,CAC7BgB,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACJ,QAAQ,CAACK,IAAI,CAAC;MAClCF,GAAG,CAACG,YAAY,CAACC,GAAG,CAACT,IAAI,EAAEU,MAAM,CAACN,KAAK,CAAC,CAAC;MACzCL,QAAQ,CAACM,GAAG,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACT,QAAQ,CAACK,IAAI,EAAEP,IAAI,EAAED,QAAQ,EAAEE,YAAY,CAC9C,CAAC;EAED,MAAM;IAAEW;EAAe,CAAC,GAAGvB,OAAO,CAACK,EAAE,EAAE;IAAES;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAGzB,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMoB,YAAY,GAAG,IAAIM,eAAe,CAACZ,QAAQ,CAACa,MAAM,CAAC;MACzD,OAAOC,UAAU,CAACR,YAAY,CAACS,GAAG,CAACjB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOW,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACT,QAAQ,CAACa,MAAM,EAAEf,IAAI,EAAEC,YAAY,CAAC,CAAC;EAEzCX,eAAe,CAAC,MAAM;IACpB,MAAM4B,WAAW,GAAGL,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACM,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBN,cAAc,CAACM,WAAW,EAAE;QAC1BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACR,QAAQ,EAAED,cAAc,CAAC,CAAC;EAE9B,OAAO;IAAEC;EAAS,CAAC;AACrB"}
1
+ {"version":3,"file":"useReachRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReachRouter","id","arguments","length","undefined","useLocation","navigate","name","setFormError","location","onStepChange","index","url","URL","href","searchParams","set","String","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReachRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReachRouter(\n id: string = null,\n { useLocation, navigate }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const location = useLocation()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(location.href)\n url.searchParams.set(name, String(index))\n navigate(url.href)\n } catch (error) {\n setFormError(error)\n }\n },\n [location.href, name, navigate, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [location.search, name, setFormError])\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, setActiveIndex])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CAAA,EAGpC;EAAA,IAFAC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACjB;IAAEG,WAAW;IAAEC;EAAS,CAAC,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEzB,MAAMG,IAAI,GAAGN,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEO;EAAa,CAAC,GAAGZ,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMQ,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAE9B,MAAMK,YAAY,GAAGf,WAAW,CAC7BgB,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACJ,QAAQ,CAACK,IAAI,CAAC;MAClCF,GAAG,CAACG,YAAY,CAACC,GAAG,CAACT,IAAI,EAAEU,MAAM,CAACN,KAAK,CAAC,CAAC;MACzCL,QAAQ,CAACM,GAAG,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACT,QAAQ,CAACK,IAAI,EAAEP,IAAI,EAAED,QAAQ,EAAEE,YAAY,CAC9C,CAAC;EAED,MAAM;IAAEW;EAAe,CAAC,GAAGvB,OAAO,CAACK,EAAE,EAAE;IAAES;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAGzB,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMoB,YAAY,GAAG,IAAIM,eAAe,CAACZ,QAAQ,CAACa,MAAM,CAAC;MACzD,OAAOC,UAAU,CAACR,YAAY,CAACS,GAAG,CAACjB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOW,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACT,QAAQ,CAACa,MAAM,EAAEf,IAAI,EAAEC,YAAY,CAAC,CAAC;EAEzCX,eAAe,CAAC,MAAM;IACpB,MAAM4B,WAAW,GAAGL,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACM,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBN,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGM,WAAW,EAAE;QAC5BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACR,QAAQ,EAAED,cAAc,CAAC,CAAC;EAE9B,OAAO;IAAEC;EAAS,CAAC;AACrB"}
@@ -28,7 +28,7 @@ export default function useReactRouter() {
28
28
  useLayoutEffect(() => {
29
29
  const routerIndex = getIndex();
30
30
  if (!isNaN(routerIndex)) {
31
- setActiveIndex(routerIndex, {
31
+ setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
32
32
  skipStepChangeCallFromHook: true,
33
33
  skipStepChangeCallBeforeMounted: true
34
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useReactRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReactRouter","id","arguments","length","undefined","useSearchParams","name","setFormError","searchParams","setSearchParams","onStepChange","index","set","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReactRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReactRouter(\n id: string = null,\n { useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const [searchParams, setSearchParams] = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n searchParams.set(name, index)\n setSearchParams(searchParams)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, searchParams, setFormError, setSearchParams]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CAAA,EAGpC;EAAA,IAFAC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACjB;IAAEG;EAAgB,CAAC,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEnB,MAAME,IAAI,GAAGL,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEM;EAAa,CAAC,GAAGX,OAAO,CAACK,EAAE,CAAC;EACpC,MAAM,CAACO,YAAY,EAAEC,eAAe,CAAC,GAAGJ,eAAe,CAAC,CAAC;EAEzD,MAAMK,YAAY,GAAGf,WAAW,CAC7BgB,KAAa,IAAK;IACjB,IAAI;MACFH,YAAY,CAACI,GAAG,CAACN,IAAI,EAAEK,KAAK,CAAC;MAC7BF,eAAe,CAACD,YAAY,CAAC;IAC/B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdN,YAAY,CAACM,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACP,IAAI,EAAEE,YAAY,EAAED,YAAY,EAAEE,eAAe,CACpD,CAAC;EAED,MAAM;IAAEK;EAAe,CAAC,GAAGlB,OAAO,CAACK,EAAE,EAAE;IAAES;EAAa,CAAC,CAAC;EAExD,MAAMK,QAAQ,GAAGpB,WAAW,CAC1B,MAAMqB,UAAU,CAACR,YAAY,CAACS,GAAG,CAACX,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEE,YAAY,CACrB,CAAC;EAEDX,eAAe,CAAC,MAAM;IACpB,MAAMqB,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,CAACI,WAAW,EAAE;QAC1BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEd,EAAE,EAAEO,YAAY,EAAEM,cAAc,EAAEP,YAAY,CAAC,CAAC;EAE9D,OAAO;IAAEQ;EAAS,CAAC;AACrB"}
1
+ {"version":3,"file":"useReactRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReactRouter","id","arguments","length","undefined","useSearchParams","name","setFormError","searchParams","setSearchParams","onStepChange","index","set","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReactRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReactRouter(\n id: string = null,\n { useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const [searchParams, setSearchParams] = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n searchParams.set(name, index)\n setSearchParams(searchParams)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, searchParams, setFormError, setSearchParams]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CAAA,EAGpC;EAAA,IAFAC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACjB;IAAEG;EAAgB,CAAC,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEnB,MAAME,IAAI,GAAGL,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEM;EAAa,CAAC,GAAGX,OAAO,CAACK,EAAE,CAAC;EACpC,MAAM,CAACO,YAAY,EAAEC,eAAe,CAAC,GAAGJ,eAAe,CAAC,CAAC;EAEzD,MAAMK,YAAY,GAAGf,WAAW,CAC7BgB,KAAa,IAAK;IACjB,IAAI;MACFH,YAAY,CAACI,GAAG,CAACN,IAAI,EAAEK,KAAK,CAAC;MAC7BF,eAAe,CAACD,YAAY,CAAC;IAC/B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdN,YAAY,CAACM,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACP,IAAI,EAAEE,YAAY,EAAED,YAAY,EAAEE,eAAe,CACpD,CAAC;EAED,MAAM;IAAEK;EAAe,CAAC,GAAGlB,OAAO,CAACK,EAAE,EAAE;IAAES;EAAa,CAAC,CAAC;EAExD,MAAMK,QAAQ,GAAGpB,WAAW,CAC1B,MAAMqB,UAAU,CAACR,YAAY,CAACS,GAAG,CAACX,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEE,YAAY,CACrB,CAAC;EAEDX,eAAe,CAAC,MAAM;IACpB,MAAMqB,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGI,WAAW,EAAE;QAC5BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEd,EAAE,EAAEO,YAAY,EAAEM,cAAc,EAAEP,YAAY,CAAC,CAAC;EAE9D,OAAO;IAAEQ;EAAS,CAAC;AACrB"}
@@ -3,6 +3,13 @@ declare const _default: {
3
3
  /**
4
4
  * General
5
5
  */
6
+ Field: {
7
+ errorSummaryTitle: string;
8
+ stateSummary: string;
9
+ errorSummary: string;
10
+ errorRequired: string;
11
+ errorPattern: string;
12
+ };
6
13
  SubmitButton: {
7
14
  text: string;
8
15
  sendText: string;
@@ -13,9 +20,6 @@ declare const _default: {
13
20
  edit: string;
14
21
  summaryTitle: string;
15
22
  };
16
- Form: {
17
- errorSummaryTitle: string;
18
- };
19
23
  Section: {
20
24
  remove: string;
21
25
  done: string;
@@ -26,12 +30,6 @@ declare const _default: {
26
30
  /**
27
31
  * Base fields
28
32
  */
29
- Field: {
30
- stateSummary: string;
31
- errorSummary: string;
32
- errorRequired: string;
33
- errorPattern: string;
34
- };
35
33
  StringField: {
36
34
  errorMinLength: string;
37
35
  errorMaxLength: string;
@@ -1,5 +1,12 @@
1
1
  export default {
2
2
  'en-GB': {
3
+ Field: {
4
+ errorSummaryTitle: 'Please correct the following errors',
5
+ stateSummary: 'Summary:',
6
+ errorSummary: 'Please correct the following errors:',
7
+ errorRequired: 'This field is required.',
8
+ errorPattern: 'The value is invalid.'
9
+ },
3
10
  SubmitButton: {
4
11
  text: 'Send',
5
12
  sendText: 'Send'
@@ -10,9 +17,6 @@ export default {
10
17
  edit: 'Edit',
11
18
  summaryTitle: 'Summary'
12
19
  },
13
- Form: {
14
- errorSummaryTitle: 'Please correct the following errors'
15
- },
16
20
  Section: {
17
21
  remove: 'Remove',
18
22
  done: 'Done',
@@ -20,12 +24,6 @@ export default {
20
24
  edit: 'Edit',
21
25
  errorInSection: 'Please correct the errors above'
22
26
  },
23
- Field: {
24
- stateSummary: 'Summary:',
25
- errorSummary: 'Please correct the following errors:',
26
- errorRequired: 'This field is required.',
27
- errorPattern: 'The value is invalid.'
28
- },
29
27
  StringField: {
30
28
  errorMinLength: 'The value can not be shorter than {minLength} characters.',
31
29
  errorMaxLength: 'The value can not be longer than {maxLength} characters.'